@hagicode/skillsbase 0.1.0-dev.11.1.4f10d19
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 +125 -0
- package/README.zh-CN.md +125 -0
- package/bin/skillsbase.mjs +44 -0
- package/dist/cli.mjs +1103 -0
- package/package.json +52 -0
- package/templates/actions/skillsbase-sync/action.yml +44 -0
- package/templates/docs/maintainer-workflow.md +20 -0
- package/templates/skills/README.md +9 -0
- package/templates/sources.yaml +25 -0
- package/templates/workflows/skills-sync.yml +45 -0
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hagicode/skillsbase",
|
|
3
|
+
"version": "0.1.0-dev.11.1.4f10d19",
|
|
4
|
+
"description": "Managed skills repository CLI",
|
|
5
|
+
"homepage": "https://github.com/HagiCode-org/skillsbase#readme",
|
|
6
|
+
"bugs": {
|
|
7
|
+
"url": "https://github.com/HagiCode-org/skillsbase/issues"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/HagiCode-org/skillsbase.git"
|
|
12
|
+
},
|
|
13
|
+
"type": "module",
|
|
14
|
+
"packageManager": "npm@10.9.2",
|
|
15
|
+
"bin": {
|
|
16
|
+
"skillsbase": "./bin/skillsbase.mjs"
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"bin",
|
|
20
|
+
"dist",
|
|
21
|
+
"templates",
|
|
22
|
+
"README.md",
|
|
23
|
+
"README.zh-CN.md"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "vite build",
|
|
27
|
+
"clean": "rm -rf dist",
|
|
28
|
+
"cli": "node --import tsx ./src/cli-entry.ts",
|
|
29
|
+
"pack:check": "node ./scripts/verify-package.mjs",
|
|
30
|
+
"publish:resolve-dev-version": "node ./scripts/resolve-dev-version.mjs",
|
|
31
|
+
"publish:verify-readiness": "node ./scripts/verify-publish-readiness.mjs",
|
|
32
|
+
"publish:verify-release": "node ./scripts/verify-release-version.mjs",
|
|
33
|
+
"test": "node --import tsx --test ./tests/*.test.ts",
|
|
34
|
+
"smoke": "node --import tsx ./scripts/smoke.mjs",
|
|
35
|
+
"typecheck": "tsc --noEmit -p tsconfig.json"
|
|
36
|
+
},
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=22.12.0",
|
|
39
|
+
"npm": ">=10.9.2"
|
|
40
|
+
},
|
|
41
|
+
"publishConfig": {
|
|
42
|
+
"access": "public",
|
|
43
|
+
"provenance": true,
|
|
44
|
+
"registry": "https://registry.npmjs.org/"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@types/node": "^24.0.0",
|
|
48
|
+
"tsx": "^4.20.6",
|
|
49
|
+
"typescript": "^5.9.3",
|
|
50
|
+
"vite": "^8.0.0"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Managed by skillsbase CLI.
|
|
2
|
+
|
|
3
|
+
name: skillsbase-sync
|
|
4
|
+
description: Validate a managed skillsbase repository and run sync in check mode
|
|
5
|
+
|
|
6
|
+
inputs:
|
|
7
|
+
node-version:
|
|
8
|
+
description: Node.js version used for validation
|
|
9
|
+
required: false
|
|
10
|
+
default: "{{NODE_VERSION}}"
|
|
11
|
+
run-tests:
|
|
12
|
+
description: Whether to run npm test before sync --check
|
|
13
|
+
required: false
|
|
14
|
+
default: "true"
|
|
15
|
+
|
|
16
|
+
runs:
|
|
17
|
+
using: composite
|
|
18
|
+
steps:
|
|
19
|
+
- name: Setup Node.js
|
|
20
|
+
uses: actions/setup-node@v4
|
|
21
|
+
with:
|
|
22
|
+
node-version: ${{ inputs.node-version }}
|
|
23
|
+
cache: npm
|
|
24
|
+
|
|
25
|
+
- name: Install dependencies
|
|
26
|
+
shell: bash
|
|
27
|
+
run: npm ci
|
|
28
|
+
|
|
29
|
+
- name: Upgrade npm
|
|
30
|
+
shell: bash
|
|
31
|
+
run: npm install --global npm@10.9.2
|
|
32
|
+
|
|
33
|
+
- name: Install skillsbase
|
|
34
|
+
shell: bash
|
|
35
|
+
run: npm install --global @hagicode/skillsbase
|
|
36
|
+
|
|
37
|
+
- name: Run tests
|
|
38
|
+
if: ${{ inputs.run-tests == 'true' }}
|
|
39
|
+
shell: bash
|
|
40
|
+
run: npm test
|
|
41
|
+
|
|
42
|
+
- name: Run sync check
|
|
43
|
+
shell: bash
|
|
44
|
+
run: skillsbase sync --check --repo .
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<!-- Managed by skillsbase CLI. -->
|
|
2
|
+
|
|
3
|
+
# Maintainer Workflow
|
|
4
|
+
|
|
5
|
+
The maintainer flow is `init -> add -> sync -> github_action`.
|
|
6
|
+
|
|
7
|
+
## Lifecycle
|
|
8
|
+
|
|
9
|
+
1. `skillsbase init`
|
|
10
|
+
2. `skillsbase add <skill-name>`
|
|
11
|
+
3. `skillsbase sync`
|
|
12
|
+
4. `skillsbase github_action --kind all`
|
|
13
|
+
|
|
14
|
+
## Notes
|
|
15
|
+
|
|
16
|
+
- `sources.yaml` is the single source of truth.
|
|
17
|
+
- `skills/` stores managed output only.
|
|
18
|
+
- `.skill-source.json` records source and conversion metadata.
|
|
19
|
+
- `skillsbase sync --check` validates drift without writing files.
|
|
20
|
+
- If a source root is unavailable, use `skillsbase sync --allow-missing-sources` to skip it.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!-- Managed by skillsbase CLI. -->
|
|
2
|
+
|
|
3
|
+
# Managed Skills
|
|
4
|
+
|
|
5
|
+
This directory contains managed skill output only.
|
|
6
|
+
|
|
7
|
+
- Every skill directory must include `SKILL.md`
|
|
8
|
+
- Every managed directory must include `.skill-source.json`
|
|
9
|
+
- Do not edit managed files by hand; make changes in `sources.yaml` and the upstream source instead
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Managed by skillsbase CLI.
|
|
2
|
+
# This template documents the expected manifest shape. The CLI serializes the real file.
|
|
3
|
+
version: 1
|
|
4
|
+
skillsRoot: skills
|
|
5
|
+
metadataFile: .skill-source.json
|
|
6
|
+
managedBy: skillsbase
|
|
7
|
+
remoteRepository: "{{REMOTE_REPOSITORY}}"
|
|
8
|
+
staleCleanup: true
|
|
9
|
+
skillsCliVersion: 1.4.8
|
|
10
|
+
installAgent: codex
|
|
11
|
+
sources:
|
|
12
|
+
- key: first-party
|
|
13
|
+
label: "First-party local skills"
|
|
14
|
+
kind: first-party
|
|
15
|
+
root: "{{FIRST_PARTY_ROOT}}"
|
|
16
|
+
targetPrefix: ""
|
|
17
|
+
include:
|
|
18
|
+
- "{{FIRST_PARTY_EXAMPLE}}"
|
|
19
|
+
- key: system
|
|
20
|
+
label: "Mirrored system skills"
|
|
21
|
+
kind: mirrored-system
|
|
22
|
+
root: "{{SYSTEM_ROOT}}"
|
|
23
|
+
targetPrefix: system-
|
|
24
|
+
include:
|
|
25
|
+
- "{{SYSTEM_EXAMPLE}}"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Managed by skillsbase CLI.
|
|
2
|
+
|
|
3
|
+
name: Skills Sync
|
|
4
|
+
|
|
5
|
+
on:
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
pull_request:
|
|
8
|
+
push:
|
|
9
|
+
branches:
|
|
10
|
+
- main
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
|
|
15
|
+
concurrency:
|
|
16
|
+
group: skills-sync-${{ github.ref }}
|
|
17
|
+
cancel-in-progress: false
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
validate:
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout repository
|
|
24
|
+
uses: actions/checkout@v4
|
|
25
|
+
|
|
26
|
+
- name: Setup Node.js
|
|
27
|
+
uses: actions/setup-node@v4
|
|
28
|
+
with:
|
|
29
|
+
node-version: {{NODE_VERSION}}
|
|
30
|
+
cache: npm
|
|
31
|
+
|
|
32
|
+
- name: Install dependencies
|
|
33
|
+
run: npm ci
|
|
34
|
+
|
|
35
|
+
- name: Upgrade npm
|
|
36
|
+
run: npm install --global npm@10.9.2
|
|
37
|
+
|
|
38
|
+
- name: Install skillsbase
|
|
39
|
+
run: npm install --global @hagicode/skillsbase
|
|
40
|
+
|
|
41
|
+
- name: Run tests
|
|
42
|
+
run: npm test
|
|
43
|
+
|
|
44
|
+
- name: Validate managed repository state
|
|
45
|
+
run: skillsbase sync --check --repo .
|