Imported from roackim/pico-chat (
AGENTS.md). Install upstream withnpx skills add roackim/pico-chat. Copyright stays with the author.
Pico-Chat — Agent Entry Point
Read in this order before proposing or making changes:
.wiki/notes/principles.md— canonical design principles (read first).HANDOFF.md— current state, architecture, gotchas, working preferences..wiki/— documents what exists. It describes state, not direction; never infer intent from it.
Do not add features or UI surfaces unless explicitly asked. Config files are the settings UI. Delete before you design. If direction is unclear, ask first.
Never commit or git add unless asked.
Adding or deprecating a config key
Flat section files (ui, context, debug) are kept in sync with
their templates on startup (and when /config <section> opens them):
pico_cfg.sync_config_files()runs inmain(); it inserts the commented template line for any key missing from an existing user file and removes lines whose key is in that section's_RETIRED_*set. Structured files (styles,servers,theme) are user-authored tables and are never synced.
To add a key:
- Add it to the section's
_*_SPEC(key ->(attr, kind)) and toConfig._apply_defaults. - Add a commented line to the matching
DEFAULT_*_TOMLtemplate, in the same order as the spec. A guard test asserts every spec key has a commented template line. - Do not hand-edit user files; the sync inserts it on next startup.
To deprecate a key:
- Remove it from the
_*_SPECand theDEFAULT_*_TOMLtemplate. - Add its name to that section's
_RETIRED_*set so existing files are cleaned up on next startup.
Only template keys and registered retired keys are ever touched — never unknown or user-specific keys.
