- Python 57.7%
- Shell 42.3%
| .claude | ||
| .claude-plugin | ||
| agents | ||
| assets | ||
| docs | ||
| hooks | ||
| mcp/rdf-explorer | ||
| processes | ||
| reference | ||
| skills | ||
| templates/cacciannanze | ||
| .claudeignore | ||
| .dockerignore | ||
| .gitignore | ||
| .gitmodules | ||
| .mcp.json | ||
| CLAUDE.md | ||
| instructions.md | ||
| LICENSE | ||
| NOTICE | ||
| README.md | ||
| TRADEMARK.md | ||
Cacciannanze
cacciannanze (dialect from Ascoli Piceno, Marche) — From "caccià 'nnanzë" (cacciato innanzi, pulled out before). A traditional white focaccia with olive oil, garlic, and rosemary that bakers would pull out of the wood-fired oven before the bread to test if the temperature was right for baking. A practical tool that became a beloved dish in its own right.
Knowledge OS for Claude Code projects: capture project facts, organize them into a knowledge graph (RDF), generate browsable Markdown documentation. Distributed as a Claude Code plugin.
Install
Cacciannanze 1.0.0 ships as a Claude Code plugin on the claudiomaradonna marketplace.
# In any Claude Code session:
/plugin marketplace add claudiomaradonna https://git.unitoo.it/claudiomaradonna/claude-plugins.git
/plugin install cacciannanze@claudiomaradonna
Then, in the project where you want Cacciannanze active:
/cacciannanze-init
The bootstrap creates .cacciannanze/user/ (your config) and .cacciannanze/runtime/ (working state), copies instructions.md from the plugin to .cacciannanze/instructions.md, updates your .gitignore, and (optionally) installs the Python dependencies for the bundled rdf-explorer MCP server.
Day-to-day
/fact "Marco è un PM power-user" # capture a fact (auto-invokes from natural language too)
/document # turn captured facts into Markdown pages + RDF graph
/search "chi è Marco" # query the knowledge base (auto-invokes too)
/ingest # pull facts from registered folder sources
/cacciannanze-health # diagnostic check
The 6 skills shipped by the core plugin: fact, document, search, ingest, cacciannanze-init, cacciannanze-health. fact and search auto-invoke from natural language. The other 4 are manual-only via /<name>.
Optional satellites
Cacciannanze stays minimal. Domain-specific workflows ship as separate plugins on the same marketplace:
cacciannanze-shape— Shape Up methodology. Adds/shape <problem>to scope problems into pitches (P##) or fixes (F##).cacciannanze-basecamp— Basecamp 4 publishing + ingestion. Adds/publish-basecampand/ingest-basecamp, plus a bundled MCP server.
/plugin install cacciannanze-shape@claudiomaradonna
/plugin install cacciannanze-basecamp@claudiomaradonna
Each satellite owns its own state under .cacciannanze/runtime/satellites/<name>/; the core never reads or writes those files.
Resetting runtime state
There is no reset skill — too destructive to expose to model invocation. To wipe selectively:
rm -rf .cacciannanze/runtime/facts # captured facts
rm -rf .cacciannanze/runtime/knowledge # RDF graph
rm -rf .cacciannanze/runtime/cache # scanner cache
rm -rf docs/cacciannanze/docs # generated documentation
Your .cacciannanze/user/ (config + overrides) is yours — never wiped automatically.
Documentation
docs/concepts.md— user-facing surface and the mental modeldocs/plugin.md— plugin layout,${CLAUDE_PLUGIN_ROOT}, hook discoverydocs/architecture.md— three layers, life of a fact, principlesdocs/layout.md—.cacciannanze/directory treedocs/configuration.md—config.yamlschema and overridesdocs/commands.md— skill reference
License
Apache 2.0. See LICENSE, NOTICE, TRADEMARK.md.