Some checks failed
CI / detect-changes (push) Has been cancelled
CI / docs-check (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / build (push) Has been cancelled
CI / integration-tests (push) Has been cancelled
CI / windows-portability (push) Has been cancelled
CI / rtk-portability (linux, blacksmith-4vcpu-ubuntu-2404) (push) Has been cancelled
CI / rtk-portability (macos, macos-15) (push) Has been cancelled
CI / rtk-portability (windows, blacksmith-4vcpu-windows-2025) (push) Has been cancelled
Replaces the fragmented (AGENTS.md + CLAUDE.md + .github/copilot-instructions.md + .sf/STYLE.md + .sf/PRINCIPLES.md + .sf/NON-GOALS.md) surface with a single canonical .agents/ tree per https://github.com/agentsfolder/spec. Structure: .agents/manifest.yaml spec metadata + defaults + project info .agents/prompts/ base.md project-agnostic base prompt project.md SF-specific: purpose-first, DB-first, build pipeline, Ask/Build/YOLO model snippets/{style,principles,non-goals}.md short pointers into .sf/{STYLE,PRINCIPLES, NON-GOALS}.md for composition .agents/modes/{ask,build}.md YAML front matter + human-readable body .agents/policies/{default-safe,yolo}.yaml conservative default + YOLO override .agents/skills/.gitkeep empty per spec — SF's own skills not yet migrated to agentskills.io format .agents/scopes/.gitkeep single-tree, no scopes yet .agents/profiles/.gitkeep no overlays yet .agents/schemas/.gitkeep generated by validators .agents/state/.gitignore excludes state.yaml from VCS per spec Status: spec is pre-1.0 (specVersion 0.1.0 pinned). No agent runtime currently reads .agents/ — this is structural adoption ahead of ecosystem support. Legacy files (AGENTS.md, CLAUDE.md, etc.) kept during the transition; .agents/ is now the canonical surface and they will eventually point here. This is the reference template; centralcloud/infra, operations-memory, oncall-mobile-android to follow. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
43 lines
2 KiB
Markdown
43 lines
2 KiB
Markdown
# Project Prompt — singularity-forge
|
|
|
|
## What this is
|
|
|
|
SF — Singularity Forge — is a **purpose-to-software compiler**. The
|
|
foundational contract is documented in
|
|
[`docs/adr/0000-purpose-to-software-compiler.md`](../../docs/adr/0000-purpose-to-software-compiler.md).
|
|
Every milestone exists to serve a stated purpose; mechanics (paths,
|
|
schemas, commit refs) are subordinate to that purpose.
|
|
|
|
For the longer narrative form see [`AGENTS.md`](../../AGENTS.md) and
|
|
[`CLAUDE.md`](../../CLAUDE.md). For style decisions see
|
|
[`.sf/STYLE.md`](../../.sf/STYLE.md). For invariants see
|
|
[`.sf/PRINCIPLES.md`](../../.sf/PRINCIPLES.md). For things we
|
|
explicitly will not do see [`.sf/NON-GOALS.md`](../../.sf/NON-GOALS.md).
|
|
|
|
## Non-negotiables
|
|
|
|
- **DB-first**: all state lives in SQLite via Node's built-in
|
|
`node:sqlite` (`DatabaseSync`). Never use `better-sqlite3` or any
|
|
native SQLite addon. Never use file-based fallbacks for state that
|
|
belongs in the DB (milestone context, sessions, memories, mode
|
|
state). If a pattern uses files as a proxy for DB state, that's a
|
|
bug to fix, not a convention to follow.
|
|
- **Two work modes**: Ask and Build. Shift+Tab cycles between them.
|
|
YOLO (Ctrl+Y) is a flag on Build that drops confirmations; it is
|
|
never a third mode and is not a Shift+Tab stop.
|
|
- **Build pipeline**: source TypeScript files under
|
|
`src/resources/extensions/sf/` compile to `dist/resources/...` via
|
|
`npm run copy-resources`. Files installed at
|
|
`~/.sf/agent/extensions/sf/` are not auto-redirected to TS source —
|
|
edits to `.ts` only take effect after `copy-resources`.
|
|
- **Tests**: vitest, no pre-compile.
|
|
|
|
## Workflow
|
|
|
|
- `/todo triage` empties `TODO.md` and routes items into structured
|
|
plan artifacts (`docs/plans/`), backlog rows, and BUILD_PLAN tier
|
|
lists. Run before starting work if the inbox has content.
|
|
- New milestones via `sf headless new-milestone --context <spec>` —
|
|
see SF's own TODO.md for the headless-unattended-mode caveat.
|
|
- Bulk import of a flat roadmap via `sf headless import-backlog
|
|
<file.md>` (this one works headless).
|