DevFlow
Comment-driven project knowledge graph for humans and AI.
Turn doc comments into a live, queryable map of your codebase — so both you and your AI assistant can understand the project in seconds, not file-by-file.
Installation · Quick Start · Features · AI Integration · Docs
Why
Every codebase has three problems that only get worse with time:
- AI starts blind. Every session begins from scratch — the AI reads files one by one, guessing at structure. DevFlow gives it a one-query overview so it orients in seconds.
- Comments are write-only. You write them, nobody reads them, they rot. DevFlow parses every comment into a graph node, so writing comments pays off immediately — for you and the AI.
- Code relationships live in your head. "Who calls this?" shouldn't require a grep. DevFlow indexes call edges, so impact analysis is one query away.
DevFlow is the bridge between the comments you already write and the understanding both you and the AI need.
Installation
From VSIX
- Download the latest
devflow-*.vsix from releases.
- In VS Code: Extensions →
... menu → Install from VSIX → select the file.
- Reload VS Code.
From source
git clone <this-repo>
cd devflow
npm install
npm run compile
# Press F5 in VS Code to launch an Extension Development Host
Requirements: VS Code 1.80.0 or later.
Quick Start
- Open any project in VS Code. DevFlow activates automatically.
- In the DevFlow sidebar, check the files you want to analyse.
- Click Force Rebuild (▶) in the sidebar toolbar to index them.
- Click Open Graph (graph icon) to view the knowledge graph in your browser.
Features
Interactive knowledge graph
A three-level web UI for exploring your project visually. Flowing purple edges with travelling light particles make connections easy to follow.
- Families — related files grouped by directory and call patterns.
- Family detail — all files in one family, plus neighbor families.
- Focus — one file and its direct neighbors, expandable incrementally.
Every file node carries:
| Field |
Source |
Example |
| File description |
@file header |
user authentication: login, logout, session management |
| Author / dates |
@author / @since / @lastModified |
deepseek / 2027-05-20 |
| Symbols |
top-level exports |
functions, classes, constants |
| Symbol doc |
first sentence of the doc comment |
Authenticate a user and return a session token |
| Parameters |
@param tags |
email - the user's email |
| Return type |
@returns tag |
session token |
| Exceptions |
@throws tag |
{AuthError} when credentials are invalid |
| Call edges |
reference resolver |
login → hashPassword, with confidence |
Incremental indexing
The graph rebuilds on save for files you've checked in the sidebar. No full reparse, no waiting.
Documentation gap detection
Run DevFlow: Get Documentation Gaps to find files missing headers or symbol docs. Fix them incrementally — the graph updates as you save.
Query API
All commands are available via the command palette and can be called programmatically by AI assistants.
| Command |
Description |
devflow.exportGraph |
Export the full graph as JSON, with optional filters |
devflow.getCallers |
Find all callers of a symbol |
devflow.getCallees |
Find all symbols called by a symbol |
devflow.findSymbol |
Locate a symbol by name across the project |
devflow.getFileSummary |
Quick overview of a file's symbols |
devflow.getFileDetail |
Full file detail with symbol docs and call edges |
devflow.getGaps |
List documentation gaps to fix |
devflow.forceRebuild |
Rebuild the graph for selected files |
devflow.generateSkill |
Generate a skill file for your AI editor |
devflow.openWebview |
Open the graph in your browser |
The local graph server also exposes JSON endpoints: /api/overview, /api/file?path=..., /api/gaps.
AI Integration
DevFlow generates a skill file that teaches your AI editor two things:
- Write comments in the exact DevFlow format — so the parser can extract them. The skill includes good-vs-bad examples and a completeness ladder (minimum → recommended → best).
- Query the graph when it needs to understand the project — instead of guessing from source. The skill lists which query to run for each scenario (overview, file detail, callers, gaps).
The result: the AI writes comments that feed the graph, and the graph feeds the AI's understanding. A virtuous loop.
Run DevFlow: Generate Skill File and pick your editor:
| Editor |
Output path |
| OpenCode |
.opencode/skills/devflow/SKILL.md |
| Cursor |
.cursor/rules/devflow.mdc |
| Continue |
.continue/rules/devflow.md |
| Claude Code |
.claude/skills/devflow.md |
| GitHub Copilot |
.github/copilot-instructions.md |
| Generic |
.devflow/SKILL.md |
Documentation Convention
DevFlow extracts information from structured doc comments. Write them like this:
/**
* @file user authentication: login, logout, session management
* @author your-name
* @since 2027-01-01
* @lastModified 2027-01-15
*/
/**
* Authenticate a user with email and password, return a session token.
*
* @param email - the user's email
* @param password - plaintext password
* @returns session token
* @throws {AuthError} when credentials are invalid
*/
export async function login(email: string, password: string): Promise<string> {
// ...
}
Language-specific header formats (Python, Go, Rust, Ruby, etc.) are documented in the generated skill file.
Supported languages
TypeScript · JavaScript · Python · Go · Rust
Additional languages are partially supported via a generic fallback extractor that handles common @file / @param / @returns comment patterns.
Data Storage
| Path |
Contents |
.devflow/graph.json |
The persisted graph (updated on save) |
.devflow/errors.log |
Error log |
Both are gitignore-friendly — they're project-local runtime data.
FAQ
The graph is empty.
Check files in the sidebar, then run DevFlow: Force Rebuild. The graph only indexes checked files.
The graph didn't update after I edited a file.
Make sure the file is checked in the sidebar. DevFlow rebuilds incrementally on save for checked files only.
My language isn't listed.
DevFlow has a generic fallback extractor. Structured @file / @param / @returns tags still work — the fallback just uses regex instead of a language AST.
Does the AI need to query the graph on every task?
No. The skill tells the AI to query only when it genuinely needs to understand the project — before touching unfamiliar code, locating a symbol, or assessing impact.
License
MIT