mirror of
https://github.com/NomaDamas/k-skill.git
synced 2026-09-14 16:37:18 +08:00
cleanup/remove-tracked-cache-plugin
2 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
876077c7c9 |
Feature/#26269601403 (#280)
* ci: bump GHA actions to Node.js 24 runtime majors GitHub Actions runner는 2026-06-02부터 Node.js 20 기반 action들을 강제로 Node.js 24로 돌리고, 2026-09-16에는 Node.js 20 자체를 runner에서 제거한다. 2026-05-22 Deploy k-skill-proxy run #26269601403에서 deprecation annotation 관측: 'actions/checkout@v4, google-github-actions/setup-gcloud@v2 ...running on Node.js 20'. 이번 핫픽스는 우리 모든 워크플로의 action pin을 명시적으로 Node 24 major로 올려둔다. node24 runtime 확인은 action repo의 action.yml runs.using 값을 직접 조회해 검증했다. 변경 (10 replacements across 5 workflows): - actions/checkout: v4 -> v5 (v5/v6 모두 node24, 안정 stable인 v5 채택) - actions/setup-node: v4 -> v5 (v4은 node20, v5+가 node24) - google-github-actions/setup-gcloud: v2 -> v3 (v2은 node20, v3이 node24) 이미 node24인 채로 pin돼 있어 손대지 않은 항목 (sanity): - google-github-actions/auth@v3 (v3 = node24) - google-github-actions/deploy-cloudrun@v3 (v3 = node24) - changesets/action@v1 (v1.8.0 = node24, major pin이 자동 follow) - googleapis/release-please-action@v4 (v4.4.1 = node24, major pin이 자동 follow) 검증: - yaml grammar는 ast-grep yaml replace로 보존 (10 surgical replacements only). - runtime은 'gh api .../action.yml | grep using:' 으로 모든 새 ref가 node24임을 실제 확인. 추측 없음. - 머지 후 첫 deploy run에서 deprecation annotation이 사라지는지 최종 검증. * Keep workflow actions ahead of Node 20 removal Release-please was still pinned to a Node 20 runtime major in the Python release scaffold, so the workflow set was not fully clean for the runner cutoff. Add a workflow regression test to keep the reviewed action majors on Node 24 refs. Constraint: GitHub-hosted runners begin forcing Node 20 actions to Node 24 on 2026-06-02 and remove Node 20 on 2026-09-16. Rejected: Leaving release-please-action@v4 as scaffold-only | it would become a latent release workflow break once Python packages are added. Confidence: high Scope-risk: narrow Directive: Keep workflow action runtime-major claims backed by action.yml metadata checks and regression tests. Tested: node --test scripts/workflow-actions.test.js; Ruby YAML.load_file for workflows; direct GitHub API action.yml runs.using checks; npm run ci attempted through lint/typecheck before local pip pyexpat blocker; equivalent Node/Python/workspace tests, validate-skills.sh, and npm run pack:dry-run passed. Not-tested: npm run ci end-to-end due local Homebrew Python 3.14 pyexpat dynamic-link failure during pip install. * Protect workflow action guardrails from commented uses refs The Node 24 migration guard should catch reviewed stale action majors even when a valid workflow line carries an inline comment or YAML quotes. Reuse one extractor for fixtures and real workflow scans so the regression covers production behavior.\n\nConstraint: PR #279 review round 3 found inline-commented uses lines could be skipped by the text extractor.\nRejected: Full YAML parser adoption | unnecessary for the bounded guardrail and would add complexity to a no-dependency test.\nConfidence: high\nScope-risk: narrow\nDirective: Keep workflow action runtime guardrails deterministic and dependency-free unless broad runtime metadata validation is explicitly required.\nTested: node --test scripts/workflow-actions.test.js; npm run lint; npm run typecheck; direct root/workspace/Python test segments; validate-skills; pack:dry-run; git diff --check; package.json JSON parse.\nNot-tested: npm run test end-to-end past the initial pip install gate because local Homebrew Python 3.14 pyexpat linkage fails before repo tests run. * Clarify curated workflow action runtime guard Document the reviewed scope behind the Node runtime action guard so future maintainers do not mistake the hotfix inventory for exhaustive workflow enforcement. Constraint: Follow-up to PR #280 review watchlist; keep behavior scoped to the reviewed Node 20 to Node 24 action migration set. Rejected: Broadening the guard to every external action | outside this hotfix scope and explicitly deferred by review. Confidence: high Scope-risk: narrow Directive: Expand the source URL map and tests if the guard becomes comprehensive runtime enforcement. Tested: node --test scripts/workflow-actions.test.js; npm run lint; npm run typecheck; git diff --check; python3 -m json.tool package.json; downstream direct test fragments; workspace tests; ./scripts/validate-skills.sh; npm run pack:dry-run Not-tested: npm run test remains blocked before repo tests by local Homebrew Python 3.14 pyexpat/pip import linker error |
||
|
|
f348cb4f85 |
feat: Manus.ai 호환 import 경로 추가 (GitHub URL + rolling .skill 번들) (#227)
* docs: add Manus.ai GitHub skill import guide Manus.ai의 'GitHub에서 프로젝트 스킬 가져오기' 기능은 폴더 루트에 SKILL.md(YAML frontmatter name/description 필수)가 있는 디렉토리 URL을 받는다. k-skill의 모든 스킬은 이미 이 포맷을 만족하므로 코드 변경 없이 문서만 추가한다. - 사용자는 저장소 루트 URL(https://github.com/NomaDamas/k-skill) 대신 개별 스킬 폴더 URL(https://github.com/NomaDamas/k-skill/tree/main/<skill-name>)을 붙여 넣어야 한다. - 기존 frontmatter(license, metadata.*)는 Manus가 무시하지만 다른 코딩 에이전트와의 호환을 위해 그대로 유지한다. * feat: add build:manus-bundle for batch .skill upload to Manus.ai Per-folder GitHub URL import is tedious for 61 skills, so add 'npm run build:manus-bundle' which emits one .skill (ZIP) per skill into dist/manus/, plus a single k-skill-manus-all.zip convenience bundle and an INDEX.md listing. Each archive nests its content under <skill-name>/ to match the public Anthropic skill-creator packager layout. Manus does NOT support multi-skill bulk import in a single archive (verified against help.manus.im, manus.im/docs, and open.manus.ai API docs). The combined zip is purely a download convenience: users still drag-drop individual .skill files into Manus, but the file picker accepts multiple selections so it's still much faster than pasting 61 GitHub URLs. - scripts/build-manus-bundle.js: discovers root-level skills (mirrors validate-skills.sh exclusions), shells out to system zip with -X for reproducible archives, excludes node_modules/__pycache__/.DS_Store. - scripts/test_build_manus_bundle.js: validates discovery, frontmatter parsing, lockstep with validate-skills.sh, and docs coverage. - scripts/validate-skills.sh: also skip dist/ and .sisyphus/ so the validator stays clean after a build. - .gitignore: ignore dist/ and .sisyphus/. - docs/install-manus.md: document both Method A (GitHub URL) and Method B (.skill bundle). * ci: auto-publish Manus .skill bundle as rolling release on main push Every push to main that touches a skill folder or the bundler now builds the .skill bundle and publishes it to the GitHub Releases tag 'manus-bundle-latest' (marked prerelease so it does not pollute the Latest release pointer used by the npm release flow). Users get stable download URLs that always point to the latest build: - https://github.com/NomaDamas/k-skill/releases/download/manus-bundle-latest/k-skill-manus-all.zip - https://github.com/NomaDamas/k-skill/releases/download/manus-bundle-latest/INDEX.md This removes the 'clone the repo and run npm' step for non-developers. The direct-build path remains documented as the developer fallback. - .github/workflows/manus-bundle.yml: workflow_dispatch + push-to-main with paths filter, uses preinstalled gh CLI (no third-party release action), concurrency-grouped so overlapping pushes do not race on the same tag, --clobber upload to keep asset URLs stable. - docs/install-manus.md: new 'quick path' section with the rolling-release URLs; existing local-build section reframed as a developer fallback. - scripts/test_build_manus_bundle.js: 2 new tests pinning the doc URLs and key workflow invariants (trigger branch, build invocation, tag, asset name, prerelease flag, write permission). |