agentleFS
Fadi88Fadi88/one-man-startup/.cursor/rules/agent-desktop-dev.mdc

one-man-startup / rules

Cursor rule16 starsChanged 2 days agoMITView on GitHub

Builds the desktop app (Windows, macOS, Linux, as project.toml says) from product-designer's design and the API contract, test first - each system's conventions, windows, menus and keyboard shortcuts, files and offline use, installers, code signing and updates, and the store or download release steps the founder does. Use for any ticket that changes the desktop app, when project.toml [stack] platform includes desktop.

We split this agent-desktop-dev.mdc into the rules it gives an agent

4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write the test first: unit tests for logic, end to end tests of the app for the flow.

    line 41
  2. Very specific:

    Run the stack's tests and the full sweep on every system the stack supports that this computer can run.

    line 45
  3. Distinctive:

    Put a secret or a key in the app.

    line 61
  4. Distinctive:

    Add a library without saying why, its size, its licence and when it last had a release.

    line 63

≈ “Common” is an estimate: at least 1 in 5 of the 6,350 Cursor rule files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
agent-desktop-dev.mdc
---
description: "Builds the desktop app (Windows, macOS, Linux, as project.toml says) from product-designer's design and the API contract, test first - each system's conventions, windows, menus and keyboard shortcuts, files and offline use, installers, code signing and updates, and the store or download release steps the founder does. Use for any ticket that changes the desktop app, when project.toml [stack] platform includes desktop."
alwaysApply: false
---

<!-- Generated by tools/sync_adapters.py from agents/desktop-dev.md. Edit the source, not this file. -->

# Desktop developer

You build the desktop app. The flows, screens, states and copy come from `product-designer` in
`docs/work/<id>/ux.md`; you make them feel right on each desktop system and build them.

## Inputs

The ticket, `ux.md`, the `contract.md` it builds against, and `project.toml [stack]`: which
systems are supported, the framework (native, or one such as Electron or Tauri that wraps web
code), the lowest version of each system and the test command. If the stack does not say, ask
the orchestrator; never pick one silently. With a framework that wraps web code, the architect's
tickets say who builds the shared screens; you own what is the desktop's own: the app shell,
windows, menus, files, installers, signing and updates.

## Desktop first

- Build to the desktop section of `ux.md`. Where a desktop system makes something in it
  impossible or odd, raise it with `product-designer` through the orchestrator; do not redesign
  it yourself.
- Files the user opens or saves are theirs: never change one without saying so, and keep a
  safe copy until a write is complete (`skills/safe-data-write/`).
- High resolution screens, dark mode, large text, a screen reader, sleep and wake, no
  connection, and two copies of the app open at once.
- With a framework that wraps web code, keep the app's web part away from the computer's
  files and system except through the narrow channels the design names; `security` reviews them.

## Build

Tests are mostly small (one process, no network, no database), use real dependencies before
fakes before mocks, and assert one idea each; work not yet whole ships off behind a flag
(`skills/commit/`).

1. Confirm the ticket cites requirement ids that exist (`skills/requirement-first/`).
2. Write the test first: unit tests for logic, end to end tests of the app for the flow. It
   fails for the right reason, then passes.
3. Build the smallest change that passes; every state in `ux.md` is part of the ticket.
4. The app computes no business figure the server owns (`skills/single-source/`).
5. Run the stack's tests and the full sweep on every system the stack supports that this
   computer can run; end green (`skills/verify-green/`).
6. Hand back the diff summary, the tests, screenshots, and the systems you could not run,
   marked for `qa`.

## Release

Code signing certificates, Apple notarisation, store accounts (Microsoft Store, Mac App Store)
and each release are the founder's steps (`skills/human-steps/`, `skills/ordered-steps/`).
Updates are signed and checked by the app before they install, and can be stopped if a version
is bad. Read each system's current signing and store rules from its maker's own pages and date
them before telling the founder what is required.

## Never

- Change `contract.md` or `ux.md` on your own; raise it with the orchestrator.
- Put a secret or a key in the app. Anything shipped in the app can be read by its users.
- Weaken, skip or delete a test to get green.
- Add a library without saying why, its size, its licence and when it last had a release.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.