Contributing to LocalPibox¶
LocalPibox is a personal, local-first AI devstack on Pi.dev. The stack is designed to be forked and personalized — you are welcome to contribute directly, fork it for your own stack, or share what works on your hardware.
There are three ways to get involved:
1. Contribute directly¶
Improve patches, add features, or fix bugs in any of the repos. Each repository has its own scope:
| Repo | What to work on |
|---|---|
| devstack | Container image (Dockerfile), lpb launcher (scripts/), entrypoints (support/), CI |
| config | Pi settings, MCP servers, custom skills, subagents presets |
| pi | Qwen reasoning_effort + context-overflow patches (fork) |
| lemonade-pi-plugin | Qwen thinking + vision support (fork) |
| pi-subagents | Centralized subagent model registry (fork) |
| lpb-memory | Persistent memory / session search extension |
Process¶
- Fork the repo and create a feature branch off its default branch
(
devfor own repos,lpb-devfor forks). - Make focused changes. Prefer minimal, targeted patches over broad rewrites.
- For forks, keep LocalPibox work as clean commits on top of upstream
merges (on the dev branch,
lpb-dev) so the delta vs upstream always extracts as one patch; the stablelpbbranch receives clean merges at release time. - Open a PR. Describe what changed, why, and how you tested it.
Policy notes¶
- Never hardcode model names in agent defaults — use
model: parentso agents inherit the session model. See the config repo'sagents/templates. - Anthropic models are not used in this stack; Qwen (via Lemonade) is the default.
- Forks carry candidate upstream contributions: ship a patch upstream when it's generally useful and not too opinionated for this stack.
2. Fork for your stack¶
- Fork the repos you care about.
- Clone devstack and edit
lpb.stack.envto point at your forks (see Forking & Repointing). - Build & push your image, then run
lpb.
You own your variant — change anything: image names, container name, branch refs, config preset.
3. Feed back experiences¶
Share what works reliably on your hardware with your models. Configuration like context-window ratios, thinking levels, and model detection depends heavily on the actual host (CPU/APU, RAM, model size). Your findings help everyone converge on robust local setups.
Open an issue or PR with: - Your hardware (e.g. "Ryzen AI Max+ 395, 128 GB"). - The model + provider + Pi version. - What worked, what overflowed, and any tuning you discovered.
Reporting issues¶
Open an issue in the relevant repo (usually devstack). Include:
- What you were doing.
- Exact command(s) and output.
- Host OS, container engine (podman/docker), and stack version (from
VERSION/lpb.conf.env).
Code of conduct¶
Keep it friendly and constructive — this is a personal stack shared in public. Respect other people's hardware, models, and workflows.