Vibe Coding With Cursor and Windsurf: Berman’s 2025 Workflow

Matthew Berman shares project rules, testing habits and version-control practices from early experiments with coding agents.

MBMatthew Berman연사 · Forward Future
채널
Matthew Berman
게시일
2025년 3월 5일
영상
21:48
읽기
6분
슬라이드
3
원문
영어
YouTube에서 열기
스크롤하면 영상이 오른쪽 아래로 작아져 계속 재생됩니다. 자막은 읽기 언어를 따릅니다.
읽기 언어2개 언어로 읽을 수 있음
이 글은 아직 한국어 번역이 없어 영어 원문으로 표시합니다.
요약

30초 요약

In this March 2025 tutorial, Matthew Berman explains how he used Cursor, Windsurf and Claude 3.7 Sonnet to build applications from specifications. His advice focuses on explicit project rules, separated environments, narrow requests, testing and frequent commits; the video includes a Mammouth sponsorship. Editor interfaces and model availability have changed since the video, and Claude 3.7 Sonnet has since been retired from the Claude API. His rules and timing are personal experience rather than universal prescriptions.

  1. 1Write a specificationBerman drafts an application specification and recommends reviewing it before handing it to a coding agent.
  2. 2State project rulesExplicit stack and workflow constraints help prevent unintended substitutions and duplicate implementations.
  3. 3Avoid fake production fallbacksA mock response can hide a failed real operation; Berman reserves such data for tests.
  4. 4Inspect tests and behaviorNarrow tasks and frequent tests help, but passing tests are not proof if the agent changed their intent.
  5. 5Control executionAutomatic command execution can affect live systems; Berman warns against his experimental mode for production.
  6. 6Commit and recoverFrequent commits and editor checkpoints provide ways to return to earlier states.

핵심 정리

  1. Start with a reviewed specification and tell the agent which technologies and constraints matter.
  2. Project rules can reduce repeated instructions, but their application depends on editor configuration.
  3. Keep development, test and production environments separate and prevent fake fallback data from concealing failures.
  4. Test the behavior that matters, inspect both code and test changes, and verify important flows yourself.
  5. Unrestricted agent commands can affect external services and production; choose execution permissions deliberately.
  6. Frequent commits and understood checkpoints help recover from unsuccessful iterations.
  7. The video’s model selection, product menus and Mammouth price are historical.
전문

챕터별로 다듬은 전문 읽기

원본 자막만 보기
01

Setup and specification

Berman introduces his 2025 editor and model choices. He drafts a detailed specification before implementation.

In this March 2025 tutorial, Matthew Berman shares lessons from roughly 100 to 150 hours of “vibe coding”: giving coding agents broad instructions and having them implement applications. He uses Cursor and Windsurf, stresses that the workflow has limitations, and describes how clearer specifications, project rules, tests and version control helped him work through them.

