Skip to content

v0.2.0

Choose a tag to compare

@knk1313 knk1313 released this 23 Oct 23:03
· 62 commits to main since this release

採点の部品の入れ方を変え、利用者の手元で動くコードの安全性を上げたリリースです。ルールと文書種別は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行を足しました