@skillsmith/core 0.2.0 → 2.0.1
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.
- package/README.md +235 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/analysis/__tests__/incremental.test.d.ts +13 -0
- package/dist/src/analysis/__tests__/incremental.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/incremental.test.js +515 -0
- package/dist/src/analysis/__tests__/incremental.test.js.map +1 -0
- package/dist/src/analysis/__tests__/integration.test.d.ts +14 -0
- package/dist/src/analysis/__tests__/integration.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/integration.test.js +1059 -0
- package/dist/src/analysis/__tests__/integration.test.js.map +1 -0
- package/dist/src/analysis/__tests__/metrics.test.d.ts +9 -0
- package/dist/src/analysis/__tests__/metrics.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/metrics.test.js +369 -0
- package/dist/src/analysis/__tests__/metrics.test.js.map +1 -0
- package/dist/src/analysis/__tests__/performance.test.d.ts +15 -0
- package/dist/src/analysis/__tests__/performance.test.d.ts.map +1 -0
- package/dist/src/analysis/__tests__/performance.test.js +402 -0
- package/dist/src/analysis/__tests__/performance.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/go.test.d.ts +12 -0
- package/dist/src/analysis/adapters/__tests__/go.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/go.test.js +561 -0
- package/dist/src/analysis/adapters/__tests__/go.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/python.test.d.ts +11 -0
- package/dist/src/analysis/adapters/__tests__/python.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/python.test.js +669 -0
- package/dist/src/analysis/adapters/__tests__/python.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.d.ts +12 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.js +676 -0
- package/dist/src/analysis/adapters/__tests__/rust.test.js.map +1 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts +14 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.d.ts.map +1 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.js +381 -0
- package/dist/src/analysis/adapters/__tests__/typescript.test.js.map +1 -0
- package/dist/src/analysis/adapters/base.d.ts +83 -0
- package/dist/src/analysis/adapters/base.d.ts.map +1 -0
- package/dist/src/analysis/adapters/base.js +40 -0
- package/dist/src/analysis/adapters/base.js.map +1 -0
- package/dist/src/analysis/adapters/factory.d.ts +150 -0
- package/dist/src/analysis/adapters/factory.d.ts.map +1 -0
- package/dist/src/analysis/adapters/factory.js +244 -0
- package/dist/src/analysis/adapters/factory.js.map +1 -0
- package/dist/src/analysis/adapters/go.d.ts +131 -0
- package/dist/src/analysis/adapters/go.d.ts.map +1 -0
- package/dist/src/analysis/adapters/go.js +414 -0
- package/dist/src/analysis/adapters/go.js.map +1 -0
- package/dist/src/analysis/adapters/index.d.ts +20 -0
- package/dist/src/analysis/adapters/index.d.ts.map +1 -0
- package/dist/src/analysis/adapters/index.js +23 -0
- package/dist/src/analysis/adapters/index.js.map +1 -0
- package/dist/src/analysis/adapters/java.d.ts +154 -0
- package/dist/src/analysis/adapters/java.d.ts.map +1 -0
- package/dist/src/analysis/adapters/java.js +407 -0
- package/dist/src/analysis/adapters/java.js.map +1 -0
- package/dist/src/analysis/adapters/python.d.ts +165 -0
- package/dist/src/analysis/adapters/python.d.ts.map +1 -0
- package/dist/src/analysis/adapters/python.js +475 -0
- package/dist/src/analysis/adapters/python.js.map +1 -0
- package/dist/src/analysis/adapters/rust.d.ts +116 -0
- package/dist/src/analysis/adapters/rust.d.ts.map +1 -0
- package/dist/src/analysis/adapters/rust.js +476 -0
- package/dist/src/analysis/adapters/rust.js.map +1 -0
- package/dist/src/analysis/adapters/typescript.d.ts +68 -0
- package/dist/src/analysis/adapters/typescript.d.ts.map +1 -0
- package/dist/src/analysis/adapters/typescript.js +79 -0
- package/dist/src/analysis/adapters/typescript.js.map +1 -0
- package/dist/src/analysis/aggregator.d.ts +193 -0
- package/dist/src/analysis/aggregator.d.ts.map +1 -0
- package/dist/src/analysis/aggregator.js +283 -0
- package/dist/src/analysis/aggregator.js.map +1 -0
- package/dist/src/analysis/cache.d.ts +180 -0
- package/dist/src/analysis/cache.d.ts.map +1 -0
- package/dist/src/analysis/cache.js +279 -0
- package/dist/src/analysis/cache.js.map +1 -0
- package/dist/src/analysis/file-streamer.d.ts +136 -0
- package/dist/src/analysis/file-streamer.d.ts.map +1 -0
- package/dist/src/analysis/file-streamer.js +291 -0
- package/dist/src/analysis/file-streamer.js.map +1 -0
- package/dist/src/analysis/incremental-parser.d.ts +186 -0
- package/dist/src/analysis/incremental-parser.d.ts.map +1 -0
- package/dist/src/analysis/incremental-parser.js +291 -0
- package/dist/src/analysis/incremental-parser.js.map +1 -0
- package/dist/src/analysis/incremental.d.ts +186 -0
- package/dist/src/analysis/incremental.d.ts.map +1 -0
- package/dist/src/analysis/incremental.js +247 -0
- package/dist/src/analysis/incremental.js.map +1 -0
- package/dist/src/analysis/index.d.ts +25 -3
- package/dist/src/analysis/index.d.ts.map +1 -1
- package/dist/src/analysis/index.js +45 -3
- package/dist/src/analysis/index.js.map +1 -1
- package/dist/src/analysis/language-detector.d.ts +92 -0
- package/dist/src/analysis/language-detector.d.ts.map +1 -0
- package/dist/src/analysis/language-detector.js +602 -0
- package/dist/src/analysis/language-detector.js.map +1 -0
- package/dist/src/analysis/memory-monitor.d.ts +199 -0
- package/dist/src/analysis/memory-monitor.d.ts.map +1 -0
- package/dist/src/analysis/memory-monitor.js +271 -0
- package/dist/src/analysis/memory-monitor.js.map +1 -0
- package/dist/src/analysis/metrics.d.ts +300 -0
- package/dist/src/analysis/metrics.d.ts.map +1 -0
- package/dist/src/analysis/metrics.js +537 -0
- package/dist/src/analysis/metrics.js.map +1 -0
- package/dist/src/analysis/router.d.ts +264 -0
- package/dist/src/analysis/router.d.ts.map +1 -0
- package/dist/src/analysis/router.js +398 -0
- package/dist/src/analysis/router.js.map +1 -0
- package/dist/src/analysis/tree-cache.d.ts +208 -0
- package/dist/src/analysis/tree-cache.d.ts.map +1 -0
- package/dist/src/analysis/tree-cache.js +288 -0
- package/dist/src/analysis/tree-cache.js.map +1 -0
- package/dist/src/analysis/tree-sitter/manager.d.ts +141 -0
- package/dist/src/analysis/tree-sitter/manager.d.ts.map +1 -0
- package/dist/src/analysis/tree-sitter/manager.js +239 -0
- package/dist/src/analysis/tree-sitter/manager.js.map +1 -0
- package/dist/src/analysis/types.d.ts +69 -6
- package/dist/src/analysis/types.d.ts.map +1 -1
- package/dist/src/analysis/types.js +23 -2
- package/dist/src/analysis/types.js.map +1 -1
- package/dist/src/analysis/worker-pool.d.ts +141 -0
- package/dist/src/analysis/worker-pool.d.ts.map +1 -0
- package/dist/src/analysis/worker-pool.js +418 -0
- package/dist/src/analysis/worker-pool.js.map +1 -0
- package/dist/src/analytics/schema.d.ts +1 -1
- package/dist/src/analytics/schema.d.ts.map +1 -1
- package/dist/src/analytics/schema.js +72 -0
- package/dist/src/analytics/schema.js.map +1 -1
- package/dist/src/api/cache.d.ts +24 -1
- package/dist/src/api/cache.d.ts.map +1 -1
- package/dist/src/api/cache.js +50 -2
- package/dist/src/api/cache.js.map +1 -1
- package/dist/src/api/client.d.ts +132 -2
- package/dist/src/api/client.d.ts.map +1 -1
- package/dist/src/api/client.js +214 -18
- package/dist/src/api/client.js.map +1 -1
- package/dist/src/api/index.d.ts +2 -0
- package/dist/src/api/index.d.ts.map +1 -1
- package/dist/src/api/index.js +7 -0
- package/dist/src/api/index.js.map +1 -1
- package/dist/src/api/types.d.ts +251 -0
- package/dist/src/api/types.d.ts.map +1 -0
- package/dist/src/api/types.js +9 -0
- package/dist/src/api/types.js.map +1 -0
- package/dist/src/benchmarks/memory/MemoryProfiler.d.ts.map +1 -1
- package/dist/src/benchmarks/memory/MemoryProfiler.js.map +1 -1
- package/dist/src/embeddings/index.d.ts.map +1 -1
- package/dist/src/embeddings/index.js.map +1 -1
- package/dist/src/errors.d.ts +1 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +1 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/repositories/IndexerRepository.d.ts.map +1 -1
- package/dist/src/repositories/IndexerRepository.js +1 -0
- package/dist/src/repositories/IndexerRepository.js.map +1 -1
- package/dist/src/repositories/SkillRepository.d.ts.map +1 -1
- package/dist/src/repositories/SkillRepository.js +1 -0
- package/dist/src/repositories/SkillRepository.js.map +1 -1
- package/dist/src/repositories/quarantine/QuarantineRepository.d.ts.map +1 -1
- package/dist/src/repositories/quarantine/QuarantineRepository.js.map +1 -1
- package/dist/src/repositories/quarantine/query-builder.d.ts.map +1 -1
- package/dist/src/repositories/quarantine/query-builder.js +1 -1
- package/dist/src/repositories/quarantine/query-builder.js.map +1 -1
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js +3 -3
- package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
- package/dist/src/scripts/github-import/github-client.d.ts +6 -2
- package/dist/src/scripts/github-import/github-client.d.ts.map +1 -1
- package/dist/src/scripts/github-import/github-client.js +190 -4
- package/dist/src/scripts/github-import/github-client.js.map +1 -1
- package/dist/src/scripts/github-import/index.js.map +1 -1
- package/dist/src/scripts/github-import/types.d.ts +6 -0
- package/dist/src/scripts/github-import/types.d.ts.map +1 -1
- package/dist/src/scripts/github-import/types.js +3 -0
- package/dist/src/scripts/github-import/types.js.map +1 -1
- package/dist/src/scripts/import-github-skills.js +10 -5
- package/dist/src/scripts/import-github-skills.js.map +1 -1
- package/dist/src/scripts/skill-scanner/reporter.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/reporter.js.map +1 -1
- package/dist/src/scripts/skill-scanner/scanner.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/scanner.js.map +1 -1
- package/dist/src/scripts/skill-scanner/trust-scorer.d.ts.map +1 -1
- package/dist/src/scripts/skill-scanner/trust-scorer.js.map +1 -1
- package/dist/src/scripts/validation/index.js +1 -2
- package/dist/src/scripts/validation/index.js.map +1 -1
- package/dist/src/scripts/validation/pipeline.d.ts.map +1 -1
- package/dist/src/scripts/validation/pipeline.js.map +1 -1
- package/dist/src/scripts/validation/types.d.ts +2 -2
- package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
- package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
- package/dist/src/services/SearchService.d.ts.map +1 -1
- package/dist/src/services/SearchService.js +1 -0
- package/dist/src/services/SearchService.js.map +1 -1
- package/dist/src/session/SessionHealthMonitor.d.ts +1 -1
- package/dist/src/session/SessionHealthMonitor.d.ts.map +1 -1
- package/dist/src/session/SessionHealthMonitor.js +1 -1
- package/dist/src/session/SessionHealthMonitor.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +1 -1
- package/dist/src/telemetry/index.d.ts.map +1 -1
- package/dist/src/telemetry/index.js +2 -2
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/posthog.d.ts +27 -5
- package/dist/src/telemetry/posthog.d.ts.map +1 -1
- package/dist/src/telemetry/posthog.js +20 -5
- package/dist/src/telemetry/posthog.js.map +1 -1
- package/dist/src/types/skill.d.ts +3 -0
- package/dist/src/types/skill.d.ts.map +1 -1
- package/dist/src/types.d.ts +2 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +2 -2
- package/dist/src/types.js.map +1 -1
- package/dist/tests/adapters-factory.test.d.ts +13 -0
- package/dist/tests/adapters-factory.test.d.ts.map +1 -0
- package/dist/tests/adapters-factory.test.js +308 -0
- package/dist/tests/adapters-factory.test.js.map +1 -0
- package/dist/tests/adapters-java.test.d.ts +13 -0
- package/dist/tests/adapters-java.test.d.ts.map +1 -0
- package/dist/tests/adapters-java.test.js +925 -0
- package/dist/tests/adapters-java.test.js.map +1 -0
- package/dist/tests/api/client.validation.test.d.ts +7 -0
- package/dist/tests/api/client.validation.test.d.ts.map +1 -0
- package/dist/tests/api/client.validation.test.js +183 -0
- package/dist/tests/api/client.validation.test.js.map +1 -0
- package/dist/tests/language-detector.test.d.ts +13 -0
- package/dist/tests/language-detector.test.d.ts.map +1 -0
- package/dist/tests/language-detector.test.js +674 -0
- package/dist/tests/language-detector.test.js.map +1 -0
- package/dist/tests/telemetry/posthog.test.d.ts +13 -0
- package/dist/tests/telemetry/posthog.test.d.ts.map +1 -0
- package/dist/tests/telemetry/posthog.test.js +600 -0
- package/dist/tests/telemetry/posthog.test.js.map +1 -0
- package/package.json +6 -6
- package/dist/src/security/RateLimiter.d.ts +0 -337
- package/dist/src/security/RateLimiter.d.ts.map +0 -1
- package/dist/src/security/RateLimiter.js +0 -782
- package/dist/src/security/RateLimiter.js.map +0 -1
- package/dist/src/security/scanner.d.ts +0 -151
- package/dist/src/security/scanner.d.ts.map +0 -1
- package/dist/src/security/scanner.js +0 -599
- package/dist/src/security/scanner.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# @skillsmith/core
|
|
2
2
|
|
|
3
|
-
Core library for Skillsmith - provides database operations, search services, caching, security, and
|
|
3
|
+
Core library for Skillsmith - provides database operations, search services, caching, security, analytics, and **multi-language codebase analysis** for Claude Code skill discovery.
|
|
4
|
+
|
|
5
|
+
**v2.0.0** introduces multi-language support for analyzing TypeScript, JavaScript, Python, Go, Rust, and Java codebases.
|
|
4
6
|
|
|
5
7
|
## Installation
|
|
6
8
|
|
|
@@ -33,6 +35,34 @@ const results = await searchService.search({
|
|
|
33
35
|
})
|
|
34
36
|
```
|
|
35
37
|
|
|
38
|
+
## Live API
|
|
39
|
+
|
|
40
|
+
As of v0.2.0, Skillsmith uses a live API at `api.skillsmith.app` to serve skills.
|
|
41
|
+
|
|
42
|
+
### Configuration
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Use default API (recommended)
|
|
46
|
+
# No configuration needed
|
|
47
|
+
|
|
48
|
+
# Custom API URL
|
|
49
|
+
export SKILLSMITH_API_URL=https://your-api.example.com
|
|
50
|
+
|
|
51
|
+
# Offline mode (use local database)
|
|
52
|
+
export SKILLSMITH_OFFLINE_MODE=true
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Telemetry
|
|
56
|
+
|
|
57
|
+
Skillsmith collects anonymous usage data to improve the product.
|
|
58
|
+
To opt out:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
export SKILLSMITH_TELEMETRY=false
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
See [PRIVACY.md](./PRIVACY.md) for details on what data is collected.
|
|
65
|
+
|
|
36
66
|
## Features
|
|
37
67
|
|
|
38
68
|
### Database Operations
|
|
@@ -198,6 +228,178 @@ class MyService {
|
|
|
198
228
|
}
|
|
199
229
|
```
|
|
200
230
|
|
|
231
|
+
### Multi-Language Codebase Analysis (v2.0.0)
|
|
232
|
+
|
|
233
|
+
Analyze codebases in TypeScript, JavaScript, Python, Go, Rust, and Java.
|
|
234
|
+
|
|
235
|
+
```typescript
|
|
236
|
+
import { CodebaseAnalyzer } from '@skillsmith/core'
|
|
237
|
+
|
|
238
|
+
const analyzer = new CodebaseAnalyzer()
|
|
239
|
+
const context = await analyzer.analyze('/path/to/project')
|
|
240
|
+
|
|
241
|
+
// Languages detected
|
|
242
|
+
console.log(context.metadata.languages)
|
|
243
|
+
// ['typescript', 'python', 'go']
|
|
244
|
+
|
|
245
|
+
// Files by language
|
|
246
|
+
console.log(context.stats.filesByLanguage)
|
|
247
|
+
// { typescript: 45, python: 23, go: 12 }
|
|
248
|
+
|
|
249
|
+
// Detected frameworks across all languages
|
|
250
|
+
console.log(context.frameworks)
|
|
251
|
+
// [{ name: 'React', confidence: 0.95 }, { name: 'Django', confidence: 0.9 }]
|
|
252
|
+
|
|
253
|
+
analyzer.dispose()
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
#### Language Router
|
|
257
|
+
|
|
258
|
+
Route files to appropriate language adapters:
|
|
259
|
+
|
|
260
|
+
```typescript
|
|
261
|
+
import {
|
|
262
|
+
LanguageRouter,
|
|
263
|
+
TypeScriptAdapter,
|
|
264
|
+
PythonAdapter,
|
|
265
|
+
GoAdapter,
|
|
266
|
+
RustAdapter,
|
|
267
|
+
JavaAdapter,
|
|
268
|
+
} from '@skillsmith/core'
|
|
269
|
+
|
|
270
|
+
const router = new LanguageRouter()
|
|
271
|
+
router.registerAdapter(new TypeScriptAdapter())
|
|
272
|
+
router.registerAdapter(new PythonAdapter())
|
|
273
|
+
router.registerAdapter(new GoAdapter())
|
|
274
|
+
router.registerAdapter(new RustAdapter())
|
|
275
|
+
router.registerAdapter(new JavaAdapter())
|
|
276
|
+
|
|
277
|
+
// Check if file is supported
|
|
278
|
+
router.canHandle('main.py') // true
|
|
279
|
+
router.getLanguage('main.go') // 'go'
|
|
280
|
+
|
|
281
|
+
// Parse a file
|
|
282
|
+
const result = router.parseFile(content, 'main.py')
|
|
283
|
+
console.log(result.imports, result.exports, result.functions)
|
|
284
|
+
|
|
285
|
+
router.dispose()
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
#### Parse Caching
|
|
289
|
+
|
|
290
|
+
Cache parse results for improved performance:
|
|
291
|
+
|
|
292
|
+
```typescript
|
|
293
|
+
import { ParseCache } from '@skillsmith/core'
|
|
294
|
+
|
|
295
|
+
const cache = new ParseCache({ maxMemoryMB: 100 })
|
|
296
|
+
|
|
297
|
+
// Check cache before parsing
|
|
298
|
+
const cached = cache.get('src/main.ts', content)
|
|
299
|
+
if (cached) {
|
|
300
|
+
return cached
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// Parse and cache
|
|
304
|
+
const result = adapter.parseFile(content, 'src/main.ts')
|
|
305
|
+
cache.set('src/main.ts', content, result)
|
|
306
|
+
|
|
307
|
+
// View cache statistics
|
|
308
|
+
console.log(cache.getStats())
|
|
309
|
+
// { size: 1048576, entries: 50, maxSize: 104857600, hitRate: 0.85 }
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
#### Incremental Parsing
|
|
313
|
+
|
|
314
|
+
Efficiently parse changes:
|
|
315
|
+
|
|
316
|
+
```typescript
|
|
317
|
+
import { IncrementalParser, TypeScriptAdapter } from '@skillsmith/core'
|
|
318
|
+
|
|
319
|
+
const parser = new IncrementalParser({ maxTrees: 50 })
|
|
320
|
+
const adapter = new TypeScriptAdapter()
|
|
321
|
+
|
|
322
|
+
// First parse (full)
|
|
323
|
+
const result1 = parser.parse('src/main.ts', content1, adapter)
|
|
324
|
+
console.log(result1.wasIncremental) // false
|
|
325
|
+
|
|
326
|
+
// Second parse with small change (incremental, <100ms)
|
|
327
|
+
const result2 = parser.parse('src/main.ts', content2, adapter)
|
|
328
|
+
console.log(result2.wasIncremental) // true
|
|
329
|
+
|
|
330
|
+
parser.dispose()
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
#### Parallel Parsing
|
|
334
|
+
|
|
335
|
+
Parse large codebases in parallel:
|
|
336
|
+
|
|
337
|
+
```typescript
|
|
338
|
+
import { ParserWorkerPool } from '@skillsmith/core'
|
|
339
|
+
|
|
340
|
+
const pool = new ParserWorkerPool({ poolSize: 4 })
|
|
341
|
+
|
|
342
|
+
const tasks = files.map(f => ({
|
|
343
|
+
filePath: f.path,
|
|
344
|
+
content: f.content,
|
|
345
|
+
language: 'typescript'
|
|
346
|
+
}))
|
|
347
|
+
|
|
348
|
+
const results = await pool.parseFiles(tasks)
|
|
349
|
+
console.log(`Parsed ${results.length} files`)
|
|
350
|
+
|
|
351
|
+
pool.dispose()
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
#### Dependency Parsers
|
|
355
|
+
|
|
356
|
+
Parse language-specific dependency files:
|
|
357
|
+
|
|
358
|
+
```typescript
|
|
359
|
+
import {
|
|
360
|
+
parseGoMod,
|
|
361
|
+
parseCargoToml,
|
|
362
|
+
parsePomXml,
|
|
363
|
+
parseBuildGradle,
|
|
364
|
+
} from '@skillsmith/core'
|
|
365
|
+
|
|
366
|
+
// Go dependencies
|
|
367
|
+
const goMod = parseGoMod(goModContent)
|
|
368
|
+
console.log(goMod.module) // "github.com/user/project"
|
|
369
|
+
console.log(goMod.require) // [{ path: "...", version: "..." }]
|
|
370
|
+
|
|
371
|
+
// Rust dependencies
|
|
372
|
+
const cargo = parseCargoToml(cargoTomlContent)
|
|
373
|
+
// [{ name: "serde", version: "1.0", isDev: false }]
|
|
374
|
+
|
|
375
|
+
// Java Maven dependencies
|
|
376
|
+
const maven = parsePomXml(pomXmlContent)
|
|
377
|
+
// [{ name: "org.springframework:spring-core", version: "5.3.0", isDev: false }]
|
|
378
|
+
|
|
379
|
+
// Java Gradle dependencies
|
|
380
|
+
const gradle = parseBuildGradle(buildGradleContent)
|
|
381
|
+
// [{ name: "org.springframework:spring-core", version: "5.3.0", isDev: false }]
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
#### Supported Languages & Frameworks
|
|
385
|
+
|
|
386
|
+
| Language | Extensions | Frameworks Detected |
|
|
387
|
+
|----------|------------|---------------------|
|
|
388
|
+
| TypeScript/JS | `.ts`, `.tsx`, `.js`, `.jsx`, `.mjs`, `.cjs` | React, Vue, Angular, Next.js, Express, Nest.js, Jest, Vitest |
|
|
389
|
+
| Python | `.py`, `.pyi`, `.pyw` | Django, FastAPI, Flask, pytest, pandas, numpy |
|
|
390
|
+
| Go | `.go` | Gin, Echo, Fiber, GORM, Cobra, gRPC, testify |
|
|
391
|
+
| Rust | `.rs` | Actix, Rocket, Axum, Tokio, Serde, Diesel, SQLx |
|
|
392
|
+
| Java | `.java` | Spring Boot, Quarkus, Micronaut, JUnit, Hibernate, Lombok |
|
|
393
|
+
|
|
394
|
+
#### Performance
|
|
395
|
+
|
|
396
|
+
| Metric | Target |
|
|
397
|
+
|--------|--------|
|
|
398
|
+
| 10k file analysis | <5 seconds |
|
|
399
|
+
| Incremental parse | <100ms |
|
|
400
|
+
| Cache hit rate | >80% |
|
|
401
|
+
| Memory efficiency | LRU eviction |
|
|
402
|
+
|
|
201
403
|
## Exports
|
|
202
404
|
|
|
203
405
|
The package provides multiple entry points:
|
|
@@ -211,6 +413,35 @@ import { SkillsmithError, ValidationError } from '@skillsmith/core/errors'
|
|
|
211
413
|
|
|
212
414
|
// Embeddings (lazy-loaded to avoid startup overhead)
|
|
213
415
|
import { EmbeddingService } from '@skillsmith/core/embeddings'
|
|
416
|
+
|
|
417
|
+
// Analysis module (v2.0.0)
|
|
418
|
+
import {
|
|
419
|
+
CodebaseAnalyzer,
|
|
420
|
+
LanguageRouter,
|
|
421
|
+
ParseCache,
|
|
422
|
+
TreeCache,
|
|
423
|
+
IncrementalParser,
|
|
424
|
+
ParserWorkerPool,
|
|
425
|
+
MemoryMonitor,
|
|
426
|
+
// Adapters
|
|
427
|
+
TypeScriptAdapter,
|
|
428
|
+
PythonAdapter,
|
|
429
|
+
GoAdapter,
|
|
430
|
+
RustAdapter,
|
|
431
|
+
JavaAdapter,
|
|
432
|
+
// Dependency parsers
|
|
433
|
+
parseGoMod,
|
|
434
|
+
parseCargoToml,
|
|
435
|
+
parsePomXml,
|
|
436
|
+
parseBuildGradle,
|
|
437
|
+
// Types
|
|
438
|
+
type SupportedLanguage,
|
|
439
|
+
type ParseResult,
|
|
440
|
+
type ImportInfo,
|
|
441
|
+
type ExportInfo,
|
|
442
|
+
type FunctionInfo,
|
|
443
|
+
type CodebaseContext,
|
|
444
|
+
} from '@skillsmith/core'
|
|
214
445
|
```
|
|
215
446
|
|
|
216
447
|
## Requirements
|
|
@@ -220,9 +451,9 @@ import { EmbeddingService } from '@skillsmith/core/embeddings'
|
|
|
220
451
|
|
|
221
452
|
## License
|
|
222
453
|
|
|
223
|
-
|
|
454
|
+
[Elastic License 2.0](https://www.elastic.co/licensing/elastic-license)
|
|
224
455
|
|
|
225
456
|
## Links
|
|
226
457
|
|
|
227
|
-
- [GitHub](https://github.com/smith-horn
|
|
228
|
-
- [Issues](https://github.com/smith-horn
|
|
458
|
+
- [GitHub](https://github.com/smith-horn/skillsmith)
|
|
459
|
+
- [Issues](https://github.com/smith-horn/skillsmith/issues)
|