Skip to content

Contributing

For repository setup, changesets, and pull requests, see the Contributing Guide. For shared methodology changes, follow the Canonical Source Workflow.

Pi and Oh My Pi share the same architecture: each package pairs a runtime extension with generated agent and skill resources. The extensions own lifecycle hooks, mode state, compaction, commands, deployment, and subagent dispatch; prompts and global rules remain in packages/core/agent-directives/. Keep runtime changes in each package’s src/; do not assume the two runtimes behave interchangeably.

Edit the canonical source, never generated files under agents/ or skills/, then regenerate:

Terminal window
scripts/sync-all

Platform transforms stay small: Pi rewrites @agent to /agent; OMP keeps the bare agent name and native task(). Platform-only skills need valid frontmatter and must pass the package skill validator.

Terminal window
pnpm --filter @maestria/pi build
pnpm --filter @maestria/omp build
pnpm --filter @maestria/pi validate
pnpm --filter @maestria/omp validate
pnpm --filter @maestria/pi test
pnpm --filter @maestria/omp test

Use the Pi and OMP reference for user-facing command, dispatch, and session behavior.