⚠️ Status: Early Development / UnstableDevIntrospect is actively under development. APIs, behavior, naming, and internal architecture may change frequently and without notice. Do not rely on DevIntrospect for production use at this stage.
DevIntrospect (dvi) is a repository analyzer and AI handoff generator. It scans a project,
summarizes structure and size, detects languages/frameworks/tools, extracts manifest facts, and
renders terminal, Markdown, JSON, or AI-oriented output.
It exists to give humans and AI coding agents a compact, repeatable picture of an unfamiliar codebase.
deno task dev -- --help
deno task dev -- . --format ai
deno task dev -- . --format json --git-onlydeno install -A -n dvi jsr:@forafekt/devintrospect/cli
npm install -g devintrospect
curl -fsSL https://github.com/forafekt/devintrospect/releases/latest/download/install.sh | sh
wget -qO- https://github.com/forafekt/devintrospect/releases/latest/download/install.sh | shLocal development:
deno install -A -f -n dvi ./src/cli.tsVerify an install:
dvi --version
dvi --self-testdvi . --format ansi
dvi . --format plain
dvi . --format markdown -o REPO.md
dvi . --format json -o repo.json
dvi . --format ai -o AI_HANDOFF.mdJSON output includes schemaVersion, tool, root, summary, detections, entries, tree,
manifests, hotspots, biggest files, and largest directories.
Run DevIntrospect as a stdio MCP server:
dvi mcpOptional AI-oriented commands consume analyzer output without requiring an API key:
dvi ai handoff .
dvi ai explain .
dvi ai risks .
dvi ai next-files .See MCP setup and AI commands.
dvi pack list
dvi pack install ./my-pack
dvi pack install https://example.com/company-pack.tar.gz --trust community
dvi pack update --all
dvi update --check
dvi update --packs
dvi update --all --dry-runSee packs, config layers, updates, security, and air-gapped usage.
dvi.json is discovered in the scan root or loaded with --config.
{
"version": 1,
"defaults": {
"format": "ai",
"gitOnly": true,
"showLines": true,
"topHotspots": 20
},
"ignore": {
"useDefaultPatterns": true,
"readGitignore": true,
"readIgnore": true,
"patterns": ["tmp", "*.generated.ts"]
}
}{
"version": 1,
"detect": {
"pathRules": [
{ "type": "basename", "match": "wrangler.toml", "emit": ["tool:cloudflare"] }
],
"rules": [
{ "id": "cloudflare", "ifAny": ["tool:cloudflare"], "emit": ["detect:tool:cloudflare"] }
]
}
}Rules support ifAll, ifAny, ifNone, and emit. Path rules support basename, exact,
glob, and ext.
Built-in detection covers TypeScript, JavaScript, JSX/TSX, Deno, Node, Vue, React, Svelte, Python, Go, Rust, Shell, HTML/CSS, SQL, JSON/YAML/TOML/Markdown, Docker, GitHub Actions, GitLab CI, Vite, Vitest, Jest, Playwright, Cypress, Next.js, Nuxt, SvelteKit, Astro, Express, Hono, Fastify, Oak, Turborepo, Nx, and Lerna.
Manifest extraction covers package.json, deno.json, Cargo.toml, go.mod, pyproject.toml,
requirements.txt, Dockerfiles, CI configs, and TypeScript configs where practical.
Detector metadata lives beside detector modules under src/detect/detectors. Registry loaders
discover detectors, extractors, schemas, and rules by convention.
deno task dev -- --help
deno task test
deno task lint
deno task fmt
deno task build:npm
sh scripts/smoke-release.shArchitecture, config, rules, JSON output, install, and release notes live in docs/.