@335g/pi-git 0.0.3 → 0.0.4

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.
Files changed (55) hide show
  1. package/README.ja.md +3 -3
  2. package/README.md +3 -3
  3. package/dist/commands/agg-commit.d.ts.map +1 -1
  4. package/dist/commands/agg-commit.js +25 -29
  5. package/dist/commands/agg-commit.js.map +1 -1
  6. package/dist/commands/auto-agg-commit.d.ts.map +1 -1
  7. package/dist/commands/auto-agg-commit.js +6 -31
  8. package/dist/commands/auto-agg-commit.js.map +1 -1
  9. package/dist/commands/config.d.ts +1 -1
  10. package/dist/commands/config.d.ts.map +1 -1
  11. package/dist/commands/config.js +51 -43
  12. package/dist/commands/config.js.map +1 -1
  13. package/dist/commands/diagnostics.d.ts +12 -0
  14. package/dist/commands/diagnostics.d.ts.map +1 -0
  15. package/dist/commands/diagnostics.js +59 -0
  16. package/dist/commands/diagnostics.js.map +1 -0
  17. package/dist/core/auto-commit-message.d.ts.map +1 -1
  18. package/dist/core/auto-commit-message.js +29 -73
  19. package/dist/core/auto-commit-message.js.map +1 -1
  20. package/dist/core/auto-commit.d.ts.map +1 -1
  21. package/dist/core/auto-commit.js +3 -4
  22. package/dist/core/auto-commit.js.map +1 -1
  23. package/dist/core/commit-message.d.ts.map +1 -1
  24. package/dist/core/commit-message.js +3 -0
  25. package/dist/core/commit-message.js.map +1 -1
  26. package/dist/core/diff-analyzer.d.ts.map +1 -1
  27. package/dist/core/diff-analyzer.js +73 -61
  28. package/dist/core/diff-analyzer.js.map +1 -1
  29. package/dist/core/git.d.ts +5 -3
  30. package/dist/core/git.d.ts.map +1 -1
  31. package/dist/core/git.js +19 -3
  32. package/dist/core/git.js.map +1 -1
  33. package/dist/i18n/messages.d.ts +107 -0
  34. package/dist/i18n/messages.d.ts.map +1 -0
  35. package/dist/i18n/messages.js +135 -0
  36. package/dist/i18n/messages.js.map +1 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +21 -4
  39. package/dist/index.js.map +1 -1
  40. package/dist/utils/diagnostics.d.ts +33 -0
  41. package/dist/utils/diagnostics.d.ts.map +1 -0
  42. package/dist/utils/diagnostics.js +32 -0
  43. package/dist/utils/diagnostics.js.map +1 -0
  44. package/dist/utils/footer-manager.d.ts.map +1 -1
  45. package/dist/utils/footer-manager.js +5 -5
  46. package/dist/utils/footer-manager.js.map +1 -1
  47. package/dist/utils/lang.d.ts +13 -8
  48. package/dist/utils/lang.d.ts.map +1 -1
  49. package/dist/utils/lang.js +21 -11
  50. package/dist/utils/lang.js.map +1 -1
  51. package/dist/utils/settings.d.ts +13 -5
  52. package/dist/utils/settings.d.ts.map +1 -1
  53. package/dist/utils/settings.js +65 -13
  54. package/dist/utils/settings.js.map +1 -1
  55. package/package.json +6 -2
@@ -1,17 +1,27 @@
1
1
  /**
2
- * Language utilities for i18n support
2
+ * Language utilities for i18n support.
3
+ *
4
+ * The `t()` function resolves a message key against the catalog in
5
+ * src/i18n/messages.ts and replaces `{placeholder}` params.
3
6
  */
7
+ import { messages } from "../i18n/messages.js";
4
8
  /**
5
- * Check if the language is Japanese
9
+ * Get a localized message by key, with optional placeholder interpolation.
10
+ *
11
+ * Placeholders use `{key}` syntax and are replaced in a single pass to
12
+ * prevent cross-contamination when param values themselves contain braces.
13
+ *
14
+ * Unsupported languages fall back to English.
15
+ * Unknown keys return the key itself as a last-resort fallback.
6
16
  */
