Skip to main content

Turn any folder of code, docs, papers, images, or videos into a queryable knowledge graph — no LLM required for AST extraction

Project description

tracely360

Turn any folder of code, docs, papers, images, or videos into a queryable knowledge graph. Type /tracely360 in your AI coding assistant — it reads your files, builds a graph, and gives you back structure you didn't know was there. Understand a codebase faster. Find the "why" behind architectural decisions.

71.5× fewer tokens per query vs reading the raw files, persistent across sessions, honest about what it found vs guessed.

Highlights

  • Deterministic AST extraction — 25 languages via tree-sitter (Python, JS, TS, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C, Julia, Verilog, SystemVerilog, Vue, Svelte, Dart)
  • API endpoint discovery — Flask, FastAPI, Django, Express, NestJS, Next.js, Spring, Laravel, Rails, Gin, Echo, Chi, ASP.NET
  • Multimodal — code, markdown, PDFs, images, screenshots, diagrams, whiteboard photos, video and audio (transcribed via faster-whisper with domain-aware prompts)
  • Leiden community detection — topology-based clustering, no embeddings, no LLM calls
  • Multiple exports — interactive HTML (vis.js), persistent JSON, Obsidian wiki, SVG, markdown report
  • MCP server — expose the graph over stdio for Claude, Codex, and other agents
  • Per-file caching — re-runs only process changed files (SHA256-based)
  • Git hooks — auto-rebuild on commit/checkout

Project scope

  • Deterministic, local-first analysis. Core graph extraction should stay explainable and reproducible.
  • No hosted LLM dependency in the analysis pipeline.
  • If you want to propose a large feature or scope change, open an issue before sending a pull request.

Install

pip install tracely360
tracely360 install

Optional extras:

pip install "tracely360[mcp]"      # MCP stdio server
pip install "tracely360[neo4j]"    # Neo4j push
pip install "tracely360[pdf]"      # PDF extraction
pip install "tracely360[video]"    # Video/audio transcription
pip install "tracely360[watch]"    # File watcher
pip install "tracely360[svg]"      # Static SVG export
pip install "tracely360[leiden]"   # Leiden clustering (Python <3.13)
pip install "tracely360[office]"   # Word/Excel conversion
pip install "tracely360[all]"      # Everything

Quick start

Skill mode (recommended)

Type /tracely360 . in Claude Code, Codex, OpenCode, Cursor, Gemini CLI, GitHub Copilot CLI, VS Code Copilot Chat, Aider, OpenClaw, Factory Droid, Trae, Hermes, Kiro, or Google Antigravity.

CLI utilities

tracely360 query "How is AuthController connected to Service?"
tracely360 path "AuthController" "Service"
tracely360 explain "Repository"

For full graph builds, use the assistant skill mode above. The direct CLI exposes utilities like update, watch, query, path, explain, and platform installers.

Watch mode

tracely360 watch

Auto-rebuilds the AST graph on file changes. No LLM required.

MCP server

python -m tracely360.serve

Exposes the graph over stdio. Tools: query_graph, get_node, get_neighbors, get_community, god_nodes, graph_stats, shortest_path.

Outputs

All results land in tracely360-out/:

File Description
GRAPH_REPORT.md One-page audit: god nodes, clusters, surprising connections, API endpoints, knowledge gaps
graph.json Persistent queryable graph (node-link format with cluster assignments in the community field)
graph.html Interactive vis.js visualization with search, filtering, and node inspection
wiki/ Obsidian-compatible markdown vault with bidirectional wikilinks
cache/ Per-file extraction cache (SHA256-keyed)

Supported platforms

Platform Install command
Claude Code tracely360 claude install
Codex tracely360 codex install
OpenCode tracely360 opencode install
Aider tracely360 aider install
Cursor tracely360 cursor install
VS Code Copilot Chat tracely360 vscode install
GitHub Copilot CLI tracely360 install --platform copilot
OpenClaw tracely360 claw install
Factory Droid tracely360 droid install
Trae tracely360 trae install
Gemini CLI tracely360 gemini install
Hermes tracely360 hermes install
Kiro tracely360 kiro install
Google Antigravity tracely360 antigravity install

