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 app
and 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.md
and 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/activate
or youractivate
alias). pip install -r requirements.txt
- (Optional) Create a
.env
file 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 + T
Chat: Focus Input
->Cmd + L
- (Implied) Accept changes likely uses
Cmd + Enter
by default.
- IMPORTANT: Open a new, empty Cursor window in a separate folder (e.g.,
- Run the Bot:
- In a terminal outside the
app
folder (i.e., in thislazy-cursor
folder), run:python auto_builder.py
- In a terminal outside the
- Watch & Be Lazy: The script will take over the Cursor window in the
app
folder.
- TDD: We try to follow Test-Driven Development.
- Secrets: Use
.env
for secrets. - Environment: Always use a
.venv
created withpython -m venv .venv
and activate it. - Project Definition:
PRD.md
holds the project description. - Project Status:
status.md
tracks progress and next steps. - Control: The script reads
PRD.md
andstatus.md
when told to "proceed".
Now go be lazy and let the script do the work!