@fractary/core-cli 0.1.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 (79) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +313 -0
  3. package/dist/cli.d.ts +8 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +86 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/docs/index.d.ts +11 -0
  8. package/dist/commands/docs/index.d.ts.map +1 -0
  9. package/dist/commands/docs/index.js +276 -0
  10. package/dist/commands/docs/index.js.map +1 -0
  11. package/dist/commands/file/index.d.ts +11 -0
  12. package/dist/commands/file/index.d.ts.map +1 -0
  13. package/dist/commands/file/index.js +210 -0
  14. package/dist/commands/file/index.js.map +1 -0
  15. package/dist/commands/logs/index.d.ts +11 -0
  16. package/dist/commands/logs/index.d.ts.map +1 -0
  17. package/dist/commands/logs/index.js +277 -0
  18. package/dist/commands/logs/index.js.map +1 -0
  19. package/dist/commands/logs/utils.d.ts +11 -0
  20. package/dist/commands/logs/utils.d.ts.map +1 -0
  21. package/dist/commands/logs/utils.js +39 -0
  22. package/dist/commands/logs/utils.js.map +1 -0
  23. package/dist/commands/repo/branch.d.ts +6 -0
  24. package/dist/commands/repo/branch.d.ts.map +1 -0
  25. package/dist/commands/repo/branch.js +128 -0
  26. package/dist/commands/repo/branch.js.map +1 -0
  27. package/dist/commands/repo/commit.d.ts +6 -0
  28. package/dist/commands/repo/commit.d.ts.map +1 -0
  29. package/dist/commands/repo/commit.js +51 -0
  30. package/dist/commands/repo/commit.js.map +1 -0
  31. package/dist/commands/repo/index.d.ts +11 -0
  32. package/dist/commands/repo/index.d.ts.map +1 -0
  33. package/dist/commands/repo/index.js +33 -0
  34. package/dist/commands/repo/index.js.map +1 -0
  35. package/dist/commands/repo/pr.d.ts +6 -0
  36. package/dist/commands/repo/pr.d.ts.map +1 -0
  37. package/dist/commands/repo/pr.js +165 -0
  38. package/dist/commands/repo/pr.js.map +1 -0
  39. package/dist/commands/repo/status.d.ts +8 -0
  40. package/dist/commands/repo/status.d.ts.map +1 -0
  41. package/dist/commands/repo/status.js +123 -0
  42. package/dist/commands/repo/status.js.map +1 -0
  43. package/dist/commands/repo/tag.d.ts +6 -0
  44. package/dist/commands/repo/tag.d.ts.map +1 -0
  45. package/dist/commands/repo/tag.js +125 -0
  46. package/dist/commands/repo/tag.js.map +1 -0
  47. package/dist/commands/repo/worktree.d.ts +6 -0
  48. package/dist/commands/repo/worktree.d.ts.map +1 -0
  49. package/dist/commands/repo/worktree.js +137 -0
  50. package/dist/commands/repo/worktree.js.map +1 -0
  51. package/dist/commands/spec/index.d.ts +11 -0
  52. package/dist/commands/spec/index.d.ts.map +1 -0
  53. package/dist/commands/spec/index.js +264 -0
  54. package/dist/commands/spec/index.js.map +1 -0
  55. package/dist/commands/work/index.d.ts +11 -0
  56. package/dist/commands/work/index.d.ts.map +1 -0
  57. package/dist/commands/work/index.js +773 -0
  58. package/dist/commands/work/index.js.map +1 -0
  59. package/dist/index.d.ts +16 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +51 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/sdk/factory.d.ts +51 -0
  64. package/dist/sdk/factory.d.ts.map +1 -0
  65. package/dist/sdk/factory.js +188 -0
  66. package/dist/sdk/factory.js.map +1 -0
  67. package/dist/utils/config.d.ts +71 -0
  68. package/dist/utils/config.d.ts.map +1 -0
  69. package/dist/utils/config.js +219 -0
  70. package/dist/utils/config.js.map +1 -0
  71. package/dist/utils/errors.d.ts +42 -0
  72. package/dist/utils/errors.d.ts.map +1 -0
  73. package/dist/utils/errors.js +144 -0
  74. package/dist/utils/errors.js.map +1 -0
  75. package/dist/utils/output.d.ts +115 -0
  76. package/dist/utils/output.d.ts.map +1 -0
  77. package/dist/utils/output.js +201 -0
  78. package/dist/utils/output.js.map +1 -0
  79. package/package.json +78 -0
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ /**
3
+ * Pull Request operations for repository management
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createPRCommands = createPRCommands;
10
+ const commander_1 = require("commander");
11
+ const chalk_1 = __importDefault(require("chalk"));
12
+ const factory_1 = require("../../sdk/factory");
13
+ const errors_1 = require("../../utils/errors");
14
+ function createPRCommands() {
15
+ const pr = new commander_1.Command('pr').description('Pull request operations');
16
+ pr.addCommand(createPRCreateCommand());
17
+ pr.addCommand(createPRListCommand());
18
+ pr.addCommand(createPRMergeCommand());
19
+ pr.addCommand(createPRReviewCommand());
20
+ return pr;
21
+ }
22
+ function createPRCreateCommand() {
23
+ return new commander_1.Command('create')
24
+ .description('Create a new pull request')
25
+ .requiredOption('--title <title>', 'PR title')
26
+ .option('--body <body>', 'PR body/description')
27
+ .option('--base <branch>', 'Base branch (default: main/master)')
28
+ .option('--head <branch>', 'Head branch (default: current branch)')
29
+ .option('--draft', 'Create as draft PR')
30
+ .option('--json', 'Output as JSON')
31
+ .action(async (options) => {
32
+ try {
33
+ const repoManager = await (0, factory_1.getRepoManager)();
34
+ const pr = await repoManager.createPR({
35
+ title: options.title,
36
+ body: options.body,
37
+ base: options.base,
38
+ head: options.head,
39
+ draft: options.draft,
40
+ });
41
+ if (options.json) {
42
+ console.log(JSON.stringify({ status: 'success', data: pr }, null, 2));
43
+ }
44
+ else {
45
+ console.log(chalk_1.default.green(`✓ Created pull request #${pr.number}`));
46
+ console.log(chalk_1.default.gray(`Title: ${pr.title}`));
47
+ if (pr.url) {
48
+ console.log(chalk_1.default.gray(`URL: ${pr.url}`));
49
+ }
50
+ }
51
+ }
52
+ catch (error) {
53
+ (0, errors_1.handleError)(error, options);
54
+ }
55
+ });
56
+ }
57
+ function createPRListCommand() {
58
+ return new commander_1.Command('list')
59
+ .description('List pull requests')
60
+ .option('--state <state>', 'Filter by state (open, closed, all)', 'open')
61
+ .option('--author <username>', 'Filter by author')
62
+ .option('--limit <n>', 'Limit results', '10')
63
+ .option('--json', 'Output as JSON')
64
+ .action(async (options) => {
65
+ try {
66
+ const repoManager = await (0, factory_1.getRepoManager)();
67
+ const prs = await repoManager.listPRs({
68
+ state: options.state,
69
+ author: options.author,
70
+ });
71
+ const limitedPRs = options.limit ? prs.slice(0, parseInt(options.limit, 10)) : prs;
72
+ if (options.json) {
73
+ console.log(JSON.stringify({ status: 'success', data: limitedPRs }, null, 2));
74
+ }
75
+ else {
76
+ if (limitedPRs.length === 0) {
77
+ console.log(chalk_1.default.yellow('No pull requests found'));
78
+ }
79
+ else {
80
+ limitedPRs.forEach((pr) => {
81
+ console.log(`#${pr.number} ${pr.title} [${pr.state}]`);
82
+ if (pr.author) {
83
+ console.log(chalk_1.default.gray(` by ${pr.author}`));
84
+ }
85
+ });
86
+ }
87
+ }
88
+ }
89
+ catch (error) {
90
+ (0, errors_1.handleError)(error, options);
91
+ }
92
+ });
93
+ }
94
+ function createPRMergeCommand() {
95
+ return new commander_1.Command('merge')
96
+ .description('Merge a pull request')
97
+ .argument('<number>', 'PR number')
98
+ .option('--strategy <strategy>', 'Merge strategy (merge, squash, rebase)', 'merge')
99
+ .option('--delete-branch', 'Delete branch after merge')
100
+ .option('--json', 'Output as JSON')
101
+ .action(async (number, options) => {
102
+ try {
103
+ const repoManager = await (0, factory_1.getRepoManager)();
104
+ const result = await repoManager.mergePR(parseInt(number, 10), {
105
+ strategy: options.strategy,
106
+ deleteBranch: options.deleteBranch,
107
+ });
108
+ if (options.json) {
109
+ console.log(JSON.stringify({ status: 'success', data: result }, null, 2));
110
+ }
111
+ else {
112
+ console.log(chalk_1.default.green(`✓ Merged pull request #${number}`));
113
+ if (options.deleteBranch) {
114
+ console.log(chalk_1.default.gray('Branch deleted'));
115
+ }
116
+ }
117
+ }
118
+ catch (error) {
119
+ (0, errors_1.handleError)(error, options);
120
+ }
121
+ });
122
+ }
123
+ function createPRReviewCommand() {
124
+ return new commander_1.Command('review')
125
+ .description('Review a pull request')
126
+ .argument('<number>', 'PR number')
127
+ .option('--approve', 'Approve the PR')
128
+ .option('--request-changes', 'Request changes')
129
+ .option('--comment <text>', 'Add review comment')
130
+ .option('--json', 'Output as JSON')
131
+ .action(async (number, options) => {
132
+ try {
133
+ const repoManager = await (0, factory_1.getRepoManager)();
134
+ let action = 'comment';
135
+ if (options.approve) {
136
+ action = 'approve';
137
+ }
138
+ else if (options.requestChanges) {
139
+ action = 'request_changes';
140
+ }
141
+ const review = await repoManager.reviewPR(parseInt(number, 10), {
142
+ action,
143
+ comment: options.comment,
144
+ });
145
+ if (options.json) {
146
+ console.log(JSON.stringify({ status: 'success', data: review }, null, 2));
147
+ }
148
+ else {
149
+ if (action === 'approve') {
150
+ console.log(chalk_1.default.green(`✓ Approved pull request #${number}`));
151
+ }
152
+ else if (action === 'request_changes') {
153
+ console.log(chalk_1.default.yellow(`✓ Requested changes on pull request #${number}`));
154
+ }
155
+ else {
156
+ console.log(chalk_1.default.green(`✓ Commented on pull request #${number}`));
157
+ }
158
+ }
159
+ }
160
+ catch (error) {
161
+ (0, errors_1.handleError)(error, options);
162
+ }
163
+ });
164
+ }
165
+ //# sourceMappingURL=pr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr.js","sourceRoot":"","sources":["../../../src/commands/repo/pr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Status, push, and pull operations for repository management
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare function createStatusCommand(): Command;
6
+ export declare function createPushCommand(): Command;
7
+ export declare function createPullCommand(): Command;
8
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/repo/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,mBAAmB,IAAI,OAAO,CAgD7C;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CA6B3C;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAgC3C"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ /**
3
+ * Status, push, and pull operations for repository management
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createStatusCommand = createStatusCommand;
10
+ exports.createPushCommand = createPushCommand;
11
+ exports.createPullCommand = createPullCommand;
12
+ const commander_1 = require("commander");
13
+ const chalk_1 = __importDefault(require("chalk"));
14
+ const factory_1 = require("../../sdk/factory");
15
+ const errors_1 = require("../../utils/errors");
16
+ function createStatusCommand() {
17
+ return new commander_1.Command('status')
18
+ .description('Show repository status')
19
+ .option('--json', 'Output as JSON')
20
+ .action(async (options) => {
21
+ try {
22
+ const repoManager = await (0, factory_1.getRepoManager)();
23
+ const status = await repoManager.getStatus();
24
+ if (options.json) {
25
+ console.log(JSON.stringify({ status: 'success', data: status }, null, 2));
26
+ }
27
+ else {
28
+ console.log(chalk_1.default.bold('Repository Status'));
29
+ console.log(chalk_1.default.gray(`Branch: ${status.branch}`));
30
+ if (status.staged && status.staged.length > 0) {
31
+ console.log(chalk_1.default.green('\nStaged changes:'));
32
+ status.staged.forEach((file) => {
33
+ console.log(chalk_1.default.green(` + ${file}`));
34
+ });
35
+ }
36
+ if (status.modified && status.modified.length > 0) {
37
+ console.log(chalk_1.default.yellow('\nModified changes:'));
38
+ status.modified.forEach((file) => {
39
+ console.log(chalk_1.default.yellow(` M ${file}`));
40
+ });
41
+ }
42
+ if (status.untracked && status.untracked.length > 0) {
43
+ console.log(chalk_1.default.red('\nUntracked files:'));
44
+ status.untracked.forEach((file) => {
45
+ console.log(chalk_1.default.red(` ? ${file}`));
46
+ });
47
+ }
48
+ if ((!status.staged || status.staged.length === 0) &&
49
+ (!status.modified || status.modified.length === 0) &&
50
+ (!status.untracked || status.untracked.length === 0)) {
51
+ console.log(chalk_1.default.green('\nWorking tree clean'));
52
+ }
53
+ }
54
+ }
55
+ catch (error) {
56
+ (0, errors_1.handleError)(error, options);
57
+ }
58
+ });
59
+ }
60
+ function createPushCommand() {
61
+ return new commander_1.Command('push')
62
+ .description('Push commits to remote')
63
+ .option('--remote <name>', 'Remote name', 'origin')
64
+ .option('--set-upstream', 'Set upstream branch')
65
+ .option('--force', 'Force push (use with caution)')
66
+ .option('--json', 'Output as JSON')
67
+ .action(async (options) => {
68
+ try {
69
+ const repoManager = await (0, factory_1.getRepoManager)();
70
+ repoManager.push({
71
+ remote: options.remote,
72
+ setUpstream: options.setUpstream,
73
+ force: options.force,
74
+ });
75
+ if (options.json) {
76
+ console.log(JSON.stringify({ status: 'success' }, null, 2));
77
+ }
78
+ else {
79
+ console.log(chalk_1.default.green(`✓ Pushed to ${options.remote}`));
80
+ if (options.setUpstream) {
81
+ console.log(chalk_1.default.gray('Upstream branch set'));
82
+ }
83
+ }
84
+ }
85
+ catch (error) {
86
+ (0, errors_1.handleError)(error, options);
87
+ }
88
+ });
89
+ }
90
+ function createPullCommand() {
91
+ return new commander_1.Command('pull')
92
+ .description('Pull changes from remote')
93
+ .option('--remote <name>', 'Remote name', 'origin')
94
+ .option('--rebase', 'Rebase instead of merge')
95
+ .option('--json', 'Output as JSON')
96
+ .action(async (options) => {
97
+ try {
98
+ const repoManager = await (0, factory_1.getRepoManager)();
99
+ repoManager.pull({
100
+ remote: options.remote,
101
+ rebase: options.rebase,
102
+ });
103
+ if (options.json) {
104
+ console.log(JSON.stringify({ status: 'success' }, null, 2));
105
+ }
106
+ else {
107
+ console.log(chalk_1.default.green(`✓ Pulled from ${options.remote}`));
108
+ // Note: Check status separately for conflicts
109
+ const status = repoManager.getStatus();
110
+ if (status.conflicts && status.conflicts.length > 0) {
111
+ console.log(chalk_1.default.yellow('\nConflicts detected:'));
112
+ status.conflicts.forEach((file) => {
113
+ console.log(chalk_1.default.yellow(` ! ${file}`));
114
+ });
115
+ }
116
+ }
117
+ }
118
+ catch (error) {
119
+ (0, errors_1.handleError)(error, options);
120
+ }
121
+ });
122
+ }
123
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/repo/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Tag operations for repository management
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare function createTagCommands(): Command;
6
+ //# sourceMappingURL=tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../src/commands/repo/tag.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,iBAAiB,IAAI,OAAO,CAQ3C"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * Tag operations for repository management
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createTagCommands = createTagCommands;
10
+ const commander_1 = require("commander");
11
+ const chalk_1 = __importDefault(require("chalk"));
12
+ const factory_1 = require("../../sdk/factory");
13
+ const errors_1 = require("../../utils/errors");
14
+ function createTagCommands() {
15
+ const tag = new commander_1.Command('tag').description('Tag operations');
16
+ tag.addCommand(createTagCreateCommand());
17
+ tag.addCommand(createTagPushCommand());
18
+ tag.addCommand(createTagListCommand());
19
+ return tag;
20
+ }
21
+ function createTagCreateCommand() {
22
+ return new commander_1.Command('create')
23
+ .description('Create a new tag')
24
+ .argument('<name>', 'Tag name')
25
+ .option('--message <msg>', 'Tag message (creates annotated tag)')
26
+ .option('--sign', 'Create a GPG-signed tag')
27
+ .option('--force', 'Replace existing tag')
28
+ .option('--json', 'Output as JSON')
29
+ .action(async (name, options) => {
30
+ try {
31
+ const repoManager = await (0, factory_1.getRepoManager)();
32
+ repoManager.createTag(name, {
33
+ name,
34
+ message: options.message,
35
+ sign: options.sign,
36
+ force: options.force,
37
+ });
38
+ if (options.json) {
39
+ console.log(JSON.stringify({ status: 'success', data: { name } }, null, 2));
40
+ }
41
+ else {
42
+ console.log(chalk_1.default.green(`✓ Created tag: ${name}`));
43
+ if (options.message) {
44
+ console.log(chalk_1.default.gray('Annotated tag'));
45
+ }
46
+ if (options.sign) {
47
+ console.log(chalk_1.default.gray('GPG signed'));
48
+ }
49
+ }
50
+ }
51
+ catch (error) {
52
+ (0, errors_1.handleError)(error, options);
53
+ }
54
+ });
55
+ }
56
+ function createTagPushCommand() {
57
+ return new commander_1.Command('push')
58
+ .description('Push tag(s) to remote')
59
+ .argument('<name>', 'Tag name or "all" for all tags')
60
+ .option('--remote <name>', 'Remote name', 'origin')
61
+ .option('--json', 'Output as JSON')
62
+ .action(async (name, options) => {
63
+ try {
64
+ const repoManager = await (0, factory_1.getRepoManager)();
65
+ if (name === 'all') {
66
+ // Push all tags - get list and push each
67
+ const tags = repoManager.listTags();
68
+ for (const tag of tags) {
69
+ repoManager.pushTag(tag.name, options.remote);
70
+ }
71
+ if (options.json) {
72
+ console.log(JSON.stringify({ status: 'success', data: { pushed: tags.length } }, null, 2));
73
+ }
74
+ else {
75
+ console.log(chalk_1.default.green(`✓ Pushed ${tags.length} tags to ${options.remote}`));
76
+ }
77
+ }
78
+ else {
79
+ repoManager.pushTag(name, options.remote);
80
+ if (options.json) {
81
+ console.log(JSON.stringify({ status: 'success', data: { tag: name, remote: options.remote } }, null, 2));
82
+ }
83
+ else {
84
+ console.log(chalk_1.default.green(`✓ Pushed tag ${name} to ${options.remote}`));
85
+ }
86
+ }
87
+ }
88
+ catch (error) {
89
+ (0, errors_1.handleError)(error, options);
90
+ }
91
+ });
92
+ }
93
+ function createTagListCommand() {
94
+ return new commander_1.Command('list')
95
+ .description('List tags')
96
+ .option('--pattern <pattern>', 'Filter by pattern')
97
+ .option('--latest <n>', 'Show only latest N tags')
98
+ .option('--json', 'Output as JSON')
99
+ .action(async (options) => {
100
+ try {
101
+ const repoManager = await (0, factory_1.getRepoManager)();
102
+ const tags = await repoManager.listTags({
103
+ pattern: options.pattern,
104
+ });
105
+ const limitedTags = options.latest ? tags.slice(-parseInt(options.latest, 10)) : tags;
106
+ if (options.json) {
107
+ console.log(JSON.stringify({ status: 'success', data: limitedTags }, null, 2));
108
+ }
109
+ else {
110
+ if (limitedTags.length === 0) {
111
+ console.log(chalk_1.default.yellow('No tags found'));
112
+ }
113
+ else {
114
+ limitedTags.reverse().forEach((tag) => {
115
+ console.log(` ${tag.name}`);
116
+ });
117
+ }
118
+ }
119
+ }
120
+ catch (error) {
121
+ (0, errors_1.handleError)(error, options);
122
+ }
123
+ });
124
+ }
125
+ //# sourceMappingURL=tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../src/commands/repo/tag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Worktree operations for repository management
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare function createWorktreeCommands(): Command;
6
+ //# sourceMappingURL=worktree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../../src/commands/repo/worktree.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,sBAAsB,IAAI,OAAO,CAShD"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ /**
3
+ * Worktree operations for repository management
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createWorktreeCommands = createWorktreeCommands;
10
+ const commander_1 = require("commander");
11
+ const chalk_1 = __importDefault(require("chalk"));
12
+ const factory_1 = require("../../sdk/factory");
13
+ const errors_1 = require("../../utils/errors");
14
+ function createWorktreeCommands() {
15
+ const worktree = new commander_1.Command('worktree').description('Worktree operations');
16
+ worktree.addCommand(createWorktreeCreateCommand());
17
+ worktree.addCommand(createWorktreeListCommand());
18
+ worktree.addCommand(createWorktreeRemoveCommand());
19
+ worktree.addCommand(createWorktreeCleanupCommand());
20
+ return worktree;
21
+ }
22
+ function createWorktreeCreateCommand() {
23
+ return new commander_1.Command('create')
24
+ .description('Create a new worktree')
25
+ .argument('<branch>', 'Branch name')
26
+ .option('--path <path>', 'Worktree path')
27
+ .option('--work-id <id>', 'Work item ID')
28
+ .option('--json', 'Output as JSON')
29
+ .action(async (branch, options) => {
30
+ try {
31
+ const repoManager = await (0, factory_1.getRepoManager)();
32
+ const worktree = repoManager.createWorktree({
33
+ branch,
34
+ path: options.path || `.worktrees/${branch}`,
35
+ workId: options.workId,
36
+ });
37
+ if (options.json) {
38
+ console.log(JSON.stringify({ status: 'success', data: worktree }, null, 2));
39
+ }
40
+ else {
41
+ console.log(chalk_1.default.green(`✓ Created worktree for branch: ${branch}`));
42
+ console.log(chalk_1.default.gray(`Path: ${worktree.path}`));
43
+ }
44
+ }
45
+ catch (error) {
46
+ (0, errors_1.handleError)(error, options);
47
+ }
48
+ });
49
+ }
50
+ function createWorktreeListCommand() {
51
+ return new commander_1.Command('list')
52
+ .description('List worktrees')
53
+ .option('--json', 'Output as JSON')
54
+ .action(async (options) => {
55
+ try {
56
+ const repoManager = await (0, factory_1.getRepoManager)();
57
+ const worktrees = await repoManager.listWorktrees();
58
+ if (options.json) {
59
+ console.log(JSON.stringify({ status: 'success', data: worktrees }, null, 2));
60
+ }
61
+ else {
62
+ if (worktrees.length === 0) {
63
+ console.log(chalk_1.default.yellow('No worktrees'));
64
+ }
65
+ else {
66
+ worktrees.forEach((wt) => {
67
+ const isCurrent = wt.current ? chalk_1.default.green('* ') : ' ';
68
+ console.log(`${isCurrent}${wt.path} [${wt.branch}]`);
69
+ });
70
+ }
71
+ }
72
+ }
73
+ catch (error) {
74
+ (0, errors_1.handleError)(error, options);
75
+ }
76
+ });
77
+ }
78
+ function createWorktreeRemoveCommand() {
79
+ return new commander_1.Command('remove')
80
+ .description('Remove a worktree')
81
+ .argument('<path>', 'Worktree path')
82
+ .option('--force', 'Force removal even with uncommitted changes')
83
+ .option('--json', 'Output as JSON')
84
+ .action(async (path, options) => {
85
+ try {
86
+ const repoManager = await (0, factory_1.getRepoManager)();
87
+ repoManager.removeWorktree(path, options.force);
88
+ if (options.json) {
89
+ console.log(JSON.stringify({ status: 'success', data: { path } }, null, 2));
90
+ }
91
+ else {
92
+ console.log(chalk_1.default.green(`✓ Removed worktree: ${path}`));
93
+ }
94
+ }
95
+ catch (error) {
96
+ (0, errors_1.handleError)(error, options);
97
+ }
98
+ });
99
+ }
100
+ function createWorktreeCleanupCommand() {
101
+ return new commander_1.Command('cleanup')
102
+ .description('Clean up stale worktrees')
103
+ .option('--merged', 'Remove only merged worktrees')
104
+ .option('--stale', 'Remove only stale worktrees')
105
+ .option('--dry-run', 'Show what would be removed without removing')
106
+ .option('--json', 'Output as JSON')
107
+ .action(async (options) => {
108
+ try {
109
+ const repoManager = await (0, factory_1.getRepoManager)();
110
+ const result = await repoManager.cleanupWorktrees({
111
+ merged: options.merged,
112
+ stale: options.stale,
113
+ dryRun: options.dryRun,
114
+ });
115
+ if (options.json) {
116
+ console.log(JSON.stringify({ status: 'success', data: result }, null, 2));
117
+ }
118
+ else {
119
+ if (options.dryRun) {
120
+ console.log(chalk_1.default.yellow(`Would remove ${result.removed?.length || 0} worktrees`));
121
+ if (result.removed && result.removed.length > 0) {
122
+ result.removed.forEach((path) => {
123
+ console.log(chalk_1.default.gray(` - ${path}`));
124
+ });
125
+ }
126
+ }
127
+ else {
128
+ console.log(chalk_1.default.green(`✓ Cleaned up ${result.removed?.length || 0} worktrees`));
129
+ }
130
+ }
131
+ }
132
+ catch (error) {
133
+ (0, errors_1.handleError)(error, options);
134
+ }
135
+ });
136
+ }
137
+ //# sourceMappingURL=worktree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../../src/commands/repo/worktree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Spec subcommand - Specification management
3
+ *
4
+ * Provides spec operations via @fractary/core SpecManager.
5
+ */
6
+ import { Command } from 'commander';
7
+ /**
8
+ * Create the spec command tree
9
+ */
10
+ export declare function createSpecCommand(): Command;
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/spec/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAa3C"}