skilly-ai 1.0.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.
Files changed (41) hide show
  1. skilly_ai-1.0.0/LICENSE +21 -0
  2. skilly_ai-1.0.0/PKG-INFO +318 -0
  3. skilly_ai-1.0.0/README.md +294 -0
  4. skilly_ai-1.0.0/pyproject.toml +39 -0
  5. skilly_ai-1.0.0/setup.cfg +4 -0
  6. skilly_ai-1.0.0/setup.py +17 -0
  7. skilly_ai-1.0.0/skilly_ai.egg-info/PKG-INFO +318 -0
  8. skilly_ai-1.0.0/skilly_ai.egg-info/SOURCES.txt +39 -0
  9. skilly_ai-1.0.0/skilly_ai.egg-info/dependency_links.txt +1 -0
  10. skilly_ai-1.0.0/skilly_ai.egg-info/entry_points.txt +2 -0
  11. skilly_ai-1.0.0/skilly_ai.egg-info/requires.txt +9 -0
  12. skilly_ai-1.0.0/skilly_ai.egg-info/top_level.txt +1 -0
  13. skilly_ai-1.0.0/skilly_core/__init__.py +25 -0
  14. skilly_ai-1.0.0/skilly_core/analyzer.py +387 -0
  15. skilly_ai-1.0.0/skilly_core/cache.py +130 -0
  16. skilly_ai-1.0.0/skilly_core/cli.py +346 -0
  17. skilly_ai-1.0.0/skilly_core/config.py +108 -0
  18. skilly_ai-1.0.0/skilly_core/extractors/__init__.py +19 -0
  19. skilly_ai-1.0.0/skilly_core/extractors/base.py +23 -0
  20. skilly_ai-1.0.0/skilly_core/extractors/javascript_extractor.py +381 -0
  21. skilly_ai-1.0.0/skilly_core/extractors/manifest_extractor.py +683 -0
  22. skilly_ai-1.0.0/skilly_core/extractors/polyglot_extractor.py +350 -0
  23. skilly_ai-1.0.0/skilly_core/extractors/python_extractor.py +406 -0
  24. skilly_ai-1.0.0/skilly_core/extractors/universal_engine.py +425 -0
  25. skilly_ai-1.0.0/skilly_core/generators/__init__.py +13 -0
  26. skilly_ai-1.0.0/skilly_core/generators/graph_markdown_generator.py +101 -0
  27. skilly_ai-1.0.0/skilly_core/generators/html_visualizer.py +1074 -0
  28. skilly_ai-1.0.0/skilly_core/generators/skills_generator.py +184 -0
  29. skilly_ai-1.0.0/skilly_core/graph_engine.py +199 -0
  30. skilly_ai-1.0.0/skilly_core/injectors/__init__.py +8 -0
  31. skilly_ai-1.0.0/skilly_core/injectors/ai_injector.py +167 -0
  32. skilly_ai-1.0.0/skilly_core/models.py +177 -0
  33. skilly_ai-1.0.0/skilly_core/py.typed +2 -0
  34. skilly_ai-1.0.0/tests/test_ai_injector.py +125 -0
  35. skilly_ai-1.0.0/tests/test_end_to_end.py +48 -0
  36. skilly_ai-1.0.0/tests/test_graph_engine.py +45 -0
  37. skilly_ai-1.0.0/tests/test_javascript_extractor.py +20 -0
  38. skilly_ai-1.0.0/tests/test_manifest_extractor.py +36 -0
  39. skilly_ai-1.0.0/tests/test_production.py +85 -0
  40. skilly_ai-1.0.0/tests/test_python_extractor.py +36 -0
  41. skilly_ai-1.0.0/tests/test_universal_engine.py +37 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025-2026 Arastu Thakur (https://arastuthakur.com.np/)
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,318 @@
1
+ Metadata-Version: 2.4
2
+ Name: skilly-ai
3
+ Version: 1.0.0
4
+ Summary: Autonomous LLM-free project capability analyzer and interactive knowledge graph synthesizer.
5
+ Author-email: Arastu Thakur <arustuthakur@gmail.com>
6
+ Maintainer-email: Arastu Thakur <arustuthakur@gmail.com>
7
+ License: MIT
8
+ Project-URL: Homepage, https://arastuthakur.com.np/
9
+ Project-URL: GitHub, https://github.com/arastuthakur
10
+ Project-URL: LinkedIn, https://www.linkedin.com/in/arastuthakur/
11
+ Keywords: ast,knowledge-graph,static-analysis,skills,capabilities,documentation,cli
12
+ Requires-Python: >=3.8
13
+ Description-Content-Type: text/markdown
14
+ License-File: LICENSE
15
+ Requires-Dist: networkx>=2.8
16
+ Requires-Dist: rich>=12.0.0
17
+ Provides-Extra: treesitter
18
+ Requires-Dist: tree-sitter>=0.20.0; extra == "treesitter"
19
+ Requires-Dist: tree-sitter-languages; extra == "treesitter"
20
+ Provides-Extra: test
21
+ Requires-Dist: pytest>=7.0.0; extra == "test"
22
+ Dynamic: license-file
23
+ Dynamic: requires-python
24
+
25
+ # Skilly
26
+
27
+ <p align="center">
28
+ <img src="assets/logo.png" alt="Skilly Logo" width="560"/>
29
+ </p>
30
+
31
+ <p align="center">
32
+ <strong>Autonomous, 100% LLM-Free Codebase Capability Analyzer & Interactive Knowledge Graph Synthesizer</strong>
33
+ </p>
34
+
35
+ <p align="center">
36
+ <a href="https://arastuthakur.com.np/"><img src="https://img.shields.io/badge/Author-Arastu%20Thakur-38bdf8?style=for-the-badge&logo=google-chrome&logoColor=white" alt="Author Arastu Thakur"/></a>
37
+ <a href="https://github.com/arastuthakur"><img src="https://img.shields.io/badge/GitHub-arastuthakur-181717?style=for-the-badge&logo=github&logoColor=white" alt="GitHub arastuthakur"/></a>
38
+ <a href="https://www.linkedin.com/in/arastuthakur/"><img src="https://img.shields.io/badge/LinkedIn-Arastu%20Thakur-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white" alt="LinkedIn arastuthakur"/></a>
39
+ </p>
40
+
41
+ <p align="center">
42
+ <img src="https://img.shields.io/badge/Zero--LLM-100%25%20Deterministic-10b981?style=flat-square" alt="Zero LLM"/>
43
+ <img src="https://img.shields.io/badge/Air--Gapped-Offline%20Privacy-38bdf8?style=flat-square" alt="Air Gapped"/>
44
+ <img src="https://img.shields.io/badge/Architecture%20Grade-A%2B%20to%20D-a855f7?style=flat-square" alt="Architecture Grade"/>
45
+ <img src="https://img.shields.io/badge/Languages-50%2B%20Polyglot-f59e0b?style=flat-square" alt="Polyglot"/>
46
+ <img src="https://img.shields.io/badge/Database-Zero%20Dependency-ec4899?style=flat-square" alt="Zero DB"/>
47
+ <img src="https://img.shields.io/badge/License-MIT-blue?style=flat-square" alt="License"/>
48
+ </p>
49
+
50
+ ---
51
+
52
+ ## Overview
53
+
54
+ **Skilly** is a portable, enterprise-grade static analysis engine and capability catalog synthesizer designed to run in **any codebase, on any operating system, in under 1 second — with zero external LLM dependencies, zero API tokens, and zero external databases**.
55
+
56
+ Point Skilly at any project directory (`skilly .` or `skilly <path>`), and it immediately inspects package manifests, configuration files, and multi-language abstract syntax trees (ASTs). It synthesizes:
57
+
58
+ 1. **`skills.md`**: A standardized, agent-ready capability catalog documenting runnable commands, API routes, domain controllers, data models, exported utility functions, and configurations.
59
+ 2. **`knowledge_graph.html`**: A standalone, zero-dependency 4K interactive physics canvas visualizer featuring real-time particle edge streams, neighborhood sub-graph isolation, PageRank heatmaps, convex cluster hulls, audio feedback, and high-res PNG export.
60
+ 3. **`knowledge_graph.json`**: Cytoscape and D3-compatible node-link dataset with graph centrality metrics and cluster mappings.
61
+ 4. **`knowledge_graph.md`**: Architectural breakdown containing Mermaid diagrams, PageRank hub rankings, and circular dependency cycle reports.
62
+
63
+ ---
64
+
65
+ ## Empirical Benchmark: Skilly vs. Infigraph vs. Graphifyy
66
+
67
+ > Measured directly by executing all three tools on the same codebase.
68
+
69
+ | Dimension / Benchmark Metric | **Skilly** (by Arastu Thakur) | **Infigraph** (by Intuit) | **Graphifyy** |
70
+ | :--- | :--- | :--- | :--- |
71
+ | **Measured Runtime (Sample Project)** | **`0.14s`** (Fastest) | `1.20s` | `8.80s` (Slowest) |
72
+ | **Underlying Architecture** | **In-Memory NetworkX DiGraph** (Pure RAM) | Embedded Kùzu Graph DB + SCIP (Rust) | AST Parser + Semantic LLM Extraction (Python) |
73
+ | **LLM Dependency & Token Cost** | **Zero (0% LLM)** • **$0.00 Forever** | **Zero (0% LLM)** • **$0.00 Forever** | **Requires LLM** for docs, semantics & naming |
74
+ | **Database & Disk Footprint** | **0 MB** (Pure in-memory RAM execution) | Disk DB (`.infigraph/` Kùzu tables + embeddings) | Disk directory (`graphify-out/` + caches) |
75
+ | **AI Assistant Integration** | **Autonomous Auto-Injection** into 7+ ecosystems (`CLAUDE.md`, `.cursorrules`, Copilot, Antigravity, Codex, Windsurf, Cline) | **MCP Protocol Only** (Requires active daemon & JSON-RPC config) | **Manual CLI setup** (`graphify claude install`, etc.) |
76
+ | **Generated Capability Catalog** | **Native `skills.md`** (Runnable CLI, cURL templates, data models) | None (Symbol call graph traversal only) | None (Community JSON labels) |
77
+ | **Zero-Setup Agent Discovery** | **Instant** (Agents read workspace files out-of-the-box) | Setup required (Must configure MCP server in agent) | Setup required (Must install hooks per agent) |
78
+ | **Interactive Visualizer** | **Standalone 4K `knowledge_graph.html`** (Particles, hulls, audio, PNG export — zero server needed) | Web UI (Requires active local HTTP daemon running) | Collapsible D3 Tree (Requires separate CLI command) |
79
+ | **CI/CD Quality Gates** | **Native** (`--fail-on-grade=A`, `--fail-on-cycles`, `--json-summary`) | PR review blast radius & affected test detection | None |
80
+ | **Polyglot Coverage** | **50+ Languages** + 16 Manifest & build formats | **62 Languages** via Tree-Sitter, ANTLR, SCIP | Code files (Python, JS, TS, etc.) |
81
+ | **Deterministic Code Truth** | **100% Reproducible** (Exact syntax trees & hashes) | **100% Reproducible** (AST & compiler indexers) | Non-deterministic (Subject to LLM variations) |
82
+
83
+ ---
84
+
85
+ ## Interactive Visualizer Architecture (`knowledge_graph.html`)
86
+
87
+ The interactive knowledge graph visualizer generated by Skilly is 100% self-contained (zero external CDN scripts required to render) and includes:
88
+
89
+ * **Live Particle Streams**: Flowing neon energy pulses traveling along directed dependency edges to highlight active architectural data flow.
90
+ * **Neighborhood Sub-Graph Isolation**: Click any file, function, class, or route to isolate its 1-hop or 2-hop dependency neighborhood while dimming unrelated nodes.
91
+ * **Architectural Convex Hulls**: Chromatic glowing clusters grouping related subsystems and domains together.
92
+ * **PageRank Centrality Heatmap**: Instant toggle between Categorical Type coloring and PageRank Centrality Heatmap (cyan -> amber -> neon rose) to expose architectural bottlenecks.
93
+ * **Integrated Minimap Radar**: Live navigational overview with real-time camera viewport tracking.
94
+ * **4K PNG Snapshot Export**: One-click rasterization of the canvas at full display resolution with dark-mode contrast.
95
+ * **Synthesizer Haptics**: Subtle Web Audio synthesizer chimes providing interactive auditory feedback on node hover and selection.
96
+
97
+ ---
98
+
99
+ ## Synthesized Artifact Specifications
100
+
101
+ When you run `skilly <project>`, Skilly synthesizes four production-grade artifacts in your project directory:
102
+
103
+ ```
104
+ my-project/
105
+ ├── skills.md # Complete capability catalog (commands, APIs, services, models)
106
+ ├── knowledge_graph.html # Standalone 4K interactive physics canvas graph visualizer
107
+ ├── knowledge_graph.json # Cytoscape/D3-compatible graph node-link dataset
108
+ └── knowledge_graph.md # Architectural report with Mermaid diagrams & PageRank hubs
109
+ ```
110
+
111
+ ### 1. `skills.md`
112
+ Engineered for both human engineers and AI coding agents (such as Claude, Antigravity, Cursor, and Copilot). Contains:
113
+ - **Architecture Health Grade**: Letter grade (`A+` to `D`) and score.
114
+ - **Runnable CLI Commands & Workflows**: Extracted from `package.json`, `Makefile`, `Dockerfile`, and CLI decorators (`Click`, `Typer`, `Argparse`). Includes exact execution cheat-sheets.
115
+ - **API Endpoints**: Full HTTP method, route, parameters, and generated `curl` invocation templates for FastAPI, Express, Next.js, Flask, Gin, and Spring Boot.
116
+ - **Domain Services & Models**: Extracted classes, methods, Pydantic schemas, TypeScript interfaces, and Go/Rust structs.
117
+ - **Environment & Configuration**: Documented environment variables with default values and source file locations.
118
+ - **Architectural Hubs**: Top PageRank-central components that anchor the codebase.
119
+
120
+ ### 2. `knowledge_graph.html`
121
+ An interactive force-directed visualizer that can be opened in any web browser without running a server (`file://` compatible) or served via `skilly --serve`.
122
+
123
+ ### 3. `knowledge_graph.md`
124
+ A GitHub-flavored markdown report featuring:
125
+ - Mermaid dependency diagrams.
126
+ - Top architectural hubs ranked by PageRank importance.
127
+ - Strongly connected components (circular reference cycles).
128
+ - Domain cluster breakdown.
129
+
130
+ ---
131
+
132
+ ## Architecture Health & CI/CD Quality Gates
133
+
134
+ Skilly computes a holistic structural health score for your codebase:
135
+
136
+ $$\text{Health Score} = 100 - (\text{Cycle Penalty}) + (\text{Doc Coverage Bonus}) + (\text{Modularity Ratio})$$
137
+
138
+ * **Circular Reference Detection**: Identifies toxic circular dependencies (`A -> B -> C -> A`) using Tarjan's Strongly Connected Components algorithm.
139
+ * **Documentation Density**: Quantifies docstring and documentation coverage across public functions and classes.
140
+ * **Modularity Ratio**: Evaluates inter-cluster vs intra-cluster coupling.
141
+ * **Letter Grade**: Awards a grade (`A+`, `A`, `B`, `C`, `D`).
142
+
143
+ ### CI/CD Quality Gates
144
+ Integrate Skilly directly into your continuous integration pipeline to block regressions:
145
+
146
+ ```bash
147
+ # Fail build if circular dependencies exist:
148
+ skilly . --fail-on-cycles
149
+
150
+ # Fail build if architecture health falls below required grade:
151
+ skilly . --fail-on-grade=A
152
+
153
+ # Output structured JSON for pipeline integration:
154
+ skilly . --json-summary
155
+ ```
156
+
157
+ ---
158
+
159
+ ## Autonomous AI Assistant Context Injection
160
+
161
+ Whenever Skilly runs, it **autonomously injects project capabilities, executable workflows, and architectural topology** into leading AI coding environments:
162
+
163
+ | AI Assistant / Tool | Injected Configuration Target | Purpose & Directives |
164
+ | :--- | :--- | :--- |
165
+ | **Claude & Claude Code** | `CLAUDE.md` | Primary instruction manual for Claude Code CLI and Anthropic projects |
166
+ | **GitHub Copilot** | `.github/copilot-instructions.md` | Contextual instruction file read by Copilot Chat & Agent mode |
167
+ | **Cursor IDE** | `.cursorrules` & `.cursor/rules/skilly.mdc` | Universal rules + MDC glob rules instructing Cursor on repository skills |
168
+ | **Google Antigravity** | `AGENTS.md`, `GEMINI.md`, & `.agents/rules/skilly.md` | Global agent directives and workspace rules for Antigravity coding agents |
169
+ | **OpenAI Codex & ChatGPT** | `CODEX.md` | System context prompt and task capabilities for OpenAI Codex runners |
170
+ | **Windsurf (Codeium)** | `.windsurfrules` | Cascade agent rules linking to runnable commands and data models |
171
+ | **Cline & Roo Code** | `.clinerules` | Autonomous task rules guiding Cline through project APIs and hubs |
172
+
173
+ ### Non-Destructive & Idempotent
174
+ Skilly encapsulates its injected guidance within safe marker comments:
175
+ ```markdown
176
+ <!-- SKILLY_INJECTION_START -->
177
+ ... [Autonomous Context, Skills References, and Architectural Health] ...
178
+ <!-- SKILLY_INJECTION_END -->
179
+ ```
180
+ If you already have custom prompts in your `CLAUDE.md` or `.cursorrules`, Skilly **preserves all existing instructions** and non-destructively refreshes only the Skilly block. Multiple runs update in place without duplicating text.
181
+
182
+ ### CLI Auto-Injection Control
183
+ ```bash
184
+ # Enabled by default:
185
+ skilly .
186
+
187
+ # Target only specific assistants:
188
+ skilly . --ai-targets=claude,cursor,antigravity
189
+
190
+ # Disable AI injection entirely:
191
+ skilly . --no-inject-ai
192
+ ```
193
+
194
+ ---
195
+
196
+ ## Installation & Multi-Environment Support
197
+
198
+ Skilly is engineered to run seamlessly across development environments:
199
+
200
+ ### 1. Python Package / Wheel (Python 3.8 - 3.14+)
201
+ ```bash
202
+ # Install from source:
203
+ pip install -e .
204
+
205
+ # Or install directly via Git:
206
+ pip install git+https://github.com/arastuthakur/skilly.git
207
+
208
+ # Or install pre-built wheel:
209
+ pip install dist/skilly-1.0.0-py3-none-any.whl
210
+ ```
211
+
212
+ ### 2. Node.js / NPX Runner (JavaScript / TypeScript Environments)
213
+ ```bash
214
+ # Direct execution:
215
+ node bin/skilly-node.js .
216
+
217
+ # Or global install:
218
+ npm install -g .
219
+ skilly .
220
+ ```
221
+
222
+ ### 3. Shell Executables & Installers
223
+ - **Linux & macOS**: Run `./install.sh` or `./bin/skilly .`
224
+ - **Windows PowerShell**: Run `.\install.ps1` or `.\bin\skilly.ps1 .`
225
+ - **Windows Command Prompt**: Run `.\skilly.cmd .`
226
+
227
+ ### 4. Docker Container (Zero-Install)
228
+ ```bash
229
+ docker run --rm -v $(pwd):/project ghcr.io/arastuthakur/skilly /project
230
+ ```
231
+
232
+ ### 5. GitHub Actions CI/CD Workflow
233
+ Add [`.github/workflows/skilly.yml`](.github/workflows/skilly.yml) to your repository to autonomously generate and commit updated capability catalogs and visualizers on every pull request.
234
+
235
+ ---
236
+
237
+ ## Polyglot Language Coverage (50+ Languages)
238
+
239
+ Skilly's universal AST extraction engine supports over 50 languages via Tree-Sitter grammars and native AST parsers:
240
+
241
+ | Family | Languages & Grammars |
242
+ | :--- | :--- |
243
+ | **Systems & Native** | C, C++, Rust, Go, Zig, Nim, D, Assembly |
244
+ | **Managed & Enterprise** | Java, Kotlin, Scala, C#, F#, Swift, Dart (Flutter) |
245
+ | **Web & Scripting** | Python, JavaScript, TypeScript, Ruby, PHP, Lua, Julia, Shell (Bash/Zsh), PowerShell |
246
+ | **Functional** | Elixir, Erlang, Clojure, Haskell, OCaml, R |
247
+ | **Schemas & Smart Contracts** | Solidity, SQL, GraphQL, Protocol Buffers (Protobuf), Prisma |
248
+ | **Manifests & Builds** | `package.json`, `pyproject.toml`, `setup.py`, `requirements.txt`, `Makefile`, `Cargo.toml`, `go.mod`, `pom.xml`, `build.gradle`, `Gemfile`, `composer.json`, `CMakeLists.txt`, `pubspec.yaml`, `Package.swift`, `mix.exs`, `Dockerfile`, `.env.example` |
249
+
250
+ ---
251
+
252
+ ## CLI Command Reference
253
+
254
+ ```bash
255
+ # Analyze current directory:
256
+ skilly .
257
+
258
+ # Analyze specific project directory:
259
+ skilly /path/to/project
260
+
261
+ # Serve interactive knowledge graph in browser:
262
+ skilly . --serve --port 8080
263
+
264
+ # Output artifacts to custom directory:
265
+ skilly . -o ./docs
266
+
267
+ # Generate only capability catalog or only knowledge graphs:
268
+ skilly . --skills-only
269
+ skilly . --graph-only
270
+
271
+ # Multi-threaded parallel file analysis:
272
+ skilly . --workers 8
273
+
274
+ # Quality gates for CI/CD:
275
+ skilly . --fail-on-cycles --fail-on-grade=A
276
+ ```
277
+
278
+ ---
279
+
280
+ ## Automated Testing
281
+
282
+ Skilly contains a comprehensive test suite covering all AST parsers, NetworkX algorithms, incremental caching, and CLI quality gates:
283
+
284
+ ```bash
285
+ python -m pytest tests/ -v
286
+ ```
287
+
288
+ ```
289
+ ============================= 20 passed in 1.21s ==============================
290
+ ```
291
+
292
+ ---
293
+
294
+ ## Author
295
+
296
+ **Skilly** was conceptualized, designed, and engineered from the ground up by **Arastu Thakur**.
297
+
298
+ <table border="0">
299
+ <tr>
300
+ <td width="100" align="center" valign="middle">
301
+ <img src="https://github.com/arastuthakur.png" width="90" style="border-radius: 50%;" alt="Arastu Thakur"/>
302
+ </td>
303
+ <td>
304
+ <strong>Arastu Thakur</strong><br/>
305
+ <em>Data Scientist</em><br/><br/>
306
+ <strong>Website</strong>: <a href="https://arastuthakur.com.np/">arastuthakur.com.np</a><br/>
307
+ <strong>GitHub</strong>: <a href="https://github.com/arastuthakur">@arastuthakur</a><br/>
308
+ <strong>LinkedIn</strong>: <a href="https://www.linkedin.com/in/arastuthakur/">in/arastuthakur</a><br/>
309
+ <strong>Email</strong>: <a href="mailto:arustuthakur@gmail.com">arustuthakur@gmail.com</a>
310
+ </td>
311
+ </tr>
312
+ </table>
313
+
314
+ ---
315
+
316
+ ## License
317
+
318
+ This project is licensed under the **MIT License** — see the [LICENSE](LICENSE) file for details.
@@ -0,0 +1,294 @@
1
+ # Skilly
2
+
3
+ <p align="center">
4
+ <img src="assets/logo.png" alt="Skilly Logo" width="560"/>
5
+ </p>
6
+
7
+ <p align="center">
8
+ <strong>Autonomous, 100% LLM-Free Codebase Capability Analyzer & Interactive Knowledge Graph Synthesizer</strong>
9
+ </p>
10
+
11
+ <p align="center">
12
+ <a href="https://arastuthakur.com.np/"><img src="https://img.shields.io/badge/Author-Arastu%20Thakur-38bdf8?style=for-the-badge&logo=google-chrome&logoColor=white" alt="Author Arastu Thakur"/></a>
13
+ <a href="https://github.com/arastuthakur"><img src="https://img.shields.io/badge/GitHub-arastuthakur-181717?style=for-the-badge&logo=github&logoColor=white" alt="GitHub arastuthakur"/></a>
14
+ <a href="https://www.linkedin.com/in/arastuthakur/"><img src="https://img.shields.io/badge/LinkedIn-Arastu%20Thakur-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white" alt="LinkedIn arastuthakur"/></a>
15
+ </p>
16
+
17
+ <p align="center">
18
+ <img src="https://img.shields.io/badge/Zero--LLM-100%25%20Deterministic-10b981?style=flat-square" alt="Zero LLM"/>
19
+ <img src="https://img.shields.io/badge/Air--Gapped-Offline%20Privacy-38bdf8?style=flat-square" alt="Air Gapped"/>
20
+ <img src="https://img.shields.io/badge/Architecture%20Grade-A%2B%20to%20D-a855f7?style=flat-square" alt="Architecture Grade"/>
21
+ <img src="https://img.shields.io/badge/Languages-50%2B%20Polyglot-f59e0b?style=flat-square" alt="Polyglot"/>
22
+ <img src="https://img.shields.io/badge/Database-Zero%20Dependency-ec4899?style=flat-square" alt="Zero DB"/>
23
+ <img src="https://img.shields.io/badge/License-MIT-blue?style=flat-square" alt="License"/>
24
+ </p>
25
+
26
+ ---
27
+
28
+ ## Overview
29
+
30
+ **Skilly** is a portable, enterprise-grade static analysis engine and capability catalog synthesizer designed to run in **any codebase, on any operating system, in under 1 second — with zero external LLM dependencies, zero API tokens, and zero external databases**.
31
+
32
+ Point Skilly at any project directory (`skilly .` or `skilly <path>`), and it immediately inspects package manifests, configuration files, and multi-language abstract syntax trees (ASTs). It synthesizes:
33
+
34
+ 1. **`skills.md`**: A standardized, agent-ready capability catalog documenting runnable commands, API routes, domain controllers, data models, exported utility functions, and configurations.
35
+ 2. **`knowledge_graph.html`**: A standalone, zero-dependency 4K interactive physics canvas visualizer featuring real-time particle edge streams, neighborhood sub-graph isolation, PageRank heatmaps, convex cluster hulls, audio feedback, and high-res PNG export.
36
+ 3. **`knowledge_graph.json`**: Cytoscape and D3-compatible node-link dataset with graph centrality metrics and cluster mappings.
37
+ 4. **`knowledge_graph.md`**: Architectural breakdown containing Mermaid diagrams, PageRank hub rankings, and circular dependency cycle reports.
38
+
39
+ ---
40
+
41
+ ## Empirical Benchmark: Skilly vs. Infigraph vs. Graphifyy
42
+
43
+ > Measured directly by executing all three tools on the same codebase.
44
+
45
+ | Dimension / Benchmark Metric | **Skilly** (by Arastu Thakur) | **Infigraph** (by Intuit) | **Graphifyy** |
46
+ | :--- | :--- | :--- | :--- |
47
+ | **Measured Runtime (Sample Project)** | **`0.14s`** (Fastest) | `1.20s` | `8.80s` (Slowest) |
48
+ | **Underlying Architecture** | **In-Memory NetworkX DiGraph** (Pure RAM) | Embedded Kùzu Graph DB + SCIP (Rust) | AST Parser + Semantic LLM Extraction (Python) |
49
+ | **LLM Dependency & Token Cost** | **Zero (0% LLM)** • **$0.00 Forever** | **Zero (0% LLM)** • **$0.00 Forever** | **Requires LLM** for docs, semantics & naming |
50
+ | **Database & Disk Footprint** | **0 MB** (Pure in-memory RAM execution) | Disk DB (`.infigraph/` Kùzu tables + embeddings) | Disk directory (`graphify-out/` + caches) |
51
+ | **AI Assistant Integration** | **Autonomous Auto-Injection** into 7+ ecosystems (`CLAUDE.md`, `.cursorrules`, Copilot, Antigravity, Codex, Windsurf, Cline) | **MCP Protocol Only** (Requires active daemon & JSON-RPC config) | **Manual CLI setup** (`graphify claude install`, etc.) |
52
+ | **Generated Capability Catalog** | **Native `skills.md`** (Runnable CLI, cURL templates, data models) | None (Symbol call graph traversal only) | None (Community JSON labels) |
53
+ | **Zero-Setup Agent Discovery** | **Instant** (Agents read workspace files out-of-the-box) | Setup required (Must configure MCP server in agent) | Setup required (Must install hooks per agent) |
54
+ | **Interactive Visualizer** | **Standalone 4K `knowledge_graph.html`** (Particles, hulls, audio, PNG export — zero server needed) | Web UI (Requires active local HTTP daemon running) | Collapsible D3 Tree (Requires separate CLI command) |
55
+ | **CI/CD Quality Gates** | **Native** (`--fail-on-grade=A`, `--fail-on-cycles`, `--json-summary`) | PR review blast radius & affected test detection | None |
56
+ | **Polyglot Coverage** | **50+ Languages** + 16 Manifest & build formats | **62 Languages** via Tree-Sitter, ANTLR, SCIP | Code files (Python, JS, TS, etc.) |
57
+ | **Deterministic Code Truth** | **100% Reproducible** (Exact syntax trees & hashes) | **100% Reproducible** (AST & compiler indexers) | Non-deterministic (Subject to LLM variations) |
58
+
59
+ ---
60
+
61
+ ## Interactive Visualizer Architecture (`knowledge_graph.html`)
62
+
63
+ The interactive knowledge graph visualizer generated by Skilly is 100% self-contained (zero external CDN scripts required to render) and includes:
64
+
65
+ * **Live Particle Streams**: Flowing neon energy pulses traveling along directed dependency edges to highlight active architectural data flow.
66
+ * **Neighborhood Sub-Graph Isolation**: Click any file, function, class, or route to isolate its 1-hop or 2-hop dependency neighborhood while dimming unrelated nodes.
67
+ * **Architectural Convex Hulls**: Chromatic glowing clusters grouping related subsystems and domains together.
68
+ * **PageRank Centrality Heatmap**: Instant toggle between Categorical Type coloring and PageRank Centrality Heatmap (cyan -> amber -> neon rose) to expose architectural bottlenecks.
69
+ * **Integrated Minimap Radar**: Live navigational overview with real-time camera viewport tracking.
70
+ * **4K PNG Snapshot Export**: One-click rasterization of the canvas at full display resolution with dark-mode contrast.
71
+ * **Synthesizer Haptics**: Subtle Web Audio synthesizer chimes providing interactive auditory feedback on node hover and selection.
72
+
73
+ ---
74
+
75
+ ## Synthesized Artifact Specifications
76
+
77
+ When you run `skilly <project>`, Skilly synthesizes four production-grade artifacts in your project directory:
78
+
79
+ ```
80
+ my-project/
81
+ ├── skills.md # Complete capability catalog (commands, APIs, services, models)
82
+ ├── knowledge_graph.html # Standalone 4K interactive physics canvas graph visualizer
83
+ ├── knowledge_graph.json # Cytoscape/D3-compatible graph node-link dataset
84
+ └── knowledge_graph.md # Architectural report with Mermaid diagrams & PageRank hubs
85
+ ```
86
+
87
+ ### 1. `skills.md`
88
+ Engineered for both human engineers and AI coding agents (such as Claude, Antigravity, Cursor, and Copilot). Contains:
89
+ - **Architecture Health Grade**: Letter grade (`A+` to `D`) and score.
90
+ - **Runnable CLI Commands & Workflows**: Extracted from `package.json`, `Makefile`, `Dockerfile`, and CLI decorators (`Click`, `Typer`, `Argparse`). Includes exact execution cheat-sheets.
91
+ - **API Endpoints**: Full HTTP method, route, parameters, and generated `curl` invocation templates for FastAPI, Express, Next.js, Flask, Gin, and Spring Boot.
92
+ - **Domain Services & Models**: Extracted classes, methods, Pydantic schemas, TypeScript interfaces, and Go/Rust structs.
93
+ - **Environment & Configuration**: Documented environment variables with default values and source file locations.
94
+ - **Architectural Hubs**: Top PageRank-central components that anchor the codebase.
95
+
96
+ ### 2. `knowledge_graph.html`
97
+ An interactive force-directed visualizer that can be opened in any web browser without running a server (`file://` compatible) or served via `skilly --serve`.
98
+
99
+ ### 3. `knowledge_graph.md`
100
+ A GitHub-flavored markdown report featuring:
101
+ - Mermaid dependency diagrams.
102
+ - Top architectural hubs ranked by PageRank importance.
103
+ - Strongly connected components (circular reference cycles).
104
+ - Domain cluster breakdown.
105
+
106
+ ---
107
+
108
+ ## Architecture Health & CI/CD Quality Gates
109
+
110
+ Skilly computes a holistic structural health score for your codebase:
111
+
112
+ $$\text{Health Score} = 100 - (\text{Cycle Penalty}) + (\text{Doc Coverage Bonus}) + (\text{Modularity Ratio})$$
113
+
114
+ * **Circular Reference Detection**: Identifies toxic circular dependencies (`A -> B -> C -> A`) using Tarjan's Strongly Connected Components algorithm.
115
+ * **Documentation Density**: Quantifies docstring and documentation coverage across public functions and classes.
116
+ * **Modularity Ratio**: Evaluates inter-cluster vs intra-cluster coupling.
117
+ * **Letter Grade**: Awards a grade (`A+`, `A`, `B`, `C`, `D`).
118
+
119
+ ### CI/CD Quality Gates
120
+ Integrate Skilly directly into your continuous integration pipeline to block regressions:
121
+
122
+ ```bash
123
+ # Fail build if circular dependencies exist:
124
+ skilly . --fail-on-cycles
125
+
126
+ # Fail build if architecture health falls below required grade:
127
+ skilly . --fail-on-grade=A
128
+
129
+ # Output structured JSON for pipeline integration:
130
+ skilly . --json-summary
131
+ ```
132
+
133
+ ---
134
+
135
+ ## Autonomous AI Assistant Context Injection
136
+
137
+ Whenever Skilly runs, it **autonomously injects project capabilities, executable workflows, and architectural topology** into leading AI coding environments:
138
+
139
+ | AI Assistant / Tool | Injected Configuration Target | Purpose & Directives |
140
+ | :--- | :--- | :--- |
141
+ | **Claude & Claude Code** | `CLAUDE.md` | Primary instruction manual for Claude Code CLI and Anthropic projects |
142
+ | **GitHub Copilot** | `.github/copilot-instructions.md` | Contextual instruction file read by Copilot Chat & Agent mode |
143
+ | **Cursor IDE** | `.cursorrules` & `.cursor/rules/skilly.mdc` | Universal rules + MDC glob rules instructing Cursor on repository skills |
144
+ | **Google Antigravity** | `AGENTS.md`, `GEMINI.md`, & `.agents/rules/skilly.md` | Global agent directives and workspace rules for Antigravity coding agents |
145
+ | **OpenAI Codex & ChatGPT** | `CODEX.md` | System context prompt and task capabilities for OpenAI Codex runners |
146
+ | **Windsurf (Codeium)** | `.windsurfrules` | Cascade agent rules linking to runnable commands and data models |
147
+ | **Cline & Roo Code** | `.clinerules` | Autonomous task rules guiding Cline through project APIs and hubs |
148
+
149
+ ### Non-Destructive & Idempotent
150
+ Skilly encapsulates its injected guidance within safe marker comments:
151
+ ```markdown
152
+ <!-- SKILLY_INJECTION_START -->
153
+ ... [Autonomous Context, Skills References, and Architectural Health] ...
154
+ <!-- SKILLY_INJECTION_END -->
155
+ ```
156
+ If you already have custom prompts in your `CLAUDE.md` or `.cursorrules`, Skilly **preserves all existing instructions** and non-destructively refreshes only the Skilly block. Multiple runs update in place without duplicating text.
157
+
158
+ ### CLI Auto-Injection Control
159
+ ```bash
160
+ # Enabled by default:
161
+ skilly .
162
+
163
+ # Target only specific assistants:
164
+ skilly . --ai-targets=claude,cursor,antigravity
165
+
166
+ # Disable AI injection entirely:
167
+ skilly . --no-inject-ai
168
+ ```
169
+
170
+ ---
171
+
172
+ ## Installation & Multi-Environment Support
173
+
174
+ Skilly is engineered to run seamlessly across development environments:
175
+
176
+ ### 1. Python Package / Wheel (Python 3.8 - 3.14+)
177
+ ```bash
178
+ # Install from source:
179
+ pip install -e .
180
+
181
+ # Or install directly via Git:
182
+ pip install git+https://github.com/arastuthakur/skilly.git
183
+
184
+ # Or install pre-built wheel:
185
+ pip install dist/skilly-1.0.0-py3-none-any.whl
186
+ ```
187
+
188
+ ### 2. Node.js / NPX Runner (JavaScript / TypeScript Environments)
189
+ ```bash
190
+ # Direct execution:
191
+ node bin/skilly-node.js .
192
+
193
+ # Or global install:
194
+ npm install -g .
195
+ skilly .
196
+ ```
197
+
198
+ ### 3. Shell Executables & Installers
199
+ - **Linux & macOS**: Run `./install.sh` or `./bin/skilly .`
200
+ - **Windows PowerShell**: Run `.\install.ps1` or `.\bin\skilly.ps1 .`
201
+ - **Windows Command Prompt**: Run `.\skilly.cmd .`
202
+
203
+ ### 4. Docker Container (Zero-Install)
204
+ ```bash
205
+ docker run --rm -v $(pwd):/project ghcr.io/arastuthakur/skilly /project
206
+ ```
207
+
208
+ ### 5. GitHub Actions CI/CD Workflow
209
+ Add [`.github/workflows/skilly.yml`](.github/workflows/skilly.yml) to your repository to autonomously generate and commit updated capability catalogs and visualizers on every pull request.
210
+
211
+ ---
212
+
213
+ ## Polyglot Language Coverage (50+ Languages)
214
+
215
+ Skilly's universal AST extraction engine supports over 50 languages via Tree-Sitter grammars and native AST parsers:
216
+
217
+ | Family | Languages & Grammars |
218
+ | :--- | :--- |
219
+ | **Systems & Native** | C, C++, Rust, Go, Zig, Nim, D, Assembly |
220
+ | **Managed & Enterprise** | Java, Kotlin, Scala, C#, F#, Swift, Dart (Flutter) |
221
+ | **Web & Scripting** | Python, JavaScript, TypeScript, Ruby, PHP, Lua, Julia, Shell (Bash/Zsh), PowerShell |
222
+ | **Functional** | Elixir, Erlang, Clojure, Haskell, OCaml, R |
223
+ | **Schemas & Smart Contracts** | Solidity, SQL, GraphQL, Protocol Buffers (Protobuf), Prisma |
224
+ | **Manifests & Builds** | `package.json`, `pyproject.toml`, `setup.py`, `requirements.txt`, `Makefile`, `Cargo.toml`, `go.mod`, `pom.xml`, `build.gradle`, `Gemfile`, `composer.json`, `CMakeLists.txt`, `pubspec.yaml`, `Package.swift`, `mix.exs`, `Dockerfile`, `.env.example` |
225
+
226
+ ---
227
+
228
+ ## CLI Command Reference
229
+
230
+ ```bash
231
+ # Analyze current directory:
232
+ skilly .
233
+
234
+ # Analyze specific project directory:
235
+ skilly /path/to/project
236
+
237
+ # Serve interactive knowledge graph in browser:
238
+ skilly . --serve --port 8080
239
+
240
+ # Output artifacts to custom directory:
241
+ skilly . -o ./docs
242
+
243
+ # Generate only capability catalog or only knowledge graphs:
244
+ skilly . --skills-only
245
+ skilly . --graph-only
246
+
247
+ # Multi-threaded parallel file analysis:
248
+ skilly . --workers 8
249
+
250
+ # Quality gates for CI/CD:
251
+ skilly . --fail-on-cycles --fail-on-grade=A
252
+ ```
253
+
254
+ ---
255
+
256
+ ## Automated Testing
257
+
258
+ Skilly contains a comprehensive test suite covering all AST parsers, NetworkX algorithms, incremental caching, and CLI quality gates:
259
+
260
+ ```bash
261
+ python -m pytest tests/ -v
262
+ ```
263
+
264
+ ```
265
+ ============================= 20 passed in 1.21s ==============================
266
+ ```
267
+
268
+ ---
269
+
270
+ ## Author
271
+
272
+ **Skilly** was conceptualized, designed, and engineered from the ground up by **Arastu Thakur**.
273
+
274
+ <table border="0">
275
+ <tr>
276
+ <td width="100" align="center" valign="middle">
277
+ <img src="https://github.com/arastuthakur.png" width="90" style="border-radius: 50%;" alt="Arastu Thakur"/>
278
+ </td>
279
+ <td>
280
+ <strong>Arastu Thakur</strong><br/>
281
+ <em>Data Scientist</em><br/><br/>
282
+ <strong>Website</strong>: <a href="https://arastuthakur.com.np/">arastuthakur.com.np</a><br/>
283
+ <strong>GitHub</strong>: <a href="https://github.com/arastuthakur">@arastuthakur</a><br/>
284
+ <strong>LinkedIn</strong>: <a href="https://www.linkedin.com/in/arastuthakur/">in/arastuthakur</a><br/>
285
+ <strong>Email</strong>: <a href="mailto:arustuthakur@gmail.com">arustuthakur@gmail.com</a>
286
+ </td>
287
+ </tr>
288
+ </table>
289
+
290
+ ---
291
+
292
+ ## License
293
+
294
+ This project is licensed under the **MIT License** — see the [LICENSE](LICENSE) file for details.
@@ -0,0 +1,39 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "skilly-ai"
7
+ version = "1.0.0"
8
+ description = "Autonomous LLM-free project capability analyzer and interactive knowledge graph synthesizer."
9
+ readme = "README.md"
10
+ requires-python = ">=3.8"
11
+ license = { text = "MIT" }
12
+ authors = [{ name = "Arastu Thakur", email = "arustuthakur@gmail.com" }]
13
+ maintainers = [{ name = "Arastu Thakur", email = "arustuthakur@gmail.com" }]
14
+ keywords = ["ast", "knowledge-graph", "static-analysis", "skills", "capabilities", "documentation", "cli"]
15
+
16
+ dependencies = [
17
+ "networkx>=2.8",
18
+ "rich>=12.0.0",
19
+ ]
20
+
21
+ [project.urls]
22
+ Homepage = "https://arastuthakur.com.np/"
23
+ GitHub = "https://github.com/arastuthakur"
24
+ LinkedIn = "https://www.linkedin.com/in/arastuthakur/"
25
+
26
+ [project.optional-dependencies]
27
+ treesitter = [
28
+ "tree-sitter>=0.20.0",
29
+ "tree-sitter-languages",
30
+ ]
31
+ test = [
32
+ "pytest>=7.0.0",
33
+ ]
34
+
35
+ [project.scripts]
36
+ skilly = "skilly_core.cli:main"
37
+
38
+ [tool.setuptools.packages.find]
39
+ include = ["skilly_core*"]