generate-tech-stack-mcp 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ashutosh Kumar
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,207 @@
1
+ Metadata-Version: 2.4
2
+ Name: generate-tech-stack-mcp
3
+ Version: 0.2.0
4
+ Summary: Generate a visual technology-stack inventory (TECH_STACK.html) from any codebase — languages, frameworks, databases, AI SDKs, testing, and infra. CLI + MCP server, stdlib-only scanner.
5
+ Author: Ashutosh Kumar
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/askuma/generate-tech-stack
8
+ Project-URL: Repository, https://github.com/askuma/generate-tech-stack
9
+ Project-URL: Live Demo, https://askuma.github.io/generate-tech-stack/
10
+ Keywords: mcp,mcp-server,tech-stack,dependencies,inventory,static-analysis,claude
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Topic :: Software Development :: Documentation
16
+ Requires-Python: >=3.10
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: mcp>=1.0.0
20
+ Dynamic: license-file
21
+
22
+ # generate-tech-stack
23
+
24
+ <!-- mcp-name: io.github.askuma/generate-tech-stack -->
25
+
26
+ Scan any project and generate a visual `TECH_STACK.html` page — dark-mode, auto-adapting, zero config.
27
+
28
+ Works as a **Claude Code skill**, **MCP server**, or **GitHub Copilot Extension**.
29
+
30
+ **[Live demo →](https://askuma.github.io/generate-tech-stack/)** — generated from
31
+ [fastapi/full-stack-fastapi-template](https://github.com/fastapi/full-stack-fastapi-template), unmodified.
32
+
33
+ ![TECH_STACK.html generated for full-stack-fastapi-template](https://raw.githubusercontent.com/askuma/generate-tech-stack/main/docs/preview.png)
34
+
35
+ ---
36
+
37
+ ## What it produces
38
+
39
+ Every generated page contains:
40
+
41
+ | Section | Description |
42
+ |---|---|
43
+ | **Stat row** | Total tools · Categories · AI Backends · Data Stores |
44
+ | **Architecture diagram** | Layered flow diagram (Consumer → API → AI/NLP → Data/Obs/Frontend) |
45
+ | **Bar chart** | Horizontal bars per category, colour-matched |
46
+ | **Tool cards** | One card per category; each tool shows a dot, name, description, and badge |
47
+ | **Badge legend** | Explains `pip`, `dep`, `optional`, `core`, `deploy`, `ci`, etc. |
48
+ | **Footer** | Project name · tool count · generation date |
49
+
50
+ ---
51
+
52
+ ## Repository layout
53
+
54
+ ```
55
+ ~/.claude/skills/generate-tech-stack/
56
+ ├── SKILL.md ← Claude Code skill definition
57
+ ├── INSTALL.md ← detailed per-platform installation guide
58
+ ├── README.md ← this file
59
+ ├── scripts/
60
+ │ └── analyze.py ← core scanner + HTML renderer (no dependencies)
61
+ ├── mcp/
62
+ │ ├── server.py ← MCP stdio server (pip install mcp)
63
+ │ └── requirements.txt
64
+ └── copilot/
65
+ ├── index.js ← GitHub Copilot Extension (Express)
66
+ ├── package.json
67
+ └── openai_function.json ← OpenAI / Antigravity function definition
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Usage
73
+
74
+ ### pip (CLI + MCP server)
75
+
76
+ ```bash
77
+ pip install generate-tech-stack-mcp
78
+
79
+ generate-tech-stack . TECH_STACK.html # CLI: scan and write the report
80
+ generate-tech-stack-mcp # stdio MCP server
81
+ ```
82
+
83
+ With pip installed, any MCP host config reduces to:
84
+
85
+ ```json
86
+ {
87
+ "mcpServers": {
88
+ "generate-tech-stack": { "command": "generate-tech-stack-mcp" }
89
+ }
90
+ }
91
+ ```
92
+
93
+ ### Claude Code
94
+
95
+ ```
96
+ /generate-tech-stack
97
+ ```
98
+
99
+ Run it from any project directory. The skill calls `scripts/analyze.py` and opens the result in your browser.
100
+
101
+ ### MCP (Claude Desktop, VS Code, Cursor, Zed, Windsurf, Continue)
102
+
103
+ ```bash
104
+ pip install mcp
105
+ ```
106
+
107
+ Add to your host's MCP config (replace the path with your actual home directory):
108
+
109
+ ```json
110
+ {
111
+ "mcpServers": {
112
+ "generate-tech-stack": {
113
+ "command": "python3",
114
+ "args": ["/home/<you>/.claude/skills/generate-tech-stack/mcp/server.py"]
115
+ }
116
+ }
117
+ }
118
+ ```
119
+
120
+ Then ask: `generate my tech stack` or `/generate-tech-stack`.
121
+
122
+ **MCP tools exposed:**
123
+ - `generate_tech_stack` — scans a project, writes `TECH_STACK.html`, opens in browser
124
+ - `list_tech_stack` — returns a JSON summary, no file written
125
+
126
+ ### GitHub Copilot Extension
127
+
128
+ ```bash
129
+ cd copilot
130
+ npm install
131
+ npm start # listens on port 3000
132
+ ngrok http 3000 # expose for GitHub to reach
133
+ ```
134
+
135
+ 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:
136
+
137
+ ```
138
+ @generate-tech-stack /generate-tech-stack
139
+ @generate-tech-stack /generate-tech-stack /path/to/project
140
+ ```
141
+
142
+ ### Command line (standalone)
143
+
144
+ ```bash
145
+ python3 ~/.claude/skills/generate-tech-stack/scripts/analyze.py /path/to/project
146
+ # output: /path/to/project/TECH_STACK.html
147
+
148
+ # custom output path:
149
+ python3 scripts/analyze.py . ~/Desktop/TECH_STACK.html
150
+ ```
151
+
152
+ `analyze.py` has no third-party dependencies — just Python 3.8+.
153
+
154
+ ---
155
+
156
+ ## What gets detected
157
+
158
+ | Source file | Detected tools |
159
+ |---|---|
160
+ | `requirements.txt` / `pyproject.toml` | Python packages (web, DB, AI, testing, observability, security…) |
161
+ | `package.json` | Node / npm packages (frameworks, frontend, DB drivers, tooling) |
162
+ | `go.mod` | Go language |
163
+ | `Cargo.toml` | Rust language |
164
+ | `pom.xml` / `build.gradle` | Java / Kotlin |
165
+ | `Gemfile` | Ruby |
166
+ | `composer.json` | PHP |
167
+ | `**/*.py` source | Optional/dynamic SDKs via `importlib.find_spec()` patterns |
168
+ | `docker-compose.yml` / `.env` | PostgreSQL, Redis, MongoDB, SQLite connection strings |
169
+ | `Dockerfile` | Docker |
170
+ | `docker-compose.yml` | Docker Compose |
171
+ | `.github/workflows/` | GitHub Actions |
172
+ | `.gitlab-ci.yml` | GitLab CI |
173
+ | `alembic.ini` | Alembic migrations |
174
+ | `nginx.conf` / `Caddyfile` | Reverse proxy |
175
+ | `tsconfig.json` / `src/**/*.ts` | TypeScript |
176
+
177
+ ---
178
+
179
+ ## Detected categories
180
+
181
+ | Category | Colour | Examples |
182
+ |---|---|---|
183
+ | Language & Runtime | Green | Python, Go, Rust, TypeScript |
184
+ | Web / API Framework | Purple | FastAPI, Express, Django, Next.js |
185
+ | Database / Storage | Green | SQLAlchemy, Prisma, Redis, ChromaDB |
186
+ | AI Guardrail SDKs | Blue | GuardrailsAI, NVIDIA NeMo, Presidio, Lakera |
187
+ | NLP / ML | Teal | spaCy, Transformers, Sentence Transformers |
188
+ | Observability | Teal | Prometheus, OpenTelemetry, Sentry, Loguru |
189
+ | Testing | Yellow | pytest, Jest, Cypress, Playwright |
190
+ | Security / Auth | Rose | PyJWT, bcrypt, Authlib, Helmet |
191
+ | Infrastructure / Deploy | Orange | Docker, Kubernetes, Celery, Boto3 |
192
+ | Frontend / Dashboard | Gray | React, Vue, Tailwind, Recharts |
193
+ | Messaging / Comms | Blue | Kafka, RabbitMQ, Socket.io |
194
+ | Dev Tools | Gray | ESLint, Prettier, Vite, TypeScript |
195
+
196
+ ---
197
+
198
+ ## Design
199
+
200
+ Dark-mode only. Fonts: **IBM Plex Sans** (body) + **JetBrains Mono** (code/badges), loaded from Google Fonts. No JavaScript — pure HTML + CSS. Self-contained single file, opens in any browser offline.
201
+
202
+ ---
203
+
204
+ ## See also
205
+
206
+ - [INSTALL.md](INSTALL.md) — per-platform setup instructions
207
+ - [SKILL.md](SKILL.md) — Claude Code skill specification
@@ -0,0 +1,186 @@
1
+ # generate-tech-stack
2
+
3
+ <!-- mcp-name: io.github.askuma/generate-tech-stack -->
4
+
5
+ Scan any project and generate a visual `TECH_STACK.html` page — dark-mode, auto-adapting, zero config.
6
+
7
+ Works as a **Claude Code skill**, **MCP server**, or **GitHub Copilot Extension**.
8
+
9
+ **[Live demo →](https://askuma.github.io/generate-tech-stack/)** — generated from
10
+ [fastapi/full-stack-fastapi-template](https://github.com/fastapi/full-stack-fastapi-template), unmodified.
11
+
12
+ ![TECH_STACK.html generated for full-stack-fastapi-template](https://raw.githubusercontent.com/askuma/generate-tech-stack/main/docs/preview.png)
13
+
14
+ ---
15
+
16
+ ## What it produces
17
+
18
+ Every generated page contains:
19
+
20
+ | Section | Description |
21
+ |---|---|
22
+ | **Stat row** | Total tools · Categories · AI Backends · Data Stores |
23
+ | **Architecture diagram** | Layered flow diagram (Consumer → API → AI/NLP → Data/Obs/Frontend) |
24
+ | **Bar chart** | Horizontal bars per category, colour-matched |
25
+ | **Tool cards** | One card per category; each tool shows a dot, name, description, and badge |
26
+ | **Badge legend** | Explains `pip`, `dep`, `optional`, `core`, `deploy`, `ci`, etc. |
27
+ | **Footer** | Project name · tool count · generation date |
28
+
29
+ ---
30
+
31
+ ## Repository layout
32
+
33
+ ```
34
+ ~/.claude/skills/generate-tech-stack/
35
+ ├── SKILL.md ← Claude Code skill definition
36
+ ├── INSTALL.md ← detailed per-platform installation guide
37
+ ├── README.md ← this file
38
+ ├── scripts/
39
+ │ └── analyze.py ← core scanner + HTML renderer (no dependencies)
40
+ ├── mcp/
41
+ │ ├── server.py ← MCP stdio server (pip install mcp)
42
+ │ └── requirements.txt
43
+ └── copilot/
44
+ ├── index.js ← GitHub Copilot Extension (Express)
45
+ ├── package.json
46
+ └── openai_function.json ← OpenAI / Antigravity function definition
47
+ ```
48
+
49
+ ---
50
+
51
+ ## Usage
52
+
53
+ ### pip (CLI + MCP server)
54
+
55
+ ```bash
56
+ pip install generate-tech-stack-mcp
57
+
58
+ generate-tech-stack . TECH_STACK.html # CLI: scan and write the report
59
+ generate-tech-stack-mcp # stdio MCP server
60
+ ```
61
+
62
+ With pip installed, any MCP host config reduces to:
63
+
64
+ ```json
65
+ {
66
+ "mcpServers": {
67
+ "generate-tech-stack": { "command": "generate-tech-stack-mcp" }
68
+ }
69
+ }
70
+ ```
71
+
72
+ ### Claude Code
73
+
74
+ ```
75
+ /generate-tech-stack
76
+ ```
77
+
78
+ Run it from any project directory. The skill calls `scripts/analyze.py` and opens the result in your browser.
79
+
80
+ ### MCP (Claude Desktop, VS Code, Cursor, Zed, Windsurf, Continue)
81
+
82
+ ```bash
83
+ pip install mcp
84
+ ```
85
+
86
+ Add to your host's MCP config (replace the path with your actual home directory):
87
+
88
+ ```json
89
+ {
90
+ "mcpServers": {
91
+ "generate-tech-stack": {
92
+ "command": "python3",
93
+ "args": ["/home/<you>/.claude/skills/generate-tech-stack/mcp/server.py"]
94
+ }
95
+ }
96
+ }
97
+ ```
98
+
99
+ Then ask: `generate my tech stack` or `/generate-tech-stack`.
100
+
101
+ **MCP tools exposed:**
102
+ - `generate_tech_stack` — scans a project, writes `TECH_STACK.html`, opens in browser
103
+ - `list_tech_stack` — returns a JSON summary, no file written
104
+
105
+ ### GitHub Copilot Extension
106
+
107
+ ```bash
108
+ cd copilot
109
+ npm install
110
+ npm start # listens on port 3000
111
+ ngrok http 3000 # expose for GitHub to reach
112
+ ```
113
+
114
+ 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:
115
+
116
+ ```
117
+ @generate-tech-stack /generate-tech-stack
118
+ @generate-tech-stack /generate-tech-stack /path/to/project
119
+ ```
120
+
121
+ ### Command line (standalone)
122
+
123
+ ```bash
124
+ python3 ~/.claude/skills/generate-tech-stack/scripts/analyze.py /path/to/project
125
+ # output: /path/to/project/TECH_STACK.html
126
+
127
+ # custom output path:
128
+ python3 scripts/analyze.py . ~/Desktop/TECH_STACK.html
129
+ ```
130
+
131
+ `analyze.py` has no third-party dependencies — just Python 3.8+.
132
+
133
+ ---
134
+
135
+ ## What gets detected
136
+
137
+ | Source file | Detected tools |
138
+ |---|---|
139
+ | `requirements.txt` / `pyproject.toml` | Python packages (web, DB, AI, testing, observability, security…) |
140
+ | `package.json` | Node / npm packages (frameworks, frontend, DB drivers, tooling) |
141
+ | `go.mod` | Go language |
142
+ | `Cargo.toml` | Rust language |
143
+ | `pom.xml` / `build.gradle` | Java / Kotlin |
144
+ | `Gemfile` | Ruby |
145
+ | `composer.json` | PHP |
146
+ | `**/*.py` source | Optional/dynamic SDKs via `importlib.find_spec()` patterns |
147
+ | `docker-compose.yml` / `.env` | PostgreSQL, Redis, MongoDB, SQLite connection strings |
148
+ | `Dockerfile` | Docker |
149
+ | `docker-compose.yml` | Docker Compose |
150
+ | `.github/workflows/` | GitHub Actions |
151
+ | `.gitlab-ci.yml` | GitLab CI |
152
+ | `alembic.ini` | Alembic migrations |
153
+ | `nginx.conf` / `Caddyfile` | Reverse proxy |
154
+ | `tsconfig.json` / `src/**/*.ts` | TypeScript |
155
+
156
+ ---
157
+
158
+ ## Detected categories
159
+
160
+ | Category | Colour | Examples |
161
+ |---|---|---|
162
+ | Language & Runtime | Green | Python, Go, Rust, TypeScript |
163
+ | Web / API Framework | Purple | FastAPI, Express, Django, Next.js |
164
+ | Database / Storage | Green | SQLAlchemy, Prisma, Redis, ChromaDB |
165
+ | AI Guardrail SDKs | Blue | GuardrailsAI, NVIDIA NeMo, Presidio, Lakera |
166
+ | NLP / ML | Teal | spaCy, Transformers, Sentence Transformers |
167
+ | Observability | Teal | Prometheus, OpenTelemetry, Sentry, Loguru |
168
+ | Testing | Yellow | pytest, Jest, Cypress, Playwright |
169
+ | Security / Auth | Rose | PyJWT, bcrypt, Authlib, Helmet |
170
+ | Infrastructure / Deploy | Orange | Docker, Kubernetes, Celery, Boto3 |
171
+ | Frontend / Dashboard | Gray | React, Vue, Tailwind, Recharts |
172
+ | Messaging / Comms | Blue | Kafka, RabbitMQ, Socket.io |
173
+ | Dev Tools | Gray | ESLint, Prettier, Vite, TypeScript |
174
+
175
+ ---
176
+
177
+ ## Design
178
+
179
+ Dark-mode only. Fonts: **IBM Plex Sans** (body) + **JetBrains Mono** (code/badges), loaded from Google Fonts. No JavaScript — pure HTML + CSS. Self-contained single file, opens in any browser offline.
180
+
181
+ ---
182
+
183
+ ## See also
184
+
185
+ - [INSTALL.md](INSTALL.md) — per-platform setup instructions
186
+ - [SKILL.md](SKILL.md) — Claude Code skill specification
@@ -0,0 +1,3 @@
1
+ """generate-tech-stack — visual technology-stack inventory from any codebase."""
2
+
3
+ __version__ = "0.2.0"