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.
- skilly_ai-1.0.0/LICENSE +21 -0
- skilly_ai-1.0.0/PKG-INFO +318 -0
- skilly_ai-1.0.0/README.md +294 -0
- skilly_ai-1.0.0/pyproject.toml +39 -0
- skilly_ai-1.0.0/setup.cfg +4 -0
- skilly_ai-1.0.0/setup.py +17 -0
- skilly_ai-1.0.0/skilly_ai.egg-info/PKG-INFO +318 -0
- skilly_ai-1.0.0/skilly_ai.egg-info/SOURCES.txt +39 -0
- skilly_ai-1.0.0/skilly_ai.egg-info/dependency_links.txt +1 -0
- skilly_ai-1.0.0/skilly_ai.egg-info/entry_points.txt +2 -0
- skilly_ai-1.0.0/skilly_ai.egg-info/requires.txt +9 -0
- skilly_ai-1.0.0/skilly_ai.egg-info/top_level.txt +1 -0
- skilly_ai-1.0.0/skilly_core/__init__.py +25 -0
- skilly_ai-1.0.0/skilly_core/analyzer.py +387 -0
- skilly_ai-1.0.0/skilly_core/cache.py +130 -0
- skilly_ai-1.0.0/skilly_core/cli.py +346 -0
- skilly_ai-1.0.0/skilly_core/config.py +108 -0
- skilly_ai-1.0.0/skilly_core/extractors/__init__.py +19 -0
- skilly_ai-1.0.0/skilly_core/extractors/base.py +23 -0
- skilly_ai-1.0.0/skilly_core/extractors/javascript_extractor.py +381 -0
- skilly_ai-1.0.0/skilly_core/extractors/manifest_extractor.py +683 -0
- skilly_ai-1.0.0/skilly_core/extractors/polyglot_extractor.py +350 -0
- skilly_ai-1.0.0/skilly_core/extractors/python_extractor.py +406 -0
- skilly_ai-1.0.0/skilly_core/extractors/universal_engine.py +425 -0
- skilly_ai-1.0.0/skilly_core/generators/__init__.py +13 -0
- skilly_ai-1.0.0/skilly_core/generators/graph_markdown_generator.py +101 -0
- skilly_ai-1.0.0/skilly_core/generators/html_visualizer.py +1074 -0
- skilly_ai-1.0.0/skilly_core/generators/skills_generator.py +184 -0
- skilly_ai-1.0.0/skilly_core/graph_engine.py +199 -0
- skilly_ai-1.0.0/skilly_core/injectors/__init__.py +8 -0
- skilly_ai-1.0.0/skilly_core/injectors/ai_injector.py +167 -0
- skilly_ai-1.0.0/skilly_core/models.py +177 -0
- skilly_ai-1.0.0/skilly_core/py.typed +2 -0
- skilly_ai-1.0.0/tests/test_ai_injector.py +125 -0
- skilly_ai-1.0.0/tests/test_end_to_end.py +48 -0
- skilly_ai-1.0.0/tests/test_graph_engine.py +45 -0
- skilly_ai-1.0.0/tests/test_javascript_extractor.py +20 -0
- skilly_ai-1.0.0/tests/test_manifest_extractor.py +36 -0
- skilly_ai-1.0.0/tests/test_production.py +85 -0
- skilly_ai-1.0.0/tests/test_python_extractor.py +36 -0
- skilly_ai-1.0.0/tests/test_universal_engine.py +37 -0
skilly_ai-1.0.0/LICENSE
ADDED
|
@@ -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.
|
skilly_ai-1.0.0/PKG-INFO
ADDED
|
@@ -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*"]
|