Git hooks

tracely360 hook install    # post-commit + post-checkout
tracely360 hook uninstall

Rebuilds the AST-only graph after every commit. Works with Husky and custom core.hooksPath.

API endpoint extraction

Static analysis only — no code execution, no port probing. Detects route decorators/registrations in:

  • Python: Flask (@app.route), FastAPI (@app.get), Django (urlpatterns)
  • JavaScript/TypeScript: Express (app.get), NestJS (@Get()), Next.js API routes
  • Java: Spring (@GetMapping, @RequestMapping)
  • PHP: Laravel (Route::get)
  • Ruby: Rails (resources, get, post in routes.rb)
  • Go: Gin, Echo, Chi (r.GET, e.GET, r.Get)
  • C#: ASP.NET ([HttpGet], MapGet)

Detected routes appear as endpoint nodes in the graph and in the API Endpoints section of the report.

Environment variables

Variable Default Purpose
TRACELY360_WHISPER_PROMPT (derived from corpus) Override faster-whisper prompt
TRACELY360_WHISPER_MODEL base Whisper model name

Legacy names GRAPHIFY_WHISPER_PROMPT and GRAPHIFY_WHISPER_MODEL are still supported.

How it works

detect() → extract() → build_from_json() → cluster() + score_all()
  → god_nodes() / surprising_connections() / suggest_questions()
  → generate() → to_json() / to_html() / to_wiki()
  1. Detect — scan corpus, classify files (code, document, paper, image, video)
  2. Extract — two-pass AST extraction: per-file structure, then cross-file import resolution. Endpoint pass discovers API routes.
  3. Build — assemble NetworkX graph from flat node/edge payloads
  4. Cluster — Leiden graph clustering (topology-based, no embeddings)
  5. Analyze — god nodes, surprising connections, knowledge gaps
  6. Report — render GRAPH_REPORT.md with full audit trail
  7. Export — interactive HTML, persistent JSON, Obsidian wiki

Confidence model

Every edge carries a confidence level:

Level Meaning
EXTRACTED Directly proven by source code or parser
INFERRED Reasonable structural/semantic inference
AMBIGUOUS Uncertain — flagged for review

Team workflow

Commit tracely360-out/ to git. The graph, report, and wiki are plain text and diff cleanly. Use .tracely360ignore (same syntax as .gitignore) to exclude files from extraction.

Recommended .gitignore additions:

tracely360-out/cache/

Community

License

Apache License 2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tracely360-0.4.29.tar.gz (310.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tracely360-0.4.29-py3-none-any.whl (290.4 kB view details)

Uploaded Python 3

File details

Details for the file tracely360-0.4.29.tar.gz.

File metadata

  • Download URL: tracely360-0.4.29.tar.gz
  • Upload date:
  • Size: 310.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for tracely360-0.4.29.tar.gz
Algorithm Hash digest
SHA256 6d6c953fa02f531380f69980510f9851a8f752f75f9481d4c9616551f8f542ae
MD5 486da2e27df33ad351a8fc1a589c70ab
BLAKE2b-256 3c436714b6a16c445a1a16be72fd5f239f21ffcbf7aef553f4ae83dbd545ad0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tracely360-0.4.29.tar.gz:

Publisher: workflow.yml on sidrat2612/tracely360-lite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tracely360-0.4.29-py3-none-any.whl.

File metadata

  • Download URL: tracely360-0.4.29-py3-none-any.whl
  • Upload date:
  • Size: 290.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for tracely360-0.4.29-py3-none-any.whl
Algorithm Hash digest
SHA256 514ce370abac753ce356411d962934ee3bf88eb242c106a5dc5b86f452c627cc
MD5 046cff0662a35e67384f5c04eafab0d0
BLAKE2b-256 e0369733dabc16476195fbc9584c91bf7f760302814f0ed99efcc6ddb190c0f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for tracely360-0.4.29-py3-none-any.whl:

Publisher: workflow.yml on sidrat2612/tracely360-lite

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page