Communitygithub.com

niksavis/basicly

コーディングエージェント用のハーネス。単なる指示ではなく、ワークフローと状態を一緒に提供します。各エージェントのネイティブ設定に投影される単一のYAMLカタログ、ワークツリー分離とシリアルマージキューを備えた決定論的ループ、そしてコミット時に強制されるゲートを備えています。

basicly とは?

`niksavis/basicly`は、AIコーディングエージェント(Claude Code、Cursor、Codexなど)向けに設計されたハーネス(制御フレームワーク)です。従来の単なる指示提供とは異なり、ワークフローと状態をエージェントに直接組み込みます。具体的には、エージェントのネイティブ設定(例:`.claude.md`や`.cursorrules`)に自動投影される単一のYAMLカタログを使用し、エージェントの行動を決定論的に制御します。さらに、ワークツリー分離とシリアルマージキューにより、複数のエージェントが同時に作業しても競合が発生しないようにします。また、コミット時にゲート(例:markdownlintフック)が実行されるため、品質基準を自動的に満たすことが保証されます。このハーネスにより、開発者はエージェントの動作をより予測可能にし、再現性のある開発プロセスを実現できます。

対応~Claude Code~Codex CLI~Cursor
npx skills add niksavis/basicly

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Node

このリポジトリにおけるNodeの役割は狭いですが、重要な役割を担っています。markdownlintのgitフックは npx --no-install markdownlint-cli2を実行し、package.json / package-lock.jsonに固定されたmarkdownlint-cli2 開発依存関係を解決します。PATH上のNodeが正しくない場合、そのフックは壊れ、コミットをブロックします。

WSL非インタラクティブシェルの罠(これが厄介)

ログインシェルはプロファイルを読み込み、バージョンマネージャー(nvm)をロードして、リポジトリのNodeをPATHに配置します。* 非インタラクティブ*シェル(スクリプト、バックグラウンドジョブ、ヘッドレスエージェントによって起動されたgitフック)は、その プロファイルを読み込みません。そのため、npx/nodeは、WSL相互運用を介して到達したWindowsのNodeインストールを LinuxのNodeの代わりに解決する可能性があります。すると、markdownlint(およびNodeベースのフック)は、間違ったNodeの下で 実行されるか、完全に失敗します。これは、スクリプトやバックグラウンドジョブからのみ発生し、ターミナルで手動でコミットする 場合には決して発生しません。

修正方法:スクリプトやバックグラウンドジョブからコミットまたはプッシュする前に、リポジトリのNodeをPATHに配置します。 正確な手順はreferences/wsl-node-path.mdにあります。

npmの衛生管理

  • package-lock.jsonからの再現可能なインストールには、npm installではなくnpm ciを使用します。依存関係の変更はロックファイルと一緒にコミットします。
  • npx --no-install <tool>は、固定されたローカル開発依存関係を実行し、ネットワークから異なるバージョンを静かに取得することを拒否します。--no-installを維持してください。
  • Nodeのフットプリントは最小限に保ちます。このリポジトリは、意図的に1つの開発依存関係のみを提供します。依存関係の追加は、確認が必要な変更であり、反射的な行動ではありません。

関連スキル