His setup at the time relied mainly on Claude 3.7 Sonnet, often with extended thinking, and sometimes used Grok 3 to draft specifications. Anthropic released Claude 3.7 in February 2025 and [retired it from the Claude API in February 2026](https://docs.anthropic.com/en/docs/about-claude/model-deprecations). Model availability, editor menus and provider settings in the video are historical, so check current product documentation.

Berman shows the 2025 model-selection interface and a custom OpenAI-compatible provider endpoint. He recommends choosing models that support the tools and function-calling behavior required by the agent. API credentials should be kept private, and present-day provider support and configuration may differ from the interface shown.

Before asking an agent to implement a project, Berman recommends writing a detailed specification. In his example he asks another model to draft a Twitter-like application with a Python backend, then reviews the proposed behavior, database schema and endpoints. He advises revising the specification to reflect what the user actually wants before passing it to the coding agent.

02

Project rules and coding preferences

He defines stack and workflow rules to prevent duplication, unexpected changes and environment confusion. The video includes a Mammouth sponsorship.

Project rules express recurring constraints: preferred technologies, conventions and workflows. Berman found them useful when an agent attempted to fix a SQL problem by silently switching to a JSON file, making the application appear to work while bypassing the intended database. Explicit constraints can help the agent distinguish a repair from an unwanted architectural change.

Cursor project rules in the example live in `.cursor/rules` as `.mdc` files, separate from user-wide settings. Berman manually attaches some rules because he is unsure which load automatically. [Current Cursor documentation](https://docs.cursor.com/context/rules-for-ai) distinguishes always-applied, automatically attached, agent-requested and manual rules; activation depends on configuration.

The video includes a sponsored segment for Mammouth, which Berman describes as a service offering access to multiple AI models. His quoted $10 monthly price and model list are 2025 promotional claims, not a guarantee of current pricing, model availability or plan limits.

Coding-pattern preferences
슬라이드 1 / 3Coding-pattern preferencesThe example rules cover duplicate code, environments, mock data and changes to configuration files.

His coding-pattern rules ask the agent to prefer simple solutions, look for existing functionality before adding duplicates and keep the code organized. He explains that agents sometimes wrote a second implementation instead of fixing one already present. He also asks that changes stay within the scope of the requested work and avoid introducing a new technology before trying the existing approach.

A separate rule calls for development, test and production environments to remain distinct. Berman encountered tests affecting development data and production code pointing at local resources. Making environment boundaries explicit helps the agent understand where each configuration and database belongs, though instructions alone do not enforce isolation.

Berman asks the agent not to leave behind unnecessary one-off scripts and suggests considering refactoring when files reach 200–300 lines. He acknowledges that this length is not a universal software rule; the useful goal is maintainability, not splitting code mechanically or risking breakage solely to meet a line count.

He also tells the agent to keep mock or stub data out of development and production behavior. One failure he saw was a scraper silently falling back to fake data after a real request failed, hiding the problem. He reserves mocks for tests and adds a rule against overwriting his `.env` file after having to replace lost keys.

Example project stack rule
슬라이드 2 / 3Example project stack ruleThe project-specific rule records the backend, frontend, databases and search service Berman wanted.

A stack rule records his preference for Python on the backend, HTML and JavaScript on the frontend, SQL rather than JSON file storage, separate environment databases, hosted Elasticsearch and Python tests. These are choices for his project, not requirements for all applications. Writing them down makes accidental technology changes easier to spot.

His workflow rules repeat the need to focus on the task, test major behavior and avoid changing a working architecture without instruction. He asks the agent to consider other areas affected by a change. Berman then pastes a reviewed application specification into a new agent chat as a starting point.

03

Context, narrow tasks and testing

Berman resets long chats, attaches relevant rules and emphasizes focused requests. He discusses tests, common stacks and a tag-length example.

Long conversations accumulate context, and Berman finds that performance can deteriorate as the chat grows. Starting a new conversation can help, but loses information unless relevant details are carried forward. He reattaches his workflow, stack and coding rules and recommends experimenting to find when a fresh chat is useful.

He recommends narrow requests and frequent testing. He favors end-to-end tests that exercise behavior as a user would, but unit and integration tests can also be useful for different failure modes. A passing test is not enough if the agent changed the test or production behavior incorrectly; inspect what was changed and try the application yourself.

Berman favors well-documented, popular technologies because he expects agents to have more material to work from. His example prompt asks for a maximum tag length of 20 characters, asks the agent to check for existing code and requests tests. The agent lists directories, reads files and searches before explaining and making changes.

A narrow agent request
슬라이드 3 / 3A narrow agent requestThe chat asks for a 20-character tag limit and shows the agent inspecting existing code and tests.
04

Execution, iteration and recovery

He compares command approval modes and describes parallel branches and asynchronous work. Frequent commits and checkpoints help recover changes.

The 2025 editor offered different levels of command approval. Berman says he used an automatic “YOLO” mode for experiments, but warns that unrestricted execution can push code or deploy to production. Approval settings, isolated environments and review matter even for a new project because agents can still affect connected services or credentials.

The agent runs tests, investigates a failure and returns a summary; Berman notices mock-repository changes that illustrate why he reinforced his environment rules. He reviews the outcome rather than treating the agent’s summary as proof. He also uses new chats when accumulated context becomes unwieldy.

Berman says he sometimes asks the agent to commit changes and deploy to Heroku. In his experience an iteration could take two to fifteen minutes, including running and fixing tests. He suggests using separate branches or editor windows for parallel work, then merging carefully; that timing is an anecdote from his 2025 setup.

He occasionally requests low-risk refactoring of long files and switches between thinking and non-thinking modes. As his project grew, however, even small changes sometimes required many iterations. He thinks the rules and practices would have helped him get further had he established them earlier.

Berman describes an asynchronous rhythm: give an agent a task, do something else, then return to review the result and iterate. He wishes for a fully hosted phone interface that would make this easier while away from his computer. That is a 2025 product wish, not a statement about what is available now.

His final practical advice is to commit often, so there are recoverable checkpoints when a change goes wrong. He also shows the editor’s chat checkpoint feature. Git history and editor checkpoints have different scopes, so users should understand what a restore will change before using it.

After his 100–150 hours of experiments, Berman concludes that agents lower the barrier to building software and encourages viewers to try. He expects the tools to improve, while his own examples show the continuing need to specify goals, inspect changes, test behavior and control deployment.

같은 채널의 다른 글

슬라이드 12장34:21EN
Matthew Berman· 2026년 10월 27일Matthew Berman Examines Anthropic’s IPO Filing, AI Growth and GovernanceMatthew Berman, Sam Altman · Forward FutureThe presenter reviews the S-1’s financial metrics, compute strategy and voting structure while questioning the tension between rapid AI development and safety.AnthropicAI Safety엔터프라이즈 AI+2
0:26EN
Matthew Berman· 2026년 10월 25일Sam Altman on Human Values and Problem-Solving in an AI WorldSam Altman · OpenAIIn a short interview excerpt, Altman considers the enjoyment of solving hard problems and the human role in interpreting results.Human-AI CollaborationFuture of WorkAI Strategy
슬라이드 2장0:36EN
Matthew Berman· 2026년 10월 25일Kimi K3.1 and a Rubik’s Cube Solver DemonstrationMatthew Berman · Forward FutureMatthew Berman shows a scrambled virtual cube being solved and gives the Kimi K3.1 test a favorable assessment.평가(Evals)코딩 에이전트Open-weight models
슬라이드 2장0:21EN
Matthew Berman· 2026년 10월 24일An AI-Generated Kimi Benchmark Chart Used Invented ScoresMatthew Berman · Forward FutureMatthew Berman asks for a graph of Kimi K3.1 Pro benchmarks, then discovers that the displayed figures are illustrative placeholders.Benchmarks평가(Evals)Generative media
슬라이드 6장25:50EN
Matthew Berman· 2026년 10월 24일Kimi K3.1 Pro Tested: Strong 3D Demos, Uneven Results and Competitive PricingMatthew Berman · Forward FutureMatthew Berman tests the open-weight model on coding, 3D rendering and visual explanations, then compares benchmark results and prices.Open-weight modelsBenchmarksAI cost & performance+1
슬라이드 2장32:20EN
Matthew Berman· 2026년 10월 23일Who Is Local AI For? The Costs, Trade-offs and a Hybrid FutureMatthew Berman · Forward FutureMatthew Berman weighs data control and independence against hardware cost, setup complexity and inference speed.Local inferenceOpen-weight modelsAI cost & performance+1