19 results

desktop

on your machine

skills

Knossos

Map dependencies, inspect change impact and keep architecture knowledge beside your work.

Knossos (Κνωσός) is a Bronze Age palace on Crete, associated with the Labyrinth in Greek mythology.
A Claude Code session with the Knossos pane: /knossos opens it, the Hubs, Cycles and Boundaries tabs pass by, the finder opens one component's blast radius, then a one-line edit, the band summing up what it reaches, and its diff on the Changes tab
A session: /knossos opens the pane, a walk through its tabs and a search, then an edit, the band summing up the change, and its diff in Changes.
On this pageWhat it does

What it does ​

Dependency analysis from source alone must be repeated in each session and can produce incomplete results. Knossos scans the repository into a local graph of components and their relationships, with file and line references for each. Relationships that static analysis cannot establish conclusively include confidence and origin labels.

What such a graph finds that an agent reading file by file misses is in What a dependency graph finds that your coding agent misses.

In Claude Code, /knossos opens the graph in a live pane beside your session. Hooks also add short context notes after relevant file reads, edits and commits: dependent files, applicable rules and related tests.

Context notes for Claude Code ​

Four types of single-line note are added at specific points in a session. Each note appears once for the relevant event and does not block tool calls.

NoteTrigger
Readafter a Read of a file with many dependents or an applicable policy
editafter an edit of a file with many dependents that did not receive a Read note
turn endafter a turn that edited files, once it is scanned: the boundary violations it introduced and the tests that reach its changes
commitafter a commit, summarising remaining effects of the session's changes

A Read note for a file with many dependents and an applicable boundary policy:

text
knossos: src/Query/ResultEnvelope.php (core) has 47 dependent files. Policy: core may not depend on php-worker, tests.

And after a commit:

text
knossos: this session's changes carry 1 changed file no test reaches (src/Kernel.php); 1 dependency cycle new since the session began (Router → Kernel). Check them before you push.

Before an edit, file_context can retrieve a file's boundary, applicable rules, dependents, related tests, latest commits and session change status in one tool call.

Each session starts with a short brief: whether the graph still matches the files, the project's rules and recorded notes. A routing skill specifies when to use the graph and when to search source text with grep.

The pane ​

/knossos opens the project's architecture on nine tabs: Overview, Hubs, Boundaries, Cycles, Issues, Changes, Branch, Churn and Notes. It opens on Overview.

Knossos Overview beside Claude Code, showing session changes, composition and dependency concentration
Overview. The same nine-tab architecture workspace is also available in your browser with knossos web.

Hubs lists the most depended-on components. On a wide pane the marked one's neighbourhood stands beside the list, so you can inspect its dependencies without leaving the tab.

Hubs tab with ResultEnvelope selected and its dependencies beside the component list
Hubs: components with the most dependents and the selected component’s dependency neighbourhood.

Cycles draws each dependency cycle as a row of boxes, from its first member back to the start.

Cycles tab showing a dependency cycle and the cycle list
Cycles: dependencies between cycle members, including the return to the first member.

After a turn that edited files, one line above the prompt reports the change impact:

text
knossos · 2 files → 37 dependents · 4 tests · as of 12s ago · reaching core, http +1

Changes holds the rest: every file changed since the session began, its dependents, the tests that reach it, and its diff.

Changes tab with hooks/lib/paths.ts, dependent files, related tests and the session diff
Changes: modified files, dependent files, related tests and session diffs.

Branch compares the checkout with its merge base, so you see what a branch added before you open a pull request.

Branch tab comparing the checkout with main, with regression checks and changes by boundary
Branch: changes relative to the merge base, including boundary crossings and dead-code candidates.

Every component and file has a detail view with dependency impact displayed as rings. Use the finder to locate a component by name.

Component finder with ResultEnv entered and 20 matches, with ResultEnvelope selected
Press f, enter part of a component name and press Enter to open the detail view.

A live watcher, one per project and shared by your sessions, rescans as files change, so the pane and the notes follow edits made by anyone. The pane does not block edits or initiate turns. If a prerequisite is missing, pane output is omitted.

Open the pane in your terminal ​

knossos without a command opens the same nine tabs fullscreen in your terminal, with the mouse and the keys of the pane. Keep it in a tmux split beside your work:

bash
cd /path/to/your-project
knossos

Ctrl-C quits, and so does q, except on a project that was never scanned, where q starts the scan. The terminal pane shares the project's server with knossos web, so a browser open on the same project shows the same pane. It needs Node 24 or newer.

