@alejandrochaves/devflow-cli 0.1.0 → 0.2.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.
Files changed (47) hide show
  1. package/README.md +305 -0
  2. package/dist/colors.d.ts +9 -0
  3. package/dist/colors.d.ts.map +1 -0
  4. package/dist/colors.js +13 -0
  5. package/dist/colors.js.map +1 -0
  6. package/dist/commands/amend.d.ts +4 -0
  7. package/dist/commands/amend.d.ts.map +1 -0
  8. package/dist/commands/amend.js +138 -0
  9. package/dist/commands/amend.js.map +1 -0
  10. package/dist/commands/branch.d.ts +3 -1
  11. package/dist/commands/branch.d.ts.map +1 -1
  12. package/dist/commands/branch.js +10 -5
  13. package/dist/commands/branch.js.map +1 -1
  14. package/dist/commands/changelog.d.ts +4 -0
  15. package/dist/commands/changelog.d.ts.map +1 -0
  16. package/dist/commands/changelog.js +204 -0
  17. package/dist/commands/changelog.js.map +1 -0
  18. package/dist/commands/cleanup.d.ts +4 -0
  19. package/dist/commands/cleanup.d.ts.map +1 -0
  20. package/dist/commands/cleanup.js +121 -0
  21. package/dist/commands/cleanup.js.map +1 -0
  22. package/dist/commands/commit.d.ts +3 -1
  23. package/dist/commands/commit.d.ts.map +1 -1
  24. package/dist/commands/commit.js +91 -24
  25. package/dist/commands/commit.js.map +1 -1
  26. package/dist/commands/doctor.d.ts +2 -0
  27. package/dist/commands/doctor.d.ts.map +1 -0
  28. package/dist/commands/doctor.js +122 -0
  29. package/dist/commands/doctor.js.map +1 -0
  30. package/dist/commands/init.d.ts.map +1 -1
  31. package/dist/commands/init.js +248 -22
  32. package/dist/commands/init.js.map +1 -1
  33. package/dist/commands/pr.d.ts +3 -1
  34. package/dist/commands/pr.d.ts.map +1 -1
  35. package/dist/commands/pr.js +41 -40
  36. package/dist/commands/pr.js.map +1 -1
  37. package/dist/commands/status.d.ts +2 -0
  38. package/dist/commands/status.d.ts.map +1 -0
  39. package/dist/commands/status.js +83 -0
  40. package/dist/commands/status.js.map +1 -0
  41. package/dist/config.d.ts +13 -0
  42. package/dist/config.d.ts.map +1 -1
  43. package/dist/config.js +52 -1
  44. package/dist/config.js.map +1 -1
  45. package/dist/index.js +103 -5
  46. package/dist/index.js.map +1 -1
  47. package/package.json +12 -3
