This project runs Cursor autonomously using keyboard shortcuts and sound detection because we are very lazy.
- Initial Prompt: The script starts by asking Cursor to create
PRD.md(requirements) andstatus.md(tasks). - Wait: Listens for the AI completion sound.
- Accept: Sends
Cmd + Enter. - New Tab: Opens a new chat tab (
Ctrl + Cmd + T). - Prompt "Proceed": Types
let's proceed to build this appand hitsEnter. - Wait: Listens for the AI completion sound.
- Accept: Sends
Cmd + Enter. - New Tab: Opens a new chat tab (
Ctrl + Cmd + T). - Prompt "Summarize": Types
summarize our state of work in status.mdand hitsEnter. - Loop: Go back to step 2 and keep being lazy.
- Clone: Get this repo.
- Setup Env:
python -m venv .venv- Activate it (e.g.,
source .venv/bin/activateor youractivatealias). pip install -r requirements.txt- (Optional) Create a
.envfile if you need to override sound detection defaults (seeauto_builder.py).
- Setup Cursor:
- IMPORTANT: Open a new, empty Cursor window in a separate folder (e.g.,
mkdir app && code app). This keeps your project clean. - Make sure Cursor is the active, focused window.
- Set these Keyboard Shortcuts in Cursor:
File: New Chat Tab->Ctrl + Cmd + TChat: Focus Input->Cmd + L- (Implied) Accept changes likely uses
Cmd + Enterby default.
- IMPORTANT: Open a new, empty Cursor window in a separate folder (e.g.,
- Run the Bot:
- In a terminal outside the
appfolder (i.e., in thislazy-cursorfolder), run:python auto_builder.py
- In a terminal outside the
- Watch & Be Lazy: The script will take over the Cursor window in the
appfolder.
- TDD: We try to follow Test-Driven Development.
- Secrets: Use
.envfor secrets. - Environment: Always use a
.venvcreated withpython -m venv .venvand activate it. - Project Definition:
PRD.mdholds the project description. - Project Status:
status.mdtracks progress and next steps. - Control: The script reads
PRD.mdandstatus.mdwhen told to "proceed".
Now go be lazy and let the script do the work!