knitwork-x について
Agentや開発ツール向けに、JavaScriptとTypeScriptのコードをプログラムで組み立てるスキルです。純粋なgen*関数は入力を変更せず、合成可能なコード文字列を返します。
主な機能
- 01JavaScriptとTypeScriptのコード片生成
- 02クラス、関数、型の生成ヘルパー
- 03制御フロー構文の生成
- 04オブジェクトとコレクションのシリアライズ
- 05合成可能な純粋な文字列出力
活用シーン
- 01コード生成ツールの構築
- 02プラグインのソース生成
- 03動的モジュールの作成
- 04TypeScript宣言の組み立て
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ hairyf/ knitwork-x --skill knitwork-xインストール後、Claude Code で/knitwork-xを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
GENERATION.mdreferences/core-design-guidelines.mdcore-esm.mdcore-overview.mdcore-string.mdcore-variable.mdfeatures-class.mdfeatures-condition.mdfeatures-conditional.mdfeatures-decorator.mdfeatures-enum.mdfeatures-function.mdfeatures-interface.mdfeatures-loop.mdfeatures-module-namespace.mdfeatures-object.mdfeatures-statement.mdfeatures-switch.mdfeatures-try.mdfeatures-type.mdfeatures-utils.md詳細
knitwork-x は、JavaScript と TypeScript のプログラムによるコード生成を提供します。knitwork からフォークされ、包括的な TypeScript ヘルパー(ESM(import/export)、文字列、変数、クラス、インターフェース、関数、型、制御フロー(if/try/loop/switch)、シリアライゼーション(object/array/map/set))が追加されています。すべての gen* 関数は、ソースに挿入できる文字列を返します。純粋関数であり、入力を変更しません。
エージェントがコード文字列を生成する必要がある場合(コード生成ツール、プラグイン、動的なモジュール出力など)に、このスキルを使用してください。
コアリファレンス
| トピック | 説明 | リファレンス |
|---|---|---|
| 概要 | 目的、インストール方法、使用する場面 | core-overview |
| ESM | Import、export、default export、dynamic import | core-esm |
| 文字列 | genString、escapeString、genTemplateLiteral | core-string |
| 変数 | genVariable、genVariableName | core-variable |
| 設計ガイドライン | 命名、パラメーター、オプション(コントリビューター向け) | core-design-guidelines |
機能
| トピック | 説明 | リファレンス |
|---|---|---|
| クラス | genClass、genConstructor、genProperty、genMethod、getter/setter | features-class |
| インターフェース | genInterface、genIndexSignature | features-interface |
| Enum | genEnum、genConstEnum | features-enum |
| 関数 | genFunction、genArrowFunction、genBlock、genParam | features-function |
| 型 | genTypeAlias、genUnion、genIntersection、genMappedType など | features-type |
| 条件式 | genConditionalType、genTernary | features-conditional |
| デコレーター | genDecorator | features-decorator |
| モジュールと名前空間 | genModule、genNamespace、genDeclareNamespace | features-module-namespace |
| 条件 | genIf、genElse、genElseIf | features-condition |
| Try | genTry、genCatch、genFinally | features-try |
| ループ | genFor、genForOf、genWhile、genDoWhile | features-loop |
| Switch | genSwitch、genCase、genDefault | features-switch |
| ステートメント | genReturn、genThrow、genPrefixedBlock | features-statement |
| オブジェクトとシリアライゼーション | genObject、genArray、genMap、genSet、genTypeObject | features-object |
| ユーティリティ | genComment、genKey、genLiteral、genRegExp、wrapInDelimiters | features-utils |
重要なポイント
- 戻り値の型: すべての
gen*関数はstring(コード片)を返します。 - オプション: ほとんどの関数は、省略可能な
optionsオブジェクト(例:export、singleQuotes、indent)を受け取ります。デフォルト値は{}です。 - インデント: 対応している場合は、最後のパラメーターとして
indentを渡します。ネストしたブロックにはindent + " "を使用します。 - 文字列:
singleQuotesが反映されるよう、引用符で囲んでエスケープした出力にはgenString(input, options)を使用します。 - 組み合わせ:
gen*の出力を組み合わせて(例:genClass(..., [genConstructor(...)]))、より大きなスニペットを構築します。
コメント
Markdown 対応