2.2 KiB
2.2 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project
Port of allium (a Claude Code plugin by JUXT) to pi.dev, keeping upstream files by reference (symlinks) rather than forking. Test target: the turn-limit extension.
See allium-port-plan.md for the full phased plan and task checklist.
Architecture
pi-allium-port/
├── allium-main/ ← git clone of juxt/allium (upstream, read-only)
├── turn-limit/ ← symlink to turn-limit-repo/packages/pi-turn-limit
├── .pi/skills/ ← pi.dev skill definitions (the port output)
│ ├── allium/SKILL.md ← root skill, routing table
│ ├── elicit/SKILL.md ← elicitation sub-skill
│ ├── distill/SKILL.md ← distillation sub-skill
│ └── propagate/SKILL.md ← propagation sub-skill
└── allium-port-plan.md ← plan and checklist
Each skill's references/ directory symlinks to the corresponding upstream directory in allium-main/.
Key platform differences (Claude Code → Pi.dev)
- Skill location:
.pi/skills/{name}/SKILL.md(not.claude-plugin/) - Invocation:
/skill:name(not/nameor/name:sub) - Frontmatter: uses
disable-model-invocation,license,metadata(notauto_trigger,version) - No native agent or hook support in pi.dev — workarounds needed for tend/weed agents and allium-check validation
- Rules content must be inlined into SKILL.md or references (no glob-triggered rules)
Commands
Pi.dev is invoked with pi -p to load project skills from .pi/skills/.
Default model: Qwen3.6-35B-A3B-MXFP4_MOE.gguf via llama.cpp at http://127.0.0.1:8000/v1.
Conventions
- Symlinks must use relative paths so they resolve on any machine with
allium-main/cloned in the same position - Allium language version is 3 (check
allium-main/VERSION) - When adapting upstream SKILL.md files, preserve the body content and only change frontmatter and invocation references