Thank you for helping improve Ghost in the Shell. Use issues and pull requests against this repository. Broader questions and coordination: ghost.bizs.app/contribute.html.
| Path | Role |
|---|---|
cmd/ |
Binaries: ghost, ghostctl, tool-cli, skill-cli, loop-cli, artifact-cli, artifact-server, … |
internal/ |
Core packages (agent loop, control plane, sandbox, tools, LLM, scheduler, …) |
architect/ |
Worlds, archetypes, skills, snippets, and related markdown assets |
dashboard/ |
Vite + React UI (optional) |
docker/ |
Compose for local stack (make up); optional per-world compose files under the same directory |
docs/ |
Design and deep-dive documentation |
From the repo root, make up starts Postgres, Ghost, the dashboard, and local devtools via docker/docker-compose.yml. The dashboard listens on http://localhost:5173 by default. See README.md for configuration and world loading.
Use this checklist when you change the Go backend or dashboard/ (not required if you only use the prebuilt Docker images).
- Go — version in
go.mod. With asdf, runasdf installusing.tool-versions. - Node.js — for the dashboard dev server and builds; same asdf flow.
- Optional —
golangci-lintandgoimportsif you run lint/format locally or use pre-commit hooks.
The Makefile lists targets such as build, test, lint, fmt, and Docker helpers (up, down, logs). A typical Go change: make fmt, make lint, make test (or go test ./... -race -count=1).
- Start with
docs/design.mdfor architecture. - If you change behavior that others rely on (API, scheduler, storage, agent lifecycle, etc.), update the relevant doc under
docs/and, for substantial design shifts,docs/design.md.
- Scope — One focused change per PR when possible; easier to review and revert.
- Describe — What you changed and why. Link related issues (
Fixes #123orRefs #123). - Verify — For Go changes, ensure tests and lint pass locally (
make test,make lintor equivalent). For dashboard changes, run the project’s usual checks (seedashboard/package.json). - Fill in — GitHub loads
.github/pull_request_template.mdwhen you open a PR; complete it so reviewers see testing notes and risk at a glance.