Knossos in a terminal on the Hubs tab, with ArchitectureQueryService selected, its dependency neighbourhood beside the list and the files most depended on below
The Hubs tab in a terminal: the same tabs, keys and detail as the pane in Claude Code.

Open the workspace in your browser ​

knossos web opens the same nine-tab architecture workspace for Codex, another editor, or work outside an agent session. It includes the finder, component and file details, blast-radius rings, diffs and notes. Changes follows uncommitted work against the last commit.

bash
cd /path/to/your-project
knossos web

Keep the command running while you use it; Ctrl-C stops the local server. To select a project and port without opening a browser automatically:

bash
knossos web /path/to/your-project --port=8123 --no-open

Use the printed address, including its token.

Knossos browser workspace with architecture overview, composition charts and cross-boundary flows
The browser workspace uses the same graph and views as the native Claude Code pane.

Keep knowledge on the component ​

Attach durable facts to components instead of rediscovering them in each session. Notes survive rescans, and a human note takes precedence over an agent's. The Notes tab groups them by boundary and folder, marks stale notes and helps find the component you forgot.

Knossos Notes tab grouping component notes into a tree by boundary and folder
Notes keep project knowledge alongside the architecture it describes.

Quick start ​

Knossos is not yet published to Packagist or any container registry, so install it from a checkout. You need PHP 8.3 or newer, Node 24 or newer, Python 3.11 or newer, Composer 2 and Git. Cargo 1.82 or newer is optional and adds Rust scanning.

Run the installer from the project you want to scan first:

bash
git clone https://github.com/AraneaDev/knossos.git /absolute/path/to/knossos
cd /absolute/path/to/your-project
/absolute/path/to/knossos/tools/install

It creates the data directory ~/.knossos with a roots file that allows this project, scans it, and registers the MCP server with Claude Code at user scope. Then install the plugin, which carries the pane, the notes, the brief and the skill:

bash
ln -s /absolute/path/to/knossos/bin/knossos ~/.local/bin/knossos
knossos install-agent-plugin                                        # preview
knossos install-agent-plugin --data-dir="$HOME/.knossos" --execute

Start a new session and type /knossos.

Marketplace installation is not supported. A marketplace clone lacks vendor/, which is required to run the bundled knossos command.

MCP, CLI and CI integration ​

MCP clients. The graph is available through 37 MCP tools: impact analysis, call sites, flows between components, cycles, hubs, dead-code candidates, change review, test impact, snapshots and trends. Codex and any client that takes the common mcpServers stdio entry can use them. The native pane and session messages use Claude Code hooks. Other clients can browse the graph with knossos in a terminal or knossos web.

The CLI. Every tool except server_info is also a command, with --json for scripts, and knossos usage lists them:

bash
knossos impact-analysis . 'App\Billing\Invoice'
knossos review-diff . --base-ref=main --policies=architecture-policies.json
knossos watch /absolute/path/to/project

CI. Boundary policies say which part of the codebase may depend on which, and quality budgets cap regressions such as new cycles or boundary violations against a reviewed baseline:

bash
knossos quality-gate . <baseline-snapshot> --budgets=knossos-budgets.json --sarif --json

Exit code 0 means every evaluated gate passed, 1 that a gate failed, and 2 that the result could not be evaluated, and --sarif outputs findings in SARIF format for CI integration.

Languages ​

LanguageExtractionFramework enrichment
PHP 8.3+Declarations, inheritance, calls, construction, types, injectionLaravel, Livewire, Symfony
TypeScript/JavaScriptCompiler symbol resolution, imports, calls, types, project references, Vue/Svelte/Astro componentsNext.js, NestJS, React, Vue, stores, endpoints
Python 3.11+Standard-library AST in an isolated interpreter; manifests, packages, calls, routesFastAPI, Django, Flask, Celery
Rust 1.82+syn parsing; Cargo manifests, cross-file impls, routes. Never invokes cargo or rustcaxum, actix, Rocket

Multi-language repositories produce one graph for impact analysis across language boundaries. Each relationship has a confidence level: certain, probable or possible. A path's confidence is limited by the lowest-confidence relationship along that path.

Scan isolation and access limits ​

Scanning never installs dependencies, executes project code or boots a framework. Workers run supervised and resource-capped, and their output is untrusted until it passes validation.

The server reads only the roots you allowed. Knossos never widens that list during normal operation: only the installer and knossos allow-root --execute write it.

A failed scan is never activated. The last complete scan stays the graph you query, and the database is derived from the source, so it can always be rebuilt.