Skip to content

Latest commit

 

History

History
70 lines (62 loc) · 3.66 KB

File metadata and controls

70 lines (62 loc) · 3.66 KB

AGENTS.md

Workflow (follow this before writing any code)

Work here is issue-driven, not conversation-driven — the source of truth for "what's the current task" and "what's left to do" is GitHub Issues, not chat history.

  1. Every branch maps to an issue. Branches are created from the issue's page on github.com (the "create a branch" link), which auto-names them <issue-number>-<slug> (e.g. 3-add-electrobun → issue #3) — the number prefix is generated by GitHub, nobody types it by hand. On starting any session, run git branch --show-current, extract the leading number, and run gh issue view <number> to get the actual task and its scope.
  2. Check the backlog before assuming scope. Run gh issue list to see what else is open. If something looks related but isn't literally what the current issue describes, it's probably a different issue — don't fold it into the current branch.
  3. New issue, not scope creep. If you notice something worth doing while implementing (a bug, a missing piece, deferred work like "needs a cert" or "needs a separate account") — file a new issue instead of doing it on the current branch. Title lowercased. Give it a body with enough context (what's missing, why, concrete next steps, relevant code/config) that a future session with zero conversation history can pick it up cold. Simple issues can have an empty body.
  4. Issue → branch → checkout → implement, in that order. The human creates the issue and branch on github.com and checks the branch out locally themselves; only then does implementation start. Agents never create or check out branches — read the current branch, don't set it.
  5. When an implementation is completely finished, provide a commit message. Don't run git commit unless separately asked — just hand back the message text.

Project shape

  • Nx monorepo. Main branch is dev, not main.
  • apps/app — the Angular UI (browser runtime, webview content).
  • apps/desktop — the Bun/Electrobun main-process shell (window, menu, tray, updater). Different runtime than apps/app — keep them separate, don't let one project's tsconfig sweep in the other's source (this broke the Angular build once: Bun-side code importing electrobun/bun got type-checked against browser lib options).
  • bun run dev (nx serve desktop) runs electrobun dev, which dependsOn the continuous app:serve target (Angular dev server, HMR) — this is the only supported dev loop. Nx starts app:serve first but doesn't wait for it to be ready, only spawned (Nx has no generic port/health-check gate), so apps/desktop/src/index.ts polls for it. Because it's a real dependsOn, not a raw parallel shell-out, Nx auto-kills app:serve once electrobun dev exits for any reason — closing the app window ends the whole dev session.
  • nx build desktop — production build (stable config by default; dev/canary also available), depends on app:build.
  • See README.md for the known Windows electrobun dev --watch bug (don't try to fix it here — it's upstream, tracked in electrobun#168).

Known gaps (see the linked issues before re-discovering these)

  • No Windows code signing — #5.
  • No Windows Store/MSIX packaging — Electrobun doesn't support it at all — #4.
  • No CI or release automation yet — #6.