DEV Community

flo merian Subscriber for Bucket.co

Posted on • Edited on

7 2 1

Experimenting with Cursor

If you want to build top software, you have to surround yourself with top software to experience it every day.

— Thomas Paul Mann, Co-founder and CEO of Raycast on linear.fm

At Bucket, we're building a modern feature flagging tool for SaaS developers and are always looking for products that can boost productivity and inspire us to build better software. 1

Recently, the team experimented with Cursor, an AI-powered code editor, to replace GitHub Copilot.

Below are some key takeaways.

TLDR

  • Tab completion: Cursor includes a helpful tab completion feature, suggesting refactorings and improvements as you go — huge time saver
  • Chat: The chat/composer is better than Copilot as it can modify across files in the codebase. However, you still need to correct the code most of the time
  • Full context: Cursor has full context, so it provides more helpful advice and changes
  • Generating comments: Cursor makes it easier to add code comments — they need clarifications from time to time tho
  • Working with existing codebases: It seems better at writing code from scratch than contributing to large existing codebases
  • Hallucinations: Cursor has fewer hallucinations compared to alternatives — as far as we can tell
  • Prompting strategies: Being somewhat specific in prompts by referencing classes and functions seems to work well — We're currently experimenting with .cursorrules files to improve prompt quality

Cursor in review

Autocompletion

One feature that stands out is the tab completion, refactoring code as you go, and suggesting the next piece to improve with each press of the tab key — such a time saver!

Chat

Compared to GitHub Copilot, Cursor Chat seems more capable as it can modify code across files in your codebase.

However, we found that 90% of the time, we still need to make edits. We probably need to provide more guidance to get the most out of it.

Full context

One significant advantage of Cursor is its full context of the codebase. Therefore, it provides much more helpful advice and changes. It's not perfect. It's a step up from alternatives tho.

Integrating with existing codebases

When interacting with larger, pre-existing codebases, we have mixed feelings. It seems to do a better job when writing code from scratch than contributing to existing projects. We experimented with the Composer to create a full feature in an existing codebase, and it didn't go smoothly.

We need more experimentation and potentially custom system prompts here.

Hallucinations

From what we've seen, Cursor doesn't hallucinate much - definitely less than GitHub Copilot. We only encountered 1 or 2 instances. We didn't attempt many cross-project changes tho. This may vary.

Prompt engineering

To get the best results from Cursor, we found that being moderately specific in prompts works well. As long as you reference relevant classes or functions, it can usually infer what you need from the file context. There are also ⁠.cursorrules files that can help fine-tune the behavior further.

We're planning to investigate more on that — stay tuned

Wrapping up

That's all, folks!

We're very happy with the experience so far and look forward to working more in-depth with Cursor. While it won't write the entire, fully functional code for you, it can provide a real productivity boost, especially with its tab completion and custom rules.

If you enjoyed this post, please add some ❤️🦄🤯🙌🔥

There's one more thing.

We're currently working on an MCP server to let you flag features, manage company data, and control feature access from Cursor — Edit: it's live!

Follow @bucketdotco on X for the latest product updates.


  1. Why we use Clerk for auth 

Top comments (0)