Configuration
Where Pocketto keeps configuration: the project memory file, the Pocket Education block, Enterprise mode, and .pocket-meta.json. Managed blocks are CLI-owned.
Pocketto keeps configuration in a few well-defined places. The rule that unifies them: managed blocks are CLI-owned. Skills write through commands, never by hand.
The project memory file
CLAUDE.md (Claude Code) or AGENTS.md (Pi), one per project. Two Pocket-managed things live there:
The pocket-init managed section
<!-- pocket-init:start -->
## Project Guide (generated by pocket-init)
### Stack
…
### Commands
- Build: `<verified command | Not configured>`
- Test: `<verified command | Not configured>`
- Lint: `<verified command | Not configured>`
- Typecheck: `<verified command | Not configured>`
### Layout
…
### Conventions
…
<!-- pocket-init:end -->Only this section is ever created or replaced; everything outside the markers is untouched, byte for byte. Regenerating (pocket-init) never touches anything else.
The Pocket Education block
## Pocket Education
education: true
profile_schema: 1
teaching_mode: guided
journal: true
skill.programming_fundamentals: guided
skill.typescript: independent
skill.testing: foundationOwned by the edu CLI: never edit it by hand. Malformed blocks fail loudly (EDU_CONFIG_INVALID) instead of reading as disabled. Levels: foundation | guided | independent; teaching modes: guided | socratic. Manage it with:
npx -y pocketto-pi edu [--json --contract 3] # report
npx -y pocketto-pi edu init --level testing=foundation … # initialize (refuses overwrite without --reset)
npx -y pocketto-pi edu set --level testing=guided … # change; reports more/less guidanceThe block sits outside the managed section, so regenerating the project guide never resets calibration.
Enterprise mode block
Written by mode init to the selected memory file (plus .gitattributes):
## Pocket Enterprise
enterprise: true
branch_strategy: branch
create_pr: truebranch_strategy: branch | main-local; create_pr enables the create-pr recorder. Optional require_approval. Read it with npx -y pocketto-pi mode --json --contract 3; never overwrite an existing block with new defaults.
State and metadata files
| File | Owner | Purpose |
|---|---|---|
.pocket-meta.json | meta get/set (local, no GitHub calls) | Project metadata; Enterprise stores PR/issue identity and reconciliation fingerprints here |
.pocket/lifecycle-adapter.json | enterprise install | The adapter registration. Committable when it uses the default portable registration; custom --argv values are machine-specific, commit only when portable |
lifecycle.json | lifecycle CLI | Lifecycle state, event journal, delivery state, committed with the spec directory. See Lifecycle events |
log.json | log CLI | The execution log projection. See Lifecycle state |
What is not configurable
Pocketto has no global config file, no feature flags, and no server. Behavior choices live where they are enforced: skills honor explicit instructions (and report skipped checks), the pipeline's gates are design constants, and version handshakes are read from the installed package.
Related documentation
CLI commands
The complete pocketto-pi CLI reference: command synopses from the help text, key flags, the JSON envelope, and the contract handshake.
Generated files and directory conventions
The docs/pocket directory tree and project-level files Pocketto generates, which command writes each one, and the naming conventions to keep.