Repository navigation
v0.2.0
採点の部品の入れ方を変え、利用者の手元で動くコードの安全性を上げたリリースです。ルールと文書種別はv0.1.0から変わっていません。
変更
採点の部品を、固定した版で入れてから動かすようにしました
v0.1.0の採点(evaluators/score.mjs)は、textlintとmarkdownlint-cli2をnpxで取得していました。この方法では、直接の版は固定できても、依存の依存は取得した時点の最新の版になります。依存のどれかが乗っ取られた版を出していると、それがスキルを使った人の手元で動く危険がありました。
v0.2.0では、package-lock.jsonで依存の依存まで版を固定し、初回の採点でnpm ciを使って入れます。インストール時のスクリプトは動かしません。入れる場所は利用者のキャッシュで、macOSでは~/Library/Caches/docs-rulesです。ほかのOSの場所と、場所の変え方は、evaluators/README.mdの「パッケージの入れ方」を参照してください。
- 採点にはNode.js 18以上に加えてnpmが要ります。ない環境では、これまでどおり機械の採点を飛ばし、AIの点検だけで仕上げます
- 2回目からは入れたものを使うため、
npxのときより速く動きます - ロックファイルが変わると、自動で入れ直します
リポジトリの開発の仕組み
- PRと
mainへのpushで、テストとプラグインの検証をGitHub Actionsで動かすようにしました - GitHub Actionsのアクションを、タグではなくコミットのSHAで固定しました
- Dependabotで、採点の部品とアクションの版、既知の脆弱性を確かめるようにしました
- リポジトリ自身の文書を採点するテストで、誤検出を外す条件を狭め、外しすぎていないことを確かめるテストを足しました
修正
- Windowsで、文書のファイル名に「&」などの記号が含まれていると、その後ろがコマンドとして動く問題を直しました。採点の部品をシェルを通さずに起動します
- README.mdの手動配置の手順に、
~/.claude/skills/を作る1行を足しました