{
  "markdown": "# Attacca\n\n<p align=\"center\"><em>attacca (Italian) — proceed to the next movement without pause.</em></p>\n\n**A context-engineering toolkit for Claude Code.** Three plugins that add what the model can't provide for itself: the questions your project needs answered before building, and the gates it can't skip before shipping.\n\nThe name is the design goal. A new session, a teammate's clone, or a cloud agent should pick the work up mid-phrase — no re-explaining the project, no re-deriving decisions already made. That's what [the score and the performance](docs/CONTEXT-SCHEMA.md#score-and-performance) are for.\n\nAttacca 4.0 ships nothing the model already knows how to do. Every artifact is either **context** (interrogation frameworks, decision records) or **verification** (hooks, audits, gates) — see [docs/DESIGN-DECISIONS.md](docs/DESIGN-DECISIONS.md).\n\n## Install\n\n```\n/plugin marketplace add adihebbalae/Attacca\n/plugin install attacca-core@attacca\n/plugin install attacca-security@attacca\n/plugin install attacca-init@attacca\n```\n\nInstall only what you need — each plugin works standalone.\n\n| Plugin | What it adds |\n|---|---|\n| **attacca-core** | Workflow skills (diagnose, tdd, code-review, quality-gate, prototype, grill-me, adversarial-debate, wrap-session, bdr-commit, more), `critic` + `researcher` subagents, token-saving read-once hook, auto-lint hook, context-budget advisory hook |\n| **attacca-security** | Security-audit / supply-chain / SBOM skills, an isolated-context `security-auditor` subagent, and a hook that **blocks `git push` until a fresh clean audit exists** |\n| **attacca-init** | `/interrogate` — turns \"build me a webstore with stripe and auth\" into structured questions (auth, payments, data, hosting, budget, non-goals) and a committed score — plus init-project, retrofit, mvp, validate-idea |\n\n## Start a project\n\n```bash\nmkdir my-app && cd my-app && git init && claude\n```\n\nThen: install the plugins, describe what you want to build, and `/interrogate` fires on anything ambiguous. Answers become two committed files every future session (and teammate, and cloud agent) reads to orient — **a score and a performance**:\n\n- **`CONTEXT.md`** — the score. What this is, the stack, every decision with the alternative it beat. Authoritative over every session; append-only.\n- **`.attacca/focus.md`** — this performance. What's in flight, what's next, what's blocked. Rewritten every session, disposable by design.\n\nThree rules follow, and they're the whole convention:\n\n1. **A performance never edits the score.** `/wrap-session` rewrites `focus.md` and only *appends* to `CONTEXT.md` — and only when a decision was actually made.\n2. **You can lose a performance; you can't lose the score.** Git reconstructs what changed. Nothing reconstructs what was rejected and why.\n3. **When performances keep going wrong the same way, fix the score.** Corrected twice on the same point? `/wrap-session` surfaces it and proposes the amendment, so the next session doesn't need the note.\n\nFor the minimal per-project files (CLAUDE.md, AGENTS.md, CONTEXT.md + focus.md skeletons, settings.json, statusline.mjs), copy [`template/`](template/) — six small files, that's the whole footprint. `settings.json` wires the statusLine to `statusline.mjs`, which feeds attacca-core's context-watch hook so the model can see its own context/rate-limit budget and flag it instead of quietly rotting or reflex-compacting. Existing codebase? Run `/retrofit` — it migrates a pre-4.3 single-file `CONTEXT.md` for you.\n\n## Using another tool?\n\n`template/AGENTS.md` is the [cross-tool standard](https://agents.md) read natively by Copilot, Cursor, Codex, and 30+ agents (Claude Code loads it via the `@AGENTS.md` import in CLAUDE.md). That one file is Attacca's entire multi-tool story — the v3 per-tool ports live on the [`legacy/v3`](../../tree/legacy/v3) branch.\n\n## Docs\n\n- [Plugin architecture](docs/PLUGIN-ARCHITECTURE.md) — what's in each plugin and how they loop together\n- [Score and performance](docs/CONTEXT-SCHEMA.md) — `CONTEXT.md` + `.attacca/focus.md`, and why they're two files\n- [Migrating from v3](docs/MIGRATION-v3-to-v4.md) — state.json → CONTEXT.md, personas → subagents\n- [Design decisions](docs/DESIGN-DECISIONS.md) — why 4.x looks like this\n\n## Version\n\n`v4.4.0` — see [CHANGELOG.md](CHANGELOG.md). v3.11.2 (the multi-tool boilerplate era) is preserved at tag `v3.11.2-final`.\n\n---\n\n*Built with [Attacca](https://github.com/adihebbalae/Attacca)*\n",
  "bytes": 4474,
  "sha": "6651d5228a0f2988ce957c965982accf039522eb559ecde15837ac08bb65ebc8",
  "repo_slug": "adihebbalae/attacca",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_adihebbalae_attacca_attacca_5ad2b668/readme"
}