70 lines
4.5 KiB
Markdown
70 lines
4.5 KiB
Markdown
# POM 2 Documentation
|
|
|
|
Welcome to the POM 2 documentation. This site is the single source of truth for operators, contributors, and architects.
|
|
|
|
## Quick navigation
|
|
|
|
| Audience | Entry points |
|
|
|---|---|
|
|
| Operator | [Install & verify](../README.md#install-and-verify) · [Production loop](../README.md#production-loop) · [Command map](../README.md#command-map) · [Settings](SETTINGS.md) |
|
|
| Contributor | [AGENTS.md](../AGENTS.md) · [Architecture](ARCHITECTURE.md) · [Tool Matrix](TOOL_MATRIX.md) · [Development](../README.md#development) |
|
|
| Architect | [Architecture](ARCHITECTURE.md) · [POM.yml](../POM.yml) · [Ownership](OWNERSHIP.md) · [Boundary](BOUNDARY.md) |
|
|
| Release / Audit | [Inventory](INVENTORY.md) · [Audit](AUDIT.md) · [Design review](DESIGN_REVIEW.md) · [Official sources](OFFICIAL_SOURCES.md) · [Verification](VERIFICATION.md) |
|
|
| Project vault | [Vault shape](VAULT.md) · [Repository vs vault boundary](BOUNDARY.md) |
|
|
| Agent / Quick-ref | [Commands](../skills/pom/references/commands.md) · [Workflow](../skills/pom/references/workflow.md) · [Artifacts](../skills/pom/references/artifacts.md) · [Tool routing](../skills/pom/references/tool-routing.md) · [QA](../skills/pom/references/qa.md) · [UI](../skills/pom/references/ui.md) |
|
|
|
|
Full sidebar: [navigation](navigation.md).
|
|
|
|
## What is POM 2?
|
|
|
|
POM 2 is an Oh My Pi (OMP) extension that governs long-form creative production with evidence-gated stages, canonical artifacts, prompt provenance, deterministic validation, Git checkpoints, and an Obsidian/Quartz-compatible knowledge base.
|
|
|
|
- Package: `@jamminrebel/pom-omp` 2.0.0 (MIT, ESM)
|
|
- Peer requirements: `@oh-my-pi/pi-coding-agent`, `@oh-my-pi/pi-tui`, `@oh-my-pi/pi-utils` `>=16.4.6 <17`
|
|
- Host runtime: Bun `>=1.3.14`
|
|
- Local scripts: Node 22+ / npm / tsx / tsc
|
|
|
|
## Repository structure
|
|
|
|
```
|
|
pom-omp/
|
|
├── src/ # 25 TypeScript modules (no build step)
|
|
├── tests/ # 8 test files, Node test runner
|
|
├── scripts/ # verify.mjs, check-docs.mjs, release-manifest.mjs, smoke.ts
|
|
├── docs/ # This documentation
|
|
├── agents/ # 14 pom-* task agent definitions
|
|
├── prompts/ # 13 prompt fragments (bundled + project overrides)
|
|
├── rules/ # 3 scoped production rules
|
|
├── skills/pom/ # POM skill + 9 reference documents
|
|
├── themes/ # pom-nocturne (dark), pom-parchment (light)
|
|
├── config/ # OMP host config, POM defaults, MCP example
|
|
├── README.md # Operator landing page
|
|
├── POM.yml # Human-facing project manifest
|
|
├── AGENTS.md # Contributor guide + discrepancy ledger
|
|
├── CHANGELOG.md # Release history
|
|
├── RELEASE.json # Generated release manifest
|
|
├── package.json # Package metadata + scripts
|
|
└── tsconfig.json # Strict TS config (src/**/*.ts only)
|
|
```
|
|
|
|
## Documentation principles
|
|
|
|
- Source beats docs. Every mirrored fact cites its canonical owner in `src/`, `scripts/`, or `package.json`. Narrative docs must not introduce independent variants. See [ownership](OWNERSHIP.md).
|
|
- Audience separation. Operator flows in README; deep reference in `docs/`; agent-facing quick refs in `skills/pom/references/`; human manifest in `POM.yml`.
|
|
- Release honesty. `RELEASE.json` verification fields are evidence-bound objects carrying a status of PASS, FAIL, NOT RUN, or BLOCKED. Hard-coded PASS strings are prohibited and rejected by [the documentation checks](VERIFICATION.md).
|
|
- Generated versus repository. This wiki describes the extension. Generated project vaults live under a project's `content/` and are a separate branch. See [boundary](BOUNDARY.md) and [vault shape](VAULT.md).
|
|
|
|
## Verification status
|
|
|
|
Overall readiness is PARTIAL. `npm run smoke`, `npm run release:check`, and the state test pass; the full `npm run verify` gate is blocked by an npm registry outage that left `node_modules` incomplete. See [verification](VERIFICATION.md) and the README verification section for exact detail.
|
|
|
|
## Contributing
|
|
|
|
Read [AGENTS.md](../AGENTS.md) for code conventions, testing patterns, and governance invariants. Key rules:
|
|
|
|
- No `dist/` or generated caches in source
|
|
- Extensionless relative imports (`./state`, not `./state.ts`)
|
|
- Throw `Error` for precondition/schema/config violations; tool failures use `isError: true`
|
|
- Three runtime dependencies only: `crc-32`, `yauzl`, `yazl`
|
|
- Run `npm run verify` before packaging or linking
|