Generate Tech Stack

Visual tech-stack inventory of any codebase: languages, frameworks, databases, AI SDKs, infra.

E-CommercePythonv0.2.2

generate-tech-stack

Scan any project and generate a visual TECH_STACK.html page — light/dark theme, auto-adapting, zero config.

Works as a Claude Code skill, MCP server, or GitHub Copilot Extension.

Live demo → — generated from fastapi/full-stack-fastapi-template, unmodified.

Running generate-tech-stack against fastapi/full-stack-fastapi-template, from pip install to the generated page

(real CLI output, unscripted — static screenshot if you'd rather not autoplay)


What it produces

Every generated page contains:

SectionDescription
Stat rowTotal tools · Categories · AI Backends · Data Stores
Architecture diagramLayered flow diagram (Consumer → API → AI/NLP → Data/Obs/Frontend)
Bar chartHorizontal bars per category, colour-matched
Tool cardsOne card per category; each tool shows a dot, name, description, and badge
Badge legendExplains pip, dep, optional, core, deploy, ci, etc.
FooterProject name · tool count · generation date
Guided tourSpotlight walkthrough of every section, shown automatically the first time a report is opened; replay anytime with the ? button
Theme toggleSun/moon button next to the tour button switches between dark and light mode

Repository layout

~/.claude/skills/generate-tech-stack/
├── SKILL.md                  ← Claude Code skill definition
├── INSTALL.md                ← detailed per-platform installation guide
├── README.md                 ← this file
├── scripts/
│   └── analyze.py            ← core scanner + HTML renderer (no dependencies)
├── mcp/
│   ├── server.py             ← MCP stdio server (pip install mcp)
│   └── requirements.txt
└── copilot/
    ├── index.js              ← GitHub Copilot Extension (Express)
    ├── package.json
    └── openai_function.json  ← OpenAI / Antigravity function definition

Usage

pip (CLI + MCP server)

pip install generate-tech-stack-mcp

generate-tech-stack . TECH_STACK.html    # CLI: scan and write the report
generate-tech-stack-mcp                   # stdio MCP server

With pip installed, any MCP host config reduces to:

{
  "mcpServers": {
    "generate-tech-stack": { "command": "generate-tech-stack-mcp" }
  }
}

Claude Code

/generate-tech-stack

Run it from any project directory. The skill calls scripts/analyze.py and opens the result in your browser.

MCP (Claude Desktop, VS Code, Cursor, Zed, Windsurf, Continue)

pip install mcp

Add to your host's MCP config (replace the path with your actual home directory):

{
  "mcpServers": {
    "generate-tech-stack": {
      "command": "python3",
      "args": ["/home/<you>/.claude/skills/generate-tech-stack/mcp/server.py"]
    }
  }
}

Then ask: generate my tech stack or /generate-tech-stack.

MCP tools exposed:

  • generate_tech_stack — scans a project, writes TECH_STACK.html, opens in browser
  • list_tech_stack — returns a JSON summary, no file written

GitHub Copilot Extension

cd copilot
npm install
npm start        # listens on port 3000
ngrok http 3000  # expose for GitHub to reach

Register a GitHub App with Copilot Extension enabled, set the Agent URL to https://your-url/agent, and install it on your account. Then in Copilot Chat:

@generate-tech-stack /generate-tech-stack
@generate-tech-stack /generate-tech-stack /path/to/project

Command line (standalone)

python3 ~/.claude/skills/generate-tech-stack/scripts/analyze.py /path/to/project
# output: /path/to/project/TECH_STACK.html

# custom output path:
python3 scripts/analyze.py . ~/Desktop/TECH_STACK.html

analyze.py has no third-party dependencies — just Python 3.8+.


What gets detected

Source fileDetected tools
requirements.txt / pyproject.tomlPython packages (web, DB, AI, testing, observability, security…)
package.jsonNode / npm packages (frameworks, frontend, DB drivers, tooling)
go.modGo language
Cargo.tomlRust language
pom.xml / build.gradleJava / Kotlin
GemfileRuby
composer.jsonPHP
**/*.py sourceOptional/dynamic SDKs via importlib.find_spec() patterns
docker-compose.yml / .envPostgreSQL, Redis, MongoDB, SQLite connection strings
DockerfileDocker
docker-compose.ymlDocker Compose
.github/workflows/GitHub Actions
.gitlab-ci.ymlGitLab CI
alembic.iniAlembic migrations
nginx.conf / CaddyfileReverse proxy
tsconfig.json / src/**/*.tsTypeScript

Detected categories

CategoryColourExamples
Language & RuntimeGreenPython, Go, Rust, TypeScript
Web / API FrameworkPurpleFastAPI, Express, Django, Next.js
Database / StorageGreenSQLAlchemy, Prisma, Redis, ChromaDB
AI SDKsBlueOpenAI, Anthropic, LangChain, GuardrailsAI, NVIDIA NeMo, Presidio
NLP / MLTealspaCy, Transformers, Sentence Transformers
ObservabilityTealPrometheus, OpenTelemetry, Sentry, Loguru
TestingYellowpytest, Jest, Cypress, Playwright
Security / AuthRosePyJWT, bcrypt, Authlib, Helmet
Infrastructure / DeployOrangeDocker, Kubernetes, Celery, Boto3
Frontend / DashboardGrayReact, Vue, Tailwind, Recharts
Messaging / CommsBlueKafka, RabbitMQ, Socket.io
Dev ToolsGrayESLint, Prettier, Vite, TypeScript

Design

Dark by default with a light-mode toggle (top-right corner, no persistence — resets to dark on reload). Fonts: IBM Plex Sans (body) + JetBrains Mono (code/badges), loaded from Google Fonts. Vanilla JS powers the guided tour and theme toggle only — everything else is plain HTML + CSS. Self-contained single file, opens in any browser offline.


See also

  • INSTALL.md — per-platform setup instructions
  • SKILL.md — Claude Code skill specification

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx generate-tech-stack-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-askuma-generate-tech-stack": {
      "command": "uvx",
      "args": [
        "generate-tech-stack-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

generate-tech-stack-mcppypi

Compatible MCP Clients

Generate Tech Stack works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More