petari 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/dist/cli.js +2 -1
- package/dist/commands/init.js +11 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -32,12 +32,15 @@ petari undo # 直近の適用を巻き戻す
|
|
|
32
32
|
`instructionFilePath` 相当。別の場所に置く場合は `--instruction-file <path>`)。
|
|
33
33
|
|
|
34
34
|
```sh
|
|
35
|
-
npx
|
|
35
|
+
npx slnmix init # 初回だけ。protocol.md / .petari/ / docs/ / .gitignore をまとめて準備
|
|
36
|
+
# (slnmix v0.18.0 以降。内部で petari init --yes --no-repomix を実行)
|
|
36
37
|
npx slnmix # .sln を解析。出力末尾に規約文が自動で付く
|
|
37
38
|
# → 出力を M365 Copilot Chat に貼る
|
|
38
39
|
petari # 返答 (changes.md) を適用
|
|
39
40
|
```
|
|
40
41
|
|
|
42
|
+
slnmix v0.17.0 以前では `npx petari init` で protocol.md を作ります (.sln と同じプロジェクト直下に)。
|
|
43
|
+
|
|
41
44
|
**変更を依頼するメッセージには、必ず次の 1 行を添えてください。**
|
|
42
45
|
貼り付け本文に埋め込まれた規約文は、チャットサービス側の要約・検索処理で
|
|
43
46
|
モデルに届かなかったり、チャット本文の指示より弱く扱われたりすることがあります
|
|
@@ -90,7 +93,7 @@ slnmix の出力) が実ファイルとずれている**可能性が高いです
|
|
|
90
93
|
| `petari show [ID]` | 履歴の差分を表示 (VS Code、なければブラウザにフォールバック)。`--edit` で現在のファイルを差分を見ながら手修正、`--mine` で適用後の手修正分、`--changes` で変更概要、`--browser` でブラウザ強制 |
|
|
91
94
|
| `petari list` | 履歴の一覧と合計サイズ |
|
|
92
95
|
| `petari protocol` | AI への規約文を標準出力に出す (slnmix / repomix 連携用) |
|
|
93
|
-
| `petari init` | プロジェクト初回セットアップ (`--yes`
|
|
96
|
+
| `petari init` | プロジェクト初回セットアップ (`--yes` で全提案に同意。`--no-repomix` で repomix 連携を省く。slnmix 利用者は `npx slnmix init` が代わりに呼ぶ) |
|
|
94
97
|
|
|
95
98
|
主なオプション: `--dry-run` (検証と差分プレビューのみ) / `--partial` (成功分のみ適用) /
|
|
96
99
|
`--root <dir>` / `--yes` / `--clip-report` (失敗レポートをクリップボードへ。v0.5.0 から既定で自動コピーされるため、config で無効化した場合の個別指定用) /
|
package/dist/cli.js
CHANGED
|
@@ -16,7 +16,8 @@ Usage:
|
|
|
16
16
|
petari show [ID] 履歴の差分を表示 (VS Code / ブラウザ)。--edit で手修正
|
|
17
17
|
petari list 履歴の一覧を表示
|
|
18
18
|
petari protocol AI への規約文を標準出力に出す
|
|
19
|
-
petari init プロジェクト初回セットアップ
|
|
19
|
+
petari init プロジェクト初回セットアップ (--yes で全提案に同意、
|
|
20
|
+
--no-repomix で repomix 連携を省く)
|
|
20
21
|
|
|
21
22
|
Options:
|
|
22
23
|
-h, --help ヘルプを表示
|
package/dist/commands/init.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* petari init — プロジェクト初回セットアップの一括実行 (§4.6)。
|
|
3
3
|
* 対話形式 (--yes で全提案に自動同意)。既存ファイルは上書きせず確認する。
|
|
4
|
+
* --no-repomix は repomix 連携 (手順 3) を丸ごと省く。slnmix の `slnmix init` が
|
|
5
|
+
* `--yes --no-repomix` で呼ぶ (slnmix 利用者に repomix.config.json は要らないため)。
|
|
4
6
|
*/
|
|
5
7
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
6
8
|
import { join } from "node:path";
|
|
@@ -24,6 +26,7 @@ export async function initCommand(argv) {
|
|
|
24
26
|
options: {
|
|
25
27
|
root: { type: "string" },
|
|
26
28
|
yes: { type: "boolean", short: "y", default: false },
|
|
29
|
+
"no-repomix": { type: "boolean", default: false },
|
|
27
30
|
},
|
|
28
31
|
});
|
|
29
32
|
const root = findProjectRoot(process.cwd(), values.root);
|
|
@@ -57,7 +60,10 @@ export async function initCommand(argv) {
|
|
|
57
60
|
}
|
|
58
61
|
// 3. repomix 連携 (§4.6-3)
|
|
59
62
|
const repomixPath = join(root, "repomix.config.json");
|
|
60
|
-
if (
|
|
63
|
+
if (values["no-repomix"]) {
|
|
64
|
+
out("3. repomix 連携は省略します (--no-repomix)");
|
|
65
|
+
}
|
|
66
|
+
else if (existsSync(repomixPath)) {
|
|
61
67
|
let parsed;
|
|
62
68
|
try {
|
|
63
69
|
parsed = JSON.parse(readFileSync(repomixPath, "utf8"));
|
|
@@ -114,6 +120,10 @@ export async function initCommand(argv) {
|
|
|
114
120
|
out(" 作成しました: .gitignore");
|
|
115
121
|
}
|
|
116
122
|
out("");
|
|
123
|
+
if (values["no-repomix"]) {
|
|
124
|
+
out("セットアップ完了。");
|
|
125
|
+
return 0;
|
|
126
|
+
}
|
|
117
127
|
out("セットアップ完了。repomix 実行で規約文入りのコンテキストが生成されます。");
|
|
118
128
|
out("slnmix (v0.7.0+) は同じディレクトリの protocol.md を出力末尾に自動連結します。");
|
|
119
129
|
return 0;
|