@@ -0,0 +1,122 @@
1
+ import { execSync } from "child_process";
2
+ import { existsSync, readFileSync } from "fs";
3
+ import { resolve } from "path";
4
+ import { bold, dim, green, red, yellow, gray } from "../colors.js";
5
+ function checkCommand(cmd) {
6
+ try {
7
+ return execSync(cmd, { encoding: "utf-8", stdio: ["pipe", "pipe", "ignore"] }).trim();
8
+ }
9
+ catch {
10
+ return undefined;
11
+ }
12
+ }
13
+ export async function doctorCommand() {
14
+ const cwd = process.cwd();
15
+ const checks = [];
16
+ console.log(`\n${dim("───")} ${bold("devflow doctor")} ${dim("───")}\n`);
17
+ // 1. Git
18
+ const gitVersion = checkCommand("git --version");
19
+ checks.push(gitVersion
20
+ ? { name: "git", status: "ok", detail: gitVersion.replace("git version ", "") }
21
+ : { name: "git", status: "error", detail: "Not installed" });
22
+ // 2. Node
23
+ const nodeVersion = checkCommand("node --version");
24
+ if (nodeVersion) {
25
+ const major = parseInt(nodeVersion.replace("v", "").split(".")[0], 10);
26
+ checks.push(major >= 18
27
+ ? { name: "node", status: "ok", detail: nodeVersion }
28
+ : { name: "node", status: "warning", detail: `${nodeVersion} (>= 18 recommended)` });
29
+ }
30
+ else {
31
+ checks.push({ name: "node", status: "error", detail: "Not installed" });
32
+ }
33
+ // 3. GitHub CLI
34
+ const ghVersion = checkCommand("gh --version");
35
+ if (ghVersion) {
36
+ const version = ghVersion.split("\n")[0];
37
+ checks.push({ name: "gh (GitHub CLI)", status: "ok", detail: version.replace("gh version ", "").split(" ")[0] });
38
+ }
39
+ else {
40
+ checks.push({ name: "gh (GitHub CLI)", status: "warning", detail: "Not installed (needed for PR command)" });
41
+ }
42
+ // 4. gh auth
43
+ if (ghVersion) {
44
+ const ghAuth = checkCommand("gh auth status");
45
+ checks.push(ghAuth
46
+ ? { name: "gh auth", status: "ok", detail: "Authenticated" }
47
+ : { name: "gh auth", status: "warning", detail: "Not authenticated (run: gh auth login)" });
48
+ }
49
+ // 5. Git repo
50
+ const isRepo = checkCommand("git rev-parse --is-inside-work-tree");
51
+ checks.push(isRepo === "true"
52
+ ? { name: "git repository", status: "ok" }
53
+ : { name: "git repository", status: "error", detail: "Not inside a git repository" });
54
+ // 6. .devflow.json
55
+ const configExists = existsSync(resolve(cwd, ".devflow.json"));
56
+ checks.push(configExists
57
+ ? { name: ".devflow.json", status: "ok" }
58
+ : { name: ".devflow.json", status: "warning", detail: "Not found (run: devflow init)" });
59
+ // 7. commitlint
60
+ const commitlintConfig = existsSync(resolve(cwd, "commitlint.config.js"))
61
+ || existsSync(resolve(cwd, "commitlint.config.cjs"))
62
+ || existsSync(resolve(cwd, ".commitlintrc.js"));
63
+ checks.push(commitlintConfig
64
+ ? { name: "commitlint config", status: "ok" }
65
+ : { name: "commitlint config", status: "warning", detail: "Not found" });
66
+ // 8. Husky
67
+ const huskyDir = existsSync(resolve(cwd, ".husky"));
68
+ checks.push(huskyDir
69
+ ? { name: "husky (.husky/)", status: "ok" }
70
+ : { name: "husky (.husky/)", status: "warning", detail: "Not found" });
71
+ // 9. commit-msg hook
72
+ const commitMsgHook = existsSync(resolve(cwd, ".husky/commit-msg"));
73
+ checks.push(commitMsgHook
74
+ ? { name: "commit-msg hook", status: "ok" }
75
+ : { name: "commit-msg hook", status: "warning", detail: "Not found" });
76
+ // 10. package.json scripts
77
+ try {
78
+ const pkgPath = resolve(cwd, "package.json");
79
+ if (existsSync(pkgPath)) {
80
+ const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
81
+ const scripts = pkg.scripts || {};
82
+ const hasCommit = scripts.commit?.includes("devflow");
83
+ const hasBranch = scripts.branch?.includes("devflow");
84
+ const hasPr = scripts.pr?.includes("devflow");
85
+ if (hasCommit && hasBranch && hasPr) {
86
+ checks.push({ name: "package.json scripts", status: "ok", detail: "commit, branch, pr" });
87
+ }
88
+ else {
89
+ const missing = [];
90
+ if (!hasCommit)
91
+ missing.push("commit");
92
+ if (!hasBranch)
93
+ missing.push("branch");
94
+ if (!hasPr)
95
+ missing.push("pr");
96
+ checks.push({ name: "package.json scripts", status: "warning", detail: `Missing: ${missing.join(", ")}` });
97
+ }
98
+ }
99
+ }
100
+ catch {
101
+ checks.push({ name: "package.json scripts", status: "warning", detail: "Could not read package.json" });
102
+ }
103
+ // Print results
104
+ let hasErrors = false;
105
+ for (const check of checks) {
106
+ const icon = check.status === "ok" ? green("✓")
107
+ : check.status === "warning" ? yellow("⚠")
108
+ : red("✗");
109
+ const detail = check.detail ? gray(` ${check.detail}`) : "";
110
+ console.log(` ${icon} ${check.name}${detail}`);
111
+ if (check.status === "error")
112
+ hasErrors = true;
113
+ }
114
+ const okCount = checks.filter((c) => c.status === "ok").length;
115
+ const warnCount = checks.filter((c) => c.status === "warning").length;
116
+ const errCount = checks.filter((c) => c.status === "error").length;
117
+ console.log(`\n ${green(`${okCount} passed`)}${warnCount ? `, ${yellow(`${warnCount} warnings`)}` : ""}${errCount ? `, ${red(`${errCount} errors`)}` : ""}\n`);
118
+ if (hasErrors) {
119
+ process.exit(1);
120
+ }
121
+ }
122
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAqBA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkCjD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA+BA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAuRjD"}
@@ -1,25 +1,31 @@
1
- import { existsSync, writeFileSync } from "fs";
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
2
2
  import { resolve } from "path";
3
3
  import { confirm, input } from "@inquirer/prompts";
4
- const TEMPLATE = {
5
- ticketBaseUrl: "",
6
- scopes: [
7
- { value: "core", description: "Core functionality" },
8
- { value: "ui", description: "UI components" },
9
- { value: "api", description: "API layer" },
10
- { value: "config", description: "Configuration" },
11
- { value: "deps", description: "Dependencies" },
12
- { value: "ci", description: "CI/CD" },
13
- ],
14
- checklist: [
15
- "Code follows project conventions",
16
- "Self-reviewed the changes",
17
- "No new warnings or errors introduced",
18
- ],
19
- };
4
+ import { execSync } from "child_process";
5
+ const DEFAULT_CHECKLIST = [
6
+ "Code follows project conventions",
7
+ "Self-reviewed the changes",
8
+ "No new warnings or errors introduced",
9
+ ];
10
+ function readPackageJson(cwd) {
11
+ const pkgPath = resolve(cwd, "package.json");
12
+ if (!existsSync(pkgPath))
13
+ return undefined;
14
+ try {
15
+ return JSON.parse(readFileSync(pkgPath, "utf-8"));
16
+ }
17
+ catch {
18
+ return undefined;
19
+ }
20
+ }
21
+ function writePackageJson(cwd, pkg) {
22
+ const pkgPath = resolve(cwd, "package.json");
23
+ writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n");
24
+ }
20
25
  export async function initCommand() {
21
26
  try {
22
- const configPath = resolve(process.cwd(), ".devflow.json");
27
+ const cwd = process.cwd();
28
+ const configPath = resolve(cwd, ".devflow.json");
23
29
  if (existsSync(configPath)) {
24
30
  const overwrite = await confirm({
25
31
  message: ".devflow.json already exists. Overwrite?",
@@ -30,16 +36,236 @@ export async function initCommand() {
30
36
  process.exit(0);
31
37
  }
32
38
  }
39
+ console.log("\n devflow setup\n");
40
+ // 1. Ticket base URL
33
41
  const ticketBaseUrl = await input({
34
42
  message: "Ticket base URL (e.g., https://github.com/org/repo/issues):",
35
43
  });
44
+ // 2. Scopes
45
+ console.log("\nLet's define your project scopes for commits.");
46
+ console.log("Add scopes one at a time. Press Enter with empty name to finish.\n");
47
+ const scopes = [];
48
+ let addingScopes = true;
49
+ while (addingScopes) {
50
+ const value = await input({
51
+ message: `Scope name${scopes.length > 0 ? " (blank to finish)" : ""}:`,
52
+ });
53
+ if (!value.trim()) {
54
+ if (scopes.length === 0) {
55
+ const useDefaults = await confirm({
56
+ message: "No scopes added. Use defaults (core, ui, api, config, deps, ci)?",
57
+ default: true,
58
+ });
59
+ if (useDefaults) {
60
+ scopes.push({ value: "core", description: "Core functionality" }, { value: "ui", description: "UI components" }, { value: "api", description: "API layer" }, { value: "config", description: "Configuration" }, { value: "deps", description: "Dependencies" }, { value: "ci", description: "CI/CD" });
61
+ }
62
+ }
63
+ addingScopes = false;
64
+ }
65
+ else {
66
+ const description = await input({
67
+ message: `Description for "${value.trim()}":`,
68
+ });
69
+ scopes.push({
70
+ value: value.trim().toLowerCase(),
71
+ description: description.trim() || value.trim(),
72
+ });
73
+ }
74
+ }
75
+ // 3. Checklist
76
+ const customizeChecklist = await confirm({
77
+ message: "Customize PR checklist items?",
78
+ default: false,
79
+ });
80
+ let checklist = [...DEFAULT_CHECKLIST];
81
+ if (customizeChecklist) {
82
+ console.log("\nAdd checklist items one at a time. Press Enter with empty text to finish.\n");
83
+ checklist = [];
84
+ let addingChecklist = true;
85
+ while (addingChecklist) {
86
+ const item = await input({
87
+ message: `Checklist item${checklist.length > 0 ? " (blank to finish)" : ""}:`,
88
+ });
89
+ if (!item.trim()) {
90
+ if (checklist.length === 0) {
91
+ checklist = [...DEFAULT_CHECKLIST];
92
+ console.log("Using default checklist.");
93
+ }
94
+ addingChecklist = false;
95
+ }
96
+ else {
97
+ checklist.push(item.trim());
98
+ }
99
+ }
100
+ }
101
+ // Write .devflow.json
36
102
  const config = {
37
- ...TEMPLATE,
38
- ticketBaseUrl: ticketBaseUrl.trim() || undefined,
103
+ scopes,
104
+ checklist,
39
105
  };
106
+ if (ticketBaseUrl.trim()) {
107
+ config.ticketBaseUrl = ticketBaseUrl.trim();
108
+ }
40
109
  writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n");
41
- console.log("Created .devflow.json");
42
- console.log("Edit this file to customize scopes, checklist items, and more.");
110
+ console.log("\n✓ Created .devflow.json");
111
+ // 4. Add scripts to package.json
112
+ const pkg = readPackageJson(cwd);
113
+ if (pkg) {
114
+ const addScripts = await confirm({
115
+ message: "Add commit/branch/pr scripts to package.json?",
116
+ default: true,
117
+ });
118
+ if (addScripts) {
119
+ const scripts = (pkg.scripts || {});
120
+ scripts.commit = "devflow commit";
121
+ scripts.branch = "devflow branch";
122
+ scripts.pr = "devflow pr";
123
+ pkg.scripts = scripts;
124
+ writePackageJson(cwd, pkg);
125
+ console.log("✓ Added scripts to package.json");
126
+ }
127
+ }
128
+ // 5. Commitlint setup
129
+ const setupCommitlint = await confirm({
130
+ message: "Set up commitlint for the devflow commit format?",
131
+ default: true,
132
+ });
133
+ if (setupCommitlint) {
134
+ const commitlintConfig = `module.exports = {
135
+ extends: ['@commitlint/config-conventional'],
136
+ parserPreset: {
137
+ parserOpts: {
138
+ headerPattern: /^(\\w+)\\[.*?\\]!?\\((.+)\\): (.+)$/,
139
+ headerCorrespondence: ['type', 'scope', 'subject'],
140
+ },
141
+ },
142
+ rules: {
143
+ 'subject-case': [0],
144
+ },
145
+ };
146
+ `;
147
+ writeFileSync(resolve(cwd, "commitlint.config.js"), commitlintConfig);
148
+ console.log("✓ Created commitlint.config.js");
149
+ // Install commitlint deps
150
+ const installCommitlint = await confirm({
151
+ message: "Install @commitlint/cli and @commitlint/config-conventional?",
152
+ default: true,
153
+ });
154
+ if (installCommitlint) {
155
+ console.log("Installing commitlint...");
156
+ try {
157
+ execSync("npm install -D @commitlint/cli @commitlint/config-conventional", {
158
+ cwd,
159
+ stdio: "inherit",
160
+ });
161
+ console.log("✓ Installed commitlint");
162
+ }
163
+ catch {
164
+ console.log("⚠ Failed to install commitlint. Run manually:");
165
+ console.log(" npm install -D @commitlint/cli @commitlint/config-conventional");
166
+ }
167
+ }
168
+ }
169
+ // 6. Husky setup
170
+ const setupHusky = await confirm({
171
+ message: "Set up husky with a commit-msg hook?",
172
+ default: true,
173
+ });
174
+ if (setupHusky) {
175
+ // Install husky
176
+ const installHusky = await confirm({
177
+ message: "Install husky?",
178
+ default: true,
179
+ });
180
+ if (installHusky) {
181
+ console.log("Installing husky...");
182
+ try {
183
+ execSync("npm install -D husky", { cwd, stdio: "inherit" });
184
+ execSync("npx husky init", { cwd, stdio: "inherit" });
185
+ console.log("✓ Installed and initialized husky");
186
+ }
187
+ catch {
188
+ console.log("⚠ Failed to install husky. Run manually:");
189
+ console.log(" npm install -D husky && npx husky init");
190
+ }
191
+ }
192
+ // Create commit-msg hook
193
+ const huskyDir = resolve(cwd, ".husky");
194
+ if (!existsSync(huskyDir)) {
195
+ mkdirSync(huskyDir, { recursive: true });
196
+ }
197
+ const commitMsgHook = `npx --no -- commitlint --edit $1 || {
198
+ echo ""
199
+ echo " Commit message does not follow the required format."
200
+ echo " Use: npm run commit"
201
+ echo ""
202
+ exit 1
203
+ }
204
+ `;
205
+ writeFileSync(resolve(huskyDir, "commit-msg"), commitMsgHook);
206
+ console.log("✓ Created .husky/commit-msg hook");
207
+ // Add prepare script
208
+ const updatedPkg = readPackageJson(cwd);
209
+ if (updatedPkg) {
210
+ const scripts = (updatedPkg.scripts || {});
211
+ if (!scripts.prepare) {
212
+ scripts.prepare = "husky";
213
+ updatedPkg.scripts = scripts;
214
+ writePackageJson(cwd, updatedPkg);
215
+ console.log("✓ Added prepare script to package.json");
216
+ }
217
+ }
218
+ }
219
+ // 7. CI workflow
220
+ const setupCi = await confirm({
221
+ message: "Generate a GitHub Actions CI workflow?",
222
+ default: false,
223
+ });
224
+ if (setupCi) {
225
+ const workflowDir = resolve(cwd, ".github/workflows");
226
+ if (!existsSync(workflowDir)) {
227
+ mkdirSync(workflowDir, { recursive: true });
228
+ }
229
+ const ciWorkflow = `name: CI
230
+
231
+ on:
232
+ pull_request:
233
+ branches: [main]
234
+
235
+ jobs:
236
+ ci:
237
+ runs-on: ubuntu-latest
238
+ steps:
239
+ - uses: actions/checkout@v4
240
+
241
+ - uses: actions/setup-node@v4
242
+ with:
243
+ node-version: 20
244
+ cache: npm
245
+
246
+ - run: npm ci
247
+
248
+ - name: Lint
249
+ run: npm run lint
250
+
251
+ - name: Type check
252
+ run: npx tsc --noEmit
253
+
254
+ - name: Test
255
+ run: npm test
256
+ `;
257
+ writeFileSync(resolve(workflowDir, "ci.yml"), ciWorkflow);
258
+ console.log("✓ Created .github/workflows/ci.yml");
259
+ }
260
+ // 8. Summary
261
+ console.log("\n Setup complete!\n");
262
+ console.log("Usage:");
263
+ console.log(" npm run branch Create a new branch");
264
+ console.log(" npm run commit Create a conventional commit");
265
+ console.log(" npm run pr Create or update a PR");
266
+ console.log(" devflow status Show branch and PR info");
267
+ console.log(" devflow doctor Verify setup");
268
+ console.log("");
43
269
  }
44
270
  catch (error) {
45
271
  if (error.name === "ExitPromptError") {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,QAAQ,GAAG;IACf,aAAa,EAAE,EAAE;IACjB,MAAM,EAAE;QACN,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE;QACpD,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE;QAC7C,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE;QAC1C,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;QACjD,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE;QAC9C,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;KACtC;IACD,SAAS,EAAE;QACT,kCAAkC;QAClC,2BAA2B;QAC3B,sCAAsC;KACvC;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;QAE3D,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;gBAC9B,OAAO,EAAE,0CAA0C;gBACnD,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC;YAChC,OAAO,EAAE,6DAA6D;SACvE,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG;YACb,GAAG,QAAQ;YACX,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,SAAS;SACjD,CAAC;QAEF,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAAe,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
- export declare function prCommand(): Promise<void>;
1
+ export declare function prCommand(options?: {
2
+ dryRun?: boolean;
3
+ }): Promise<void>;
2
4
  //# sourceMappingURL=pr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"AAmFA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAsJ/C"}
1
+ {"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"AAwGA,wBAAsB,SAAS,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAyIjF"}
@@ -1,6 +1,7 @@
1
1
  import { input, confirm } from "@inquirer/prompts";
2
2
  import { execSync } from "child_process";
3
3
  import { loadConfig } from "../config.js";
4
+ import { bold, dim, green, cyan, gray } from "../colors.js";
4
5
  import { getBranch, parseBranch, getCommits, getScopesFromCommits, getDefaultBase, checkGhInstalled, } from "../git.js";
5
6
  const TYPE_LABELS = {
6
7
  feat: "Feature (new functionality)",
@@ -67,7 +68,22 @@ function buildTypeCheckboxes(type) {
67
68
  })
68
69
  .join("\n");
69
70
  }
70
- export async function prCommand() {
71
+ function buildPrBody(config, opts) {
72
+ const sections = {
73
+ summary: `## Summary\n\n${opts.summary || "<!-- Brief description of what this PR does and why -->"}`,
74
+ ticket: `## Ticket\n\n${formatTicket(opts.ticket, config.ticketBaseUrl)}`,
75
+ type: `## Type of Change\n\n${buildTypeCheckboxes(opts.type)}`,
76
+ screenshots: `## Screenshots\n\n<!-- Add before/after screenshots for UI changes, or remove this section if not applicable -->\n\n| Before | After |\n|--------|-------|\n| | |`,
77
+ testPlan: `## Test Plan\n\n- [ ]`,
78
+ checklist: `## Checklist\n\n${buildChecklist(config.checklist)}`,
79
+ };
80
+ const activeSections = config.prTemplate.sections;
81
+ return activeSections
82
+ .map((key) => sections[key])
83
+ .filter(Boolean)
84
+ .join("\n\n");
85
+ }
86
+ export async function prCommand(options = {}) {
71
87
  try {
72
88
  const config = loadConfig();
73
89
  checkGhInstalled();
@@ -75,7 +91,7 @@ export async function prCommand() {
75
91
  const { type, ticket, description } = parseBranch(branch);
76
92
  const existingPr = getExistingPr();
77
93
  if (existingPr) {
78
- console.log(`\nPR #${existingPr.number} already exists: ${existingPr.url}`);
94
+ console.log(`\n${cyan(`PR #${existingPr.number}`)} already exists: ${existingPr.url}`);
79
95
  const shouldUpdate = await confirm({
80
96
  message: "Update this PR?",
81
97
  default: true,
@@ -105,33 +121,7 @@ export async function prCommand() {
105
121
  const summary = [summaryInput.trim(), commitList]
106
122
  .filter(Boolean)
107
123
  .join("\n\n");
108
- const body = `## Summary
109
-
110
- ${summary || "<!-- Brief description of what this PR does and why -->"}
111
-
112
- ## Ticket
113
-
114
- ${formatTicket(ticket, config.ticketBaseUrl)}
115
-
116
- ## Type of Change
117
-
118
- ${buildTypeCheckboxes(type)}
119
-
120
- ## Screenshots
121
-
122
- <!-- Add before/after screenshots for UI changes, or remove this section if not applicable -->
123
-
124
- | Before | After |
125
- |--------|-------|
126
- | | |
127
-
128
- ## Test Plan
129
-
130
- - [ ]
131
-
132
- ## Checklist
133
-
134
- ${buildChecklist(config.checklist)}`;
124
+ const body = buildPrBody(config, { summary, ticket, type, commitList });
135
125
  // Build preview labels
136
126
  const previewLabels = [];
137
127
  if (type && BRANCH_TYPE_TO_LABEL[type])
@@ -139,17 +129,24 @@ ${buildChecklist(config.checklist)}`;
139
129
  const previewScopes = getScopesFromCommits(commits);
140
130
  previewLabels.push(...previewScopes);
141
131
  const uniquePreviewLabels = [...new Set(previewLabels)];
142
- console.log("\n--- PR Preview ---");
132
+ console.log(`\n${dim("───")} ${bold("PR Preview")} ${dim("───")}`);
143
133
  if (existingPr) {
144
- console.log(`(Updating existing PR #${existingPr.number})`);
134
+ console.log(gray(`(Updating existing PR #${existingPr.number})`));
135
+ }
136
+ console.log(`${dim("Title:")} ${bold(title)}`);
137
+ console.log(`${dim("Branch:")} ${cyan(branch)} → ${cyan(base.trim())}`);
138
+ console.log(`${dim("Labels:")} ${uniquePreviewLabels.length > 0 ? uniquePreviewLabels.join(", ") : "none"}`);
139
+ console.log(`${dim("Assignee:")} @me`);
140
+ if (config.prReviewers && config.prReviewers.length > 0) {
141
+ console.log(`${dim("Reviewers:")} ${config.prReviewers.join(", ")}`);
145
142
  }
146
- console.log(`Title: ${title}`);
147
- console.log(`Branch: ${branch} → ${base.trim()}`);
148
- console.log(`Labels: ${uniquePreviewLabels.length > 0 ? uniquePreviewLabels.join(", ") : "none"}`);
149
- console.log(`Assignee: @me`);
150
143
  console.log("");
151
- console.log(body);
152
- console.log("------------------\n");
144
+ console.log(dim(body));
145
+ console.log(`${dim("─────────────────")}\n`);
146
+ if (options.dryRun) {
147
+ console.log(dim("[dry-run] No PR created."));
148
+ return;
149
+ }
153
150
  const confirmed = await confirm({
154
151
  message: existingPr
155
152
  ? `Update PR #${existingPr.number}?`
@@ -183,13 +180,17 @@ ${buildChecklist(config.checklist)}`;
183
180
  const labelFlag = uniqueLabels.length > 0
184
181
  ? uniqueLabels.map((l) => JSON.stringify(l)).join(",")
185
182
  : "";
183
+ // Reviewers flag
184
+ const reviewerFlag = config.prReviewers && config.prReviewers.length > 0
185
+ ? ` --reviewer ${config.prReviewers.join(",")}`
186
+ : "";
186
187
  if (existingPr) {
187
188
  execSync(`gh pr edit ${existingPr.number} --title ${JSON.stringify(title)} --body-file -${labelFlag ? ` --add-label ${labelFlag}` : ""}`, { input: body, stdio: ["pipe", "inherit", "inherit"] });
188
- console.log(`PR #${existingPr.number} updated: ${existingPr.url}`);
189
+ console.log(green(`✓ PR #${existingPr.number} updated: ${existingPr.url}`));
189
190
  }
190
191
  else {
191
- execSync(`gh pr create --draft --title ${JSON.stringify(title)} --body-file - --base ${base.trim()} --head ${branch} --assignee @me${labelFlag ? ` --label ${labelFlag}` : ""}`, { input: body, stdio: ["pipe", "inherit", "inherit"] });
192
- console.log("PR created successfully.");
192
+ execSync(`gh pr create --draft --title ${JSON.stringify(title)} --body-file - --base ${base.trim()} --head ${branch} --assignee @me${reviewerFlag}${labelFlag ? ` --label ${labelFlag}` : ""}`, { input: body, stdio: ["pipe", "inherit", "inherit"] });
193
+ console.log(green("PR created successfully."));
193
194
  }
194
195
  }
195
196
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"pr.js","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr.js","sourceRoot":"","sources":["../../src/commands/pr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function statusCommand(): Promise<void>;
2
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AA6BA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAyDnD"}