7
- export function isJapanese(lang) {
8
- return lang === "ja" || lang === "ja-JP" || lang === "japanese";
9
- }
10
- /**
11
- * Get localized message based on language.
12
- * Usage: t(lang)`日本語|English` or t(lang, "日本語", "English")
13
- */
14
- export function t(lang, ja, en) {
15
- return isJapanese(lang) ? ja : en;
17
+ export function t(lang, key, params) {
18
+ const langKey = lang in messages ? lang : "en";
19
+ let text = messages[langKey]?.[key] ??
20
+ messages["en"]?.[key] ??
21
+ key;
22
+ if (params) {
23
+ text = text.replace(/\{(\w+)\}/g, (_, k) => params[k] ?? `{${k}}`);
24
+ }
25
+ return text;
16
26
  }
17
27
  //# sourceMappingURL=lang.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lang.js","sourceRoot":"","sources":["../../src/utils/lang.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,CAAC,CAAC,IAAY,EAAE,EAAU,EAAE,EAAU;IACpD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"lang.js","sourceRoot":"","sources":["../../src/utils/lang.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAmB,MAAM,qBAAqB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,UAAU,CAAC,CACf,IAAY,EACZ,GAAe,EACf,MAA+B;IAE/B,MAAM,OAAO,GAAG,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,IAAI,IAAI,GACL,QAAmD,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC;QACnE,QAAmD,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;QACjE,GAAG,CAAC;IAEN,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -3,8 +3,9 @@
3
3
  *
4
4
  * Settings are stored in:
5
5
  * - Global: ~/.config/pi-git/settings.json
6
- * - Local: <git-root>/.pi-git/settings.json (takes precedence)
6
+ * - Local: <git-root>/pi-git.toml (takes precedence)
7
7
  */
8
+ import type { MessageKey } from "../i18n/messages.js";
8
9
  export interface PiGitSettings {
9
10
  /** Display and commit message language (e.g., "en", "ja") */
10
11
  lang?: string;
@@ -19,10 +20,8 @@ export interface KeyMeta {
19
20
  key: string;
20
21
  /** Display type (e.g., "string", "boolean") */
21
22
  type: string;
22
- /** Japanese description */
23
- description_ja: string;
24
- /** English description */
25
- description_en: string;
23
+ /** Message key for localized description */
24
+ messageKey: MessageKey;
26
25
  /** Valid values hint (optional) */
27
26
  valid_values?: string;
28
27
  }
@@ -43,5 +42,14 @@ export declare function getLanguage(cwd?: string): string;
43
42
  export declare function getAutoAggCommit(cwd?: string): boolean;
44
43
  export declare function getAnalysisModel(cwd?: string): string | undefined;
45
44
  export declare function saveGlobalSettings(settings: Partial<PiGitSettings>): void;
45
+ /**
46
+ * Create (or overwrite) pi-git.toml with DEFAULT_SETTINGS at the repo root.
47
+ *
48
+ * @param cwdOrPath - Working directory (to resolve git root) or an already-resolved
49
+ * local settings path. If a path ending in "pi-git.toml" is passed, it is used directly
50
+ * without re-running git rev-parse.
51
+ * @returns The written path, or null if not inside a git repo.
52
+ */
53
+ export declare function initLocalSettings(cwdOrPath?: string): string | null;
46
54
  export declare function saveLocalSettings(settings: Partial<PiGitSettings>, cwd?: string): void;
47
55
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/utils/settings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,gDAAgD;AAChD,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,gDAAgD;AAChD,eAAO,MAAM,eAAe,EAAE,OAAO,EAwBpC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAI9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAuC,CAAC;AACtE,eAAO,MAAM,oBAAoB,QAA2C,CAAC;AAoB7E,wBAAgB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYhE;AAyBD,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,CAQvD;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAMD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,aAAa,EACxB,GAAG,CAAC,EAAE,MAAM,GACX,aAAa,CAKf;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,aAAa,EAChE,GAAG,EAAE,CAAC,EACN,GAAG,CAAC,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAGhE;AAMD,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGjE;AAMD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAUzE;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,EAChC,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAUN"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/utils/settings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,gDAAgD;AAChD,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,UAAU,EAAE,UAAU,CAAC;IACvB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,gDAAgD;AAChD,eAAO,MAAM,eAAe,EAAE,OAAO,EAmBpC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAI9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAuC,CAAC;AACtE,eAAO,MAAM,oBAAoB,QAA2C,CAAC;AAoB7E,wBAAgB,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYhE;AA6DD,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,CAQvD;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAMD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,aAAa,EACxB,GAAG,CAAC,EAAE,MAAM,GACX,aAAa,CAKf;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,aAAa,EAChE,GAAG,EAAE,CAAC,EACN,GAAG,CAAC,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE,CAGhE;AAMD,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGjE;AAMD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAUzE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASnE;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,EAChC,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAUN"}
@@ -3,33 +3,31 @@
3
3
  *
4
4
  * Settings are stored in:
5
5
  * - Global: ~/.config/pi-git/settings.json
6
- * - Local: <git-root>/.pi-git/settings.json (takes precedence)
6
+ * - Local: <git-root>/pi-git.toml (takes precedence)
7
7
  */
8
8
  import { execSync } from "node:child_process";
9
9
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
10
10
  import { homedir } from "node:os";
11
11
  import { dirname, join } from "node:path";
12
+ import { parse as parseToml, stringify as stringifyToml } from "smol-toml";
12
13
  /** Metadata for all valid configuration keys */
13
14
  export const VALID_KEYS_META = [
14
15
  {
15
16
  key: "lang",
16
17
  type: "string",
17
- description_ja: "表示・コミットメッセージの言語設定",
18
- description_en: "Display and commit message language",
18
+ messageKey: "config.keyDesc.lang",
19
19
  valid_values: '"en" or "ja"',
20
20
  },
21
21
  {
22
22
  key: "auto_agg_commit",
23
23
  type: "boolean",
24
- description_ja: "アシスタント応答後の自動コミット有無",
25
- description_en: "Whether to automatically run git-agg-commit after assistant response",
24
+ messageKey: "config.keyDesc.auto_agg_commit",
26
25
  valid_values: "true or false",
27
26
  },
28
27
  {
29
28
  key: "analysis_model",
30
29
  type: "string",
31
- description_ja: "diff分析に使用するAIモデル(形式: provider/model-id)",
32
- description_en: "AI model to use for diff analysis (format: provider/model-id)",
30
+ messageKey: "config.keyDesc.analysis_model",
33
31
  valid_values: "e.g., anthropic/claude-3-5-sonnet-20241022",
34
32
  },
35
33
  ];
@@ -40,8 +38,8 @@ export const DEFAULT_SETTINGS = {
40
38
  };
41
39
  export const GLOBAL_CONFIG_DIR = join(homedir(), ".config", "pi-git");
42
40
  export const GLOBAL_SETTINGS_FILE = join(GLOBAL_CONFIG_DIR, "settings.json");
43
- const LOCAL_SETTINGS_DIR = ".pi-git";
44
- const LOCAL_SETTINGS_FILE = "settings.json";
41
+ const LOCAL_SETTINGS_FILE = "pi-git.toml";
42
+ const LEGACY_LOCAL_PATH = join(".pi-git", "settings.json");
45
43
  // ───────────────────────────────────────────────
46
44
  // File I/O helpers
47
45
  // ───────────────────────────────────────────────
@@ -68,7 +66,21 @@ export function getLocalSettingsPath(cwd) {
68
66
  }).trim();
69
67
  if (!repoRoot)
70
68
  return null;
71
- return join(repoRoot, LOCAL_SETTINGS_DIR, LOCAL_SETTINGS_FILE);
69
+ return join(repoRoot, LOCAL_SETTINGS_FILE);
70
+ }
71
+ catch {
72
+ return null;
73
+ }
74
+ }
75
+ function loadToml(path) {
76
+ if (!existsSync(path))
77
+ return null;
78
+ try {
79
+ const raw = readFileSync(path, "utf-8");
80
+ const parsed = parseToml(raw);
81
+ if (typeof parsed !== "object" || parsed === null)
82
+ return null;
83
+ return parsed;
72
84
  }
73
85
  catch {
74
86
  return null;
@@ -77,7 +89,28 @@ export function getLocalSettingsPath(cwd) {
77
89
  function loadRaw(cwd) {
78
90
  const global = loadJson(GLOBAL_SETTINGS_FILE) ?? {};
79
91
  const localPath = getLocalSettingsPath(cwd);
80
- const local = localPath ? loadJson(localPath) : null;
92
+ const local = localPath ? loadToml(localPath) : null;
93
+ // Detect legacy settings file and warn if found
94
+ if (!local && localPath) {
95
+ try {
96
+ const repoRoot = execSync("git rev-parse --show-toplevel", {
97
+ cwd,
98
+ encoding: "utf-8",
99
+ stdio: ["pipe", "pipe", "ignore"],
100
+ }).trim();
101
+ if (repoRoot) {
102
+ const legacyPath = join(repoRoot, LEGACY_LOCAL_PATH);
103
+ if (existsSync(legacyPath)) {
104
+ console.warn("[pi-git] Found legacy .pi-git/settings.json. " +
105
+ "Settings are now read from pi-git.toml. " +
106
+ "Please migrate your settings manually or create pi-git.toml via /git-config.");
107
+ }
108
+ }
109
+ }
110
+ catch {
111
+ // ignore
112
+ }
113
+ }
81
114
  return { global, local };
82
115
  }
83
116
  function merge(global, local) {
@@ -137,15 +170,34 @@ export function saveGlobalSettings(settings) {
137
170
  writeFileSync(GLOBAL_SETTINGS_FILE, `${JSON.stringify(updated, null, 2)}\n`, "utf-8");
138
171
  cache.clear();
139
172
  }
173
+ /**
174
+ * Create (or overwrite) pi-git.toml with DEFAULT_SETTINGS at the repo root.
175
+ *
176
+ * @param cwdOrPath - Working directory (to resolve git root) or an already-resolved
177
+ * local settings path. If a path ending in "pi-git.toml" is passed, it is used directly
178
+ * without re-running git rev-parse.
179
+ * @returns The written path, or null if not inside a git repo.
180
+ */
181
+ export function initLocalSettings(cwdOrPath) {
182
+ const localPath = cwdOrPath?.endsWith("pi-git.toml")
183
+ ? cwdOrPath
184
+ : getLocalSettingsPath(cwdOrPath);
185
+ if (!localPath)
186
+ return null;
187
+ mkdirSync(dirname(localPath), { recursive: true });
188
+ writeFileSync(localPath, stringifyToml(DEFAULT_SETTINGS), "utf-8");
189
+ cache.clear();
190
+ return localPath;
191
+ }
140
192
  export function saveLocalSettings(settings, cwd) {
141
193
  const localPath = getLocalSettingsPath(cwd);
142
194
  if (!localPath) {
143
195
  throw new Error("Not inside a git repository");
144
196
  }
145
197
  mkdirSync(dirname(localPath), { recursive: true });
146
- const current = loadJson(localPath) ?? {};
198
+ const current = loadToml(localPath) ?? {};
147
199
  const updated = { ...current, ...settings };
148
- writeFileSync(localPath, `${JSON.stringify(updated, null, 2)}\n`, "utf-8");
200
+ writeFileSync(localPath, stringifyToml(updated), "utf-8");
149
201
  cache.clear();
150
202
  }
151
203
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/utils/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/utils/settings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@335g/pi-git",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Git utilities extension for pi-coding-agent",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -45,7 +45,8 @@
45
45
  "devDependencies": {
46
46
  "@earendil-works/pi-tui": "^0.78.0",
47
47
  "@types/node": "^25.9.1",
48
- "typescript": "^5.9.0"
48
+ "typescript": "^5.9.0",
49
+ "typescript-language-server": "^5.3.0"
49
50
  },
50
51
  "peerDependencies": {
51
52
  "@earendil-works/pi-ai": "*",
@@ -56,5 +57,8 @@
56
57
  "@earendil-works/pi-tui": {
57
58
  "optional": true
58
59
  }
60
+ },
61
+ "dependencies": {
62
+ "smol-toml": "^1.6.1"
59
63
  }
60
64
  }