Files
koins/AGENTS.md
T

2.1 KiB

Instructions for AI assistants

  • Never commit changes unless explicitly told to do so. Always ask first or wait for the user's command.
  • "Apply the changes" / "apply it" / "do it" does NOT mean commit. It means make the file changes. Before any commit (main repo, tap repo, anywhere), stop and ask for explicit permission, and list which files will be committed. Wait for a clear "yes" / "commit it" / "commit and push" before running git commit.
  • Never manually edit .router/router.ts — sv-router auto-generates it from the filesystem. Just create the route file in the correct filesystem location.
  • Only commit when explicitly told to do so. When asked to commit, always write a single simple line commit message.
  • When asked to publish, always rebuild the DMG first (bun run build:stable from apps/desktop), wait for notarization to complete, verify with xcrun stapler validate, then publish the fresh DMG. Never publish a stale build.
  • Never publish without explicit permission. Before any publish action — running bun run build:stable, gh release upload, updating the Homebrew cask, or pushing the tap repo — describe the intended action (what will be built, what SHA, which release) and ask for permission. Once you have asked and received a clear affirmative (any clear yes, "go", "publish", etc.), you may proceed through the whole pipeline without pausing between steps: build, notarize, verify, upload to the GitHub release, update the Homebrew cask, and push the tap repo. One permission covers the entire publish flow. You must still get a separate permission before starting each new publish cycle.
  • Permission to commit ("commit", "commit and push", or similar) authorizes git commit and also git push of the committed changes. Only push the branches/files described in the permission.
  • At the end of every response, always surface a "Pending from you" section listing anything you need from the user (decisions, permissions, credentials, confirming a plan, etc.). If nothing is pending, say "Nothing pending." List each pending item as a numbered entry (1., 2., …) so the user can approve or act on them by number (e.g. "go ahead with 1, 2").