docs: artifact-location rule + CONTRIBUTING for community growth
The whole point of this project is that the agent's growth is shareable. If skills and extensions silently land in ~/.pi/ on the maintainer's laptop, every clone starts from zero and the repo becomes a fancy README. Fix that with an explicit hard rule and a contributor guide. - AGENTS.md: new "Artifact location — hard rule" subsection spelling out that skills/extensions/prompts/state/.pi-settings ALL live in this repo, never in ~/.pi/. Pi's own built-in skills (skill-creator, etc.) stay user-global; the agent may use them, but their *output* must land here. - README: new "Everything in the repo" subsection covering the same rule in user-facing language, plus a pointer to CONTRIBUTING.md. - CONTRIBUTING.md (new): skill/extension formats, server-agnostic and no-secrets requirements, smoke-test recipe, PR checklist. - .gitignore: switch from blanket `.pi/` ignore to `.pi/*` + explicit un-ignore of `.pi/settings.json`, so project Pi config is reproducible. - "Don't push without operator confirmation" → "without human confirmation via the repo" — consistent with the new control model. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -104,7 +104,7 @@ You can mix providers via `--provider openai --model gpt-5` at launch — cheape
|
||||
Pi has first-class support for three growth surfaces:
|
||||
|
||||
- **`skills/`** — Markdown-defined capabilities Pi can invoke. The agent can `Write` new ones at runtime when it discovers a missing capability.
|
||||
- **`extensions/`** — TypeScript modules registering new tools, commands, or UI tweaks. Installed via `pi install npm:<pkg>` / `pi install git:<url>` or written in-tree.
|
||||
- **`extensions/`** — TypeScript modules registering new tools, commands, or UI tweaks. Installed project-locally via `pi install -l npm:<pkg>` / `pi install -l git:<url>`, or written in-tree.
|
||||
- **`prompts/`** — Reusable prompt templates. Useful for cron-driven tick prompts ("what should I do next minute?").
|
||||
|
||||
The opening `AGENTS.md` instructs the agent to start by writing a `mineflayer-bridge` extension that can:
|
||||
@@ -116,6 +116,14 @@ The opening `AGENTS.md` instructs the agent to start by writing a `mineflayer-br
|
||||
|
||||
Everything beyond that — farming, exploration, base-building, player interaction, server-specific quirks — should emerge from the agent itself.
|
||||
|
||||
### Everything in the repo
|
||||
|
||||
A hard rule, mirrored in `AGENTS.md`: every artefact the agent produces **lives in this repo**, never in the user's `~/.pi/` directory. That includes skills, extensions, prompt templates, project Pi settings (`.pi/settings.json`), and per-server state (`state/<MC_HOST>/`).
|
||||
|
||||
The point is reproducibility and **community growth**: a fresh `git clone` should bring along every skill any contributor has written. Pi's own built-in skills (`skill-creator`, `agent-browser`, etc.) stay user-global — the agent is allowed to *use* them, but anything it *authors* lands under `./skills/` or `./extensions/` here.
|
||||
|
||||
See [`CONTRIBUTING.md`](./CONTRIBUTING.md) for the skill format and how to propose changes.
|
||||
|
||||
## Project layout
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user