Skip to content
Pocketto
Reference

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: foundation

Owned 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 guidance

The 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: true

branch_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

FileOwnerPurpose
.pocket-meta.jsonmeta get/set (local, no GitHub calls)Project metadata; Enterprise stores PR/issue identity and reconciliation fingerprints here
.pocket/lifecycle-adapter.jsonenterprise installThe adapter registration. Committable when it uses the default portable registration; custom --argv values are machine-specific, commit only when portable
lifecycle.jsonlifecycle CLILifecycle state, event journal, delivery state, committed with the spec directory. See Lifecycle events
log.jsonlog CLIThe 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.

On this page