Local instructions for the prose-dev fork of openprose/prose tracked on branch altien-main with origin at Altien/prose-dev. Pins the stack as Markdown contracts, SKILL.md router version 0.18.1 with runtime_contract 2, Vitest 4 plus TypeScript doc-conformance suites with no build or network, pnpm 10.34.5, and CI on Node 22 via .github/workflows/ci-skill.yml. Sets style rules: kebab-case paths, .prose.md for contracts, no kind service or kind system, Requires and Maintains before Execution, and harness-agnostic skill docs with Reactor in its own repo. Gives test commands pnpm test and pnpm test:skill for tests/open-prose, notes 4 pre-existing Windows failures in harness-surface and stale-docs from path.relative slash literals, and maps skill, spec, std and co, examples, tests, scripts, and workflows directories. Requires conventional commits, agent topic branches, and one responsibility per PR with semantics in Markdown not harness code. Contributors and agents working in this checkout who need build, test, style, and layout rules.
prose-dev Instructions
Fork of openprose/prose tracked on branch altien-main. Contract Markdown
language + open-prose skill + contract standard library. Origin points at
Altien/prose-dev (upstream was openprose/prose).
Tech Stack
- Contracts: Markdown (
*.prose.md, kinds: responsibility | function | gateway | pattern | test) - Skill router: skills/open-prose/SKILL.md (version 0.18.1, runtime_contract 2)
- Tests: Vitest 4 + TypeScript doc-conformance suites (read Markdown off disk; no build, no network)
- Package manager: pnpm 10.34.5; CI uses Node 22 (see .github/workflows/ci-skill.yml)
Code Style
- kebab-case files/dirs; contracts end
.prose.md, plain docs stay.md - No
kind: service(renamed tofunction), nokind: system(deleted) — enforced by tests - Requirements (
### Requires/### Maintains/### Continuity) before choreography (### Execution); see skills/open-prose/guidance/authoring.md - Keep skill docs harness-agnostic (Reactor harness lives in its own repo)
Testing
- Run:
pnpm test(aliaspnpm test:skill) →vitest run tests/open-prose - Suites live in
tests/open-prose/<area>/<area>.test.ts, each mirroring the doc it guards - Windows note: 4 pre-existing failures in
harness-surface+stale-docs(tests comparepath.relativeoutput against/-literal paths; CI on ubuntu is green). Do not "fix" by editing docs.
Build & Run
- Install:
pnpm install --frozen-lockfile - No build step, no linter configured
prose ...commands are in-session instructions (see AGENTS.md); never shell out to aprosebinary
Project Structure
- skills/open-prose/ — skill source of truth (
SKILL.mdroutes every command) spec/— language/harness spec;packages/std|co/— reusable contract libraries (std/...shorthand)- skills/open-prose/examples/ — conformance example corpus; tests/open-prose/ — doc-conformance tests
scripts/— release/sync helpers; .github/workflows/ci-skill.yml — required status check
Conventions
- Branches:
<agent>/<topic>(e.g.codex/imp-076-skill-release); commits: conventional (feat:,chore:,ci:,test:) - One responsibility per PR; Markdown states intent, harness code carries no semantic policy (CONTRIBUTING.md)