@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.
- package/LICENSE +21 -0
- package/README.md +313 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +86 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/docs/index.d.ts +11 -0
- package/dist/commands/docs/index.d.ts.map +1 -0
- package/dist/commands/docs/index.js +276 -0
- package/dist/commands/docs/index.js.map +1 -0
- package/dist/commands/file/index.d.ts +11 -0
- package/dist/commands/file/index.d.ts.map +1 -0
- package/dist/commands/file/index.js +210 -0
- package/dist/commands/file/index.js.map +1 -0
- package/dist/commands/logs/index.d.ts +11 -0
- package/dist/commands/logs/index.d.ts.map +1 -0
- package/dist/commands/logs/index.js +277 -0
- package/dist/commands/logs/index.js.map +1 -0
- package/dist/commands/logs/utils.d.ts +11 -0
- package/dist/commands/logs/utils.d.ts.map +1 -0
- package/dist/commands/logs/utils.js +39 -0
- package/dist/commands/logs/utils.js.map +1 -0
- package/dist/commands/repo/branch.d.ts +6 -0
- package/dist/commands/repo/branch.d.ts.map +1 -0
- package/dist/commands/repo/branch.js +128 -0
- package/dist/commands/repo/branch.js.map +1 -0
- package/dist/commands/repo/commit.d.ts +6 -0
- package/dist/commands/repo/commit.d.ts.map +1 -0
- package/dist/commands/repo/commit.js +51 -0
- package/dist/commands/repo/commit.js.map +1 -0
- package/dist/commands/repo/index.d.ts +11 -0
- package/dist/commands/repo/index.d.ts.map +1 -0
- package/dist/commands/repo/index.js +33 -0
- package/dist/commands/repo/index.js.map +1 -0
- package/dist/commands/repo/pr.d.ts +6 -0
- package/dist/commands/repo/pr.d.ts.map +1 -0
- package/dist/commands/repo/pr.js +165 -0
- package/dist/commands/repo/pr.js.map +1 -0
- package/dist/commands/repo/status.d.ts +8 -0
- package/dist/commands/repo/status.d.ts.map +1 -0
- package/dist/commands/repo/status.js +123 -0
- package/dist/commands/repo/status.js.map +1 -0
- package/dist/commands/repo/tag.d.ts +6 -0
- package/dist/commands/repo/tag.d.ts.map +1 -0
- package/dist/commands/repo/tag.js +125 -0
- package/dist/commands/repo/tag.js.map +1 -0
- package/dist/commands/repo/worktree.d.ts +6 -0
- package/dist/commands/repo/worktree.d.ts.map +1 -0
- package/dist/commands/repo/worktree.js +137 -0
- package/dist/commands/repo/worktree.js.map +1 -0
- package/dist/commands/spec/index.d.ts +11 -0
- package/dist/commands/spec/index.d.ts.map +1 -0
- package/dist/commands/spec/index.js +264 -0
- package/dist/commands/spec/index.js.map +1 -0
- package/dist/commands/work/index.d.ts +11 -0
- package/dist/commands/work/index.d.ts.map +1 -0
- package/dist/commands/work/index.js +773 -0
- package/dist/commands/work/index.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/sdk/factory.d.ts +51 -0
- package/dist/sdk/factory.d.ts.map +1 -0
- package/dist/sdk/factory.js +188 -0
- package/dist/sdk/factory.js.map +1 -0
- package/dist/utils/config.d.ts +71 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +219 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/errors.d.ts +42 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +144 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/output.d.ts +115 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +201 -0
- package/dist/utils/output.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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"}
|