Skip to content

Commit cb82f4b

Browse files
committed
add generate-skills command and enhance skill generation logic
1 parent 0451d62 commit cb82f4b

15 files changed

Lines changed: 1161 additions & 29 deletions

packages/skillc/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,13 @@
88
},
99
"scripts": {
1010
"build": "tsc -p tsconfig.json",
11-
"dev": "tsx src/cli.ts"
11+
"dev": "tsx src/cli.ts",
12+
"test": "vitest run"
1213
},
1314
"dependencies": {
15+
"@tanstack/skillgen": "0.0.0",
1416
"gray-matter": "^4.0.3",
17+
"picomatch": "^4.0.2",
1518
"yaml": "^2.8.2"
1619
},
1720
"devDependencies": {

packages/skillc/src/cli.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,25 @@ import { renderTanstackAgent } from './renderTanstackAgent.js'
1010
import { buildRegistryManifest } from './buildManifest.js'
1111
import { writeProvenance } from './provenance.js'
1212
import { buildLib } from './buildLib.js'
13+
import { generateSkills } from './generateSkills.js'
1314

1415
function arg(name: string) {
1516
const idx = process.argv.indexOf(`--${name}`)
1617
return idx >= 0 ? process.argv[idx + 1] : undefined
1718
}
1819

20+
function args(name: string) {
21+
const values: string[] = []
22+
const flag = `--${name}`
23+
for (let i = 0; i < process.argv.length; i += 1) {
24+
if (process.argv[i] === flag && process.argv[i + 1]) {
25+
values.push(process.argv[i + 1])
26+
i += 1
27+
}
28+
}
29+
return values
30+
}
31+
1932
async function main() {
2033
const cmd = process.argv[2]
2134

@@ -154,6 +167,27 @@ async function main() {
154167
return
155168
}
156169

170+
if (cmd === 'generate-skills') {
171+
const lib = arg('lib')
172+
const version = arg('version')
173+
const repo = arg('repo')
174+
const ref = arg('ref')
175+
const exclude = args('exclude')
176+
const provider = (arg('provider') ?? 'noop') as 'noop' | 'ai'
177+
if (!lib) throw new Error('--lib is required')
178+
if (!version) throw new Error('--version is required')
179+
180+
await generateSkills({
181+
lib,
182+
version,
183+
repo,
184+
ref,
185+
exclude,
186+
provider,
187+
})
188+
return
189+
}
190+
157191
if (cmd === 'build-manifest') {
158192
buildRegistryManifest({ repoRoot: process.cwd(), compilerVersion: '0.0.0' })
159193
return

0 commit comments

Comments
 (0)