@proletariat/cli 0.1.3 → 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.
@@ -0,0 +1,320 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.repairWorktrees = repairWorktrees;
37
+ exports.checkWorktreeHealth = checkWorktreeHealth;
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ const child_process_1 = require("child_process");
41
+ const index_js_1 = require("../config/index.js");
42
+ const logger_js_1 = require("../utils/logger.js");
43
+ function repairWorktrees() {
44
+ if (!(0, index_js_1.isInitialized)()) {
45
+ logger_js_1.log.error('Proletariat not initialized! Run `prlt init` first.');
46
+ return;
47
+ }
48
+ const config = (0, index_js_1.loadConfig)();
49
+ let projectRoot = (0, index_js_1.getProjectRoot)();
50
+ let repoGitDir = path.join(projectRoot, '.git');
51
+ // Check if we're in an old -workspace directory that should be -hq
52
+ // Use process.cwd() to check where the user actually is, not where git thinks the repo is
53
+ const actualCwd = process.cwd();
54
+ const cwdParentDir = path.dirname(actualCwd);
55
+ const cwdParentDirName = path.basename(cwdParentDir);
56
+ if (cwdParentDirName.endsWith('-workspace') && !projectRoot.includes('-workspace')) {
57
+ // User is in old -workspace directory but git knows about the new -hq location
58
+ logger_js_1.log.info(`Detected post-upgrade scenario: using git's updated paths`);
59
+ // Git already knows the right location, so we just use it
60
+ }
61
+ else if (cwdParentDirName.endsWith('-workspace')) {
62
+ // We're likely in the old directory after an upgrade
63
+ const expectedParentName = cwdParentDirName.replace(/-workspace$/, '-hq');
64
+ const expectedProjectRoot = actualCwd.replace(cwdParentDirName, expectedParentName);
65
+ const expectedGitDir = path.join(expectedProjectRoot, '.git');
66
+ // Check if the new directory exists
67
+ if (fs.existsSync(expectedProjectRoot) && fs.existsSync(expectedGitDir)) {
68
+ logger_js_1.log.info(`Detected post-upgrade scenario: repairing from old location`);
69
+ logger_js_1.log.info(`Old path: ${actualCwd}`);
70
+ logger_js_1.log.info(`New path: ${expectedProjectRoot}`);
71
+ // Use the new paths for repair
72
+ projectRoot = expectedProjectRoot;
73
+ repoGitDir = expectedGitDir;
74
+ // Also update the config workspaceDir to use the new path
75
+ if (config.workspaceDir && config.workspaceDir.includes(cwdParentDirName)) {
76
+ config.workspaceDir = config.workspaceDir.replace(cwdParentDirName, expectedParentName);
77
+ logger_js_1.log.info(`Using updated workspace directory: ${config.workspaceDir}`);
78
+ }
79
+ }
80
+ }
81
+ logger_js_1.log.info('Repairing worktree references...');
82
+ let repairedCount = 0;
83
+ let failedCount = 0;
84
+ let removedCount = 0;
85
+ let discoveredCount = 0;
86
+ // Get list of worktrees from git
87
+ try {
88
+ const worktreeList = (0, child_process_1.execSync)('git worktree list --porcelain', { encoding: 'utf8' });
89
+ const worktrees = worktreeList.split('\n\n').filter(Boolean);
90
+ for (const worktreeInfo of worktrees) {
91
+ const lines = worktreeInfo.split('\n');
92
+ const registeredPath = lines[0].replace('worktree ', '');
93
+ // Skip the main worktree
94
+ if (registeredPath === projectRoot)
95
+ continue;
96
+ const agentName = path.basename(registeredPath);
97
+ // Check if the registered path exists
98
+ if (!fs.existsSync(registeredPath)) {
99
+ // Path doesn't exist - check if it moved to the new location
100
+ const expectedPath = path.join(config.workspaceDir, agentName);
101
+ if (fs.existsSync(expectedPath)) {
102
+ logger_js_1.log.info(`Detected moved worktree: ${agentName}`);
103
+ // Remove the old registration
104
+ try {
105
+ (0, child_process_1.execSync)(`git worktree remove "${registeredPath}" --force`, { encoding: 'utf8' });
106
+ removedCount++;
107
+ logger_js_1.log.info(`Removed old registration for: ${agentName}`);
108
+ }
109
+ catch (e) {
110
+ // Try pruning if remove fails
111
+ (0, child_process_1.execSync)('git worktree prune', { encoding: 'utf8' });
112
+ }
113
+ // Fix the .git file in the moved directory first
114
+ const gitFile = path.join(expectedPath, '.git');
115
+ const expectedGitContent = `gitdir: ${repoGitDir}/worktrees/${agentName}`;
116
+ try {
117
+ fs.writeFileSync(gitFile, expectedGitContent);
118
+ logger_js_1.log.info(`Fixed .git file for: ${agentName}`);
119
+ }
120
+ catch (e) {
121
+ logger_js_1.log.warning(`Could not fix .git file for ${agentName}`);
122
+ }
123
+ // Re-add with correct path
124
+ const branchName = `${agentName}-workspace`;
125
+ try {
126
+ // Try to add it back - if it already exists with correct .git, this should work
127
+ (0, child_process_1.execSync)(`git worktree add "${expectedPath}" "${branchName}"`, { encoding: 'utf8', stdio: 'pipe' });
128
+ logger_js_1.log.success(`Re-registered worktree: ${agentName} at ${expectedPath}`);
129
+ repairedCount++;
130
+ }
131
+ catch (e) {
132
+ // If the directory exists but can't be added, try to repair it differently
133
+ const errorMsg = e instanceof Error ? e.message : String(e);
134
+ if (errorMsg.includes('already exists')) {
135
+ // Directory exists, just needs to be registered
136
+ try {
137
+ // Create the worktree metadata directory
138
+ const worktreeMetaDir = path.join(repoGitDir, 'worktrees', agentName);
139
+ if (!fs.existsSync(worktreeMetaDir)) {
140
+ fs.mkdirSync(worktreeMetaDir, { recursive: true });
141
+ }
142
+ // Write the gitdir file
143
+ const gitdirFile = path.join(worktreeMetaDir, 'gitdir');
144
+ fs.writeFileSync(gitdirFile, `${expectedPath}/.git`);
145
+ // Write the HEAD file
146
+ const headFile = path.join(worktreeMetaDir, 'HEAD');
147
+ fs.writeFileSync(headFile, `ref: refs/heads/${branchName}`);
148
+ logger_js_1.log.success(`Manually re-registered worktree: ${agentName}`);
149
+ repairedCount++;
150
+ }
151
+ catch (manualError) {
152
+ logger_js_1.log.warning(`Could not manually register ${agentName}: ${manualError}`);
153
+ failedCount++;
154
+ }
155
+ }
156
+ else {
157
+ logger_js_1.log.warning(`Could not re-add ${agentName}: ${errorMsg}`);
158
+ failedCount++;
159
+ }
160
+ }
161
+ }
162
+ else {
163
+ logger_js_1.log.warning(`Worktree path missing and not found in expected location: ${agentName}`);
164
+ // Prune the missing worktree
165
+ (0, child_process_1.execSync)('git worktree prune', { encoding: 'utf8' });
166
+ failedCount++;
167
+ }
168
+ }
169
+ else {
170
+ // Path exists, check if .git file is correct
171
+ const gitFile = path.join(registeredPath, '.git');
172
+ if (fs.existsSync(gitFile)) {
173
+ const currentContent = fs.readFileSync(gitFile, 'utf8').trim();
174
+ const expectedContent = `gitdir: ${repoGitDir}/worktrees/${agentName}`;
175
+ if (currentContent !== expectedContent) {
176
+ // Fix the reference
177
+ fs.writeFileSync(gitFile, expectedContent);
178
+ logger_js_1.log.success(`Repaired: ${agentName}`);
179
+ repairedCount++;
180
+ }
181
+ else {
182
+ logger_js_1.log.info(`Already correct: ${agentName}`);
183
+ }
184
+ // Also check and fix the gitdir file in .git/worktrees
185
+ const worktreeMetaDir = path.join(repoGitDir, 'worktrees', agentName);
186
+ const gitdirFile = path.join(worktreeMetaDir, 'gitdir');
187
+ if (fs.existsSync(gitdirFile)) {
188
+ const expectedGitdir = `${registeredPath}/.git`;
189
+ const currentGitdir = fs.readFileSync(gitdirFile, 'utf8').trim();
190
+ if (currentGitdir !== expectedGitdir) {
191
+ fs.writeFileSync(gitdirFile, expectedGitdir);
192
+ logger_js_1.log.info(`Fixed gitdir reference for: ${agentName}`);
193
+ }
194
+ }
195
+ // CRITICAL: Ensure commondir file exists (tells worktree where shared objects are)
196
+ const commondirFile = path.join(worktreeMetaDir, 'commondir');
197
+ if (!fs.existsSync(commondirFile)) {
198
+ fs.writeFileSync(commondirFile, '../..');
199
+ logger_js_1.log.info(`Created missing commondir file for: ${agentName}`);
200
+ repairedCount++;
201
+ }
202
+ }
203
+ else {
204
+ logger_js_1.log.warning(`Missing .git file: ${agentName}`);
205
+ failedCount++;
206
+ }
207
+ }
208
+ }
209
+ // Now check for orphaned directories that need to be registered
210
+ // These are directories that exist but aren't registered with git
211
+ if (config.workspaceDir && fs.existsSync(config.workspaceDir)) {
212
+ logger_js_1.log.info('Checking for unregistered worktree directories...');
213
+ const entries = fs.readdirSync(config.workspaceDir);
214
+ for (const entry of entries) {
215
+ const dirPath = path.join(config.workspaceDir, entry);
216
+ // Check if it's a directory
217
+ if (!fs.statSync(dirPath).isDirectory())
218
+ continue;
219
+ // Check if it's already registered
220
+ const currentWorktrees = (0, child_process_1.execSync)('git worktree list --porcelain', { encoding: 'utf8' });
221
+ if (currentWorktrees.includes(dirPath))
222
+ continue;
223
+ // Check if it has a .git file (indicating it was a worktree)
224
+ const gitFile = path.join(dirPath, '.git');
225
+ if (fs.existsSync(gitFile)) {
226
+ // This is an orphaned worktree directory
227
+ logger_js_1.log.info(`Found unregistered worktree directory: ${entry}`);
228
+ // Check if the branch exists
229
+ const branchName = `${entry}-workspace`;
230
+ try {
231
+ (0, child_process_1.execSync)(`git show-ref --verify --quiet refs/heads/${branchName}`, { encoding: 'utf8' });
232
+ // Branch exists, fix the .git file and register the worktree
233
+ const expectedGitContent = `gitdir: ${repoGitDir}/worktrees/${entry}`;
234
+ fs.writeFileSync(gitFile, expectedGitContent);
235
+ // Create the worktree metadata
236
+ const worktreeMetaDir = path.join(repoGitDir, 'worktrees', entry);
237
+ if (!fs.existsSync(worktreeMetaDir)) {
238
+ fs.mkdirSync(worktreeMetaDir, { recursive: true });
239
+ }
240
+ // Write the gitdir file
241
+ const gitdirFile = path.join(worktreeMetaDir, 'gitdir');
242
+ fs.writeFileSync(gitdirFile, `${dirPath}/.git`);
243
+ // Write the HEAD file
244
+ const headFile = path.join(worktreeMetaDir, 'HEAD');
245
+ fs.writeFileSync(headFile, `ref: refs/heads/${branchName}`);
246
+ // Write the commondir file
247
+ const commondirFile = path.join(worktreeMetaDir, 'commondir');
248
+ fs.writeFileSync(commondirFile, '../..');
249
+ logger_js_1.log.success(`Registered orphaned worktree: ${entry}`);
250
+ discoveredCount++;
251
+ }
252
+ catch (e) {
253
+ logger_js_1.log.warning(`Could not register ${entry} - branch ${branchName} may not exist`);
254
+ }
255
+ }
256
+ }
257
+ }
258
+ if (removedCount > 0) {
259
+ logger_js_1.log.info(`Removed ${removedCount} outdated registration(s)`);
260
+ }
261
+ if (discoveredCount > 0) {
262
+ logger_js_1.log.success(`✅ Discovered and registered ${discoveredCount} orphaned worktree(s)`);
263
+ }
264
+ if (repairedCount > 0) {
265
+ logger_js_1.log.success(`✅ Repaired ${repairedCount} worktree reference(s)`);
266
+ }
267
+ if (failedCount > 0) {
268
+ logger_js_1.log.warning(`⚠️ ${failedCount} worktree(s) could not be repaired`);
269
+ }
270
+ if (repairedCount === 0 && failedCount === 0 && removedCount === 0 && discoveredCount === 0) {
271
+ logger_js_1.log.success('All worktrees are already correctly configured!');
272
+ }
273
+ }
274
+ catch (error) {
275
+ const message = error instanceof Error ? error.message : String(error);
276
+ logger_js_1.log.error(`Failed to repair worktrees: ${message}`);
277
+ }
278
+ }
279
+ function checkWorktreeHealth() {
280
+ if (!(0, index_js_1.isInitialized)()) {
281
+ logger_js_1.log.error('Proletariat not initialized! Run `prlt init` first.');
282
+ return;
283
+ }
284
+ const config = (0, index_js_1.loadConfig)();
285
+ const projectRoot = (0, index_js_1.getProjectRoot)();
286
+ logger_js_1.log.info('Checking worktree health...');
287
+ let healthyCount = 0;
288
+ let brokenCount = 0;
289
+ try {
290
+ const worktreeList = (0, child_process_1.execSync)('git worktree list --porcelain', { encoding: 'utf8' });
291
+ const worktrees = worktreeList.split('\n\n').filter(Boolean);
292
+ for (const worktreeInfo of worktrees) {
293
+ const lines = worktreeInfo.split('\n');
294
+ const worktreePath = lines[0].replace('worktree ', '');
295
+ // Skip the main worktree
296
+ if (worktreePath === projectRoot)
297
+ continue;
298
+ const agentName = path.basename(worktreePath);
299
+ // Test if we can run git commands in the worktree
300
+ try {
301
+ (0, child_process_1.execSync)(`git -C "${worktreePath}" status`, { encoding: 'utf8', stdio: 'ignore' });
302
+ logger_js_1.log.agent(agentName, '✅ Healthy', config.theme);
303
+ healthyCount++;
304
+ }
305
+ catch {
306
+ logger_js_1.log.agent(agentName, '❌ Broken - needs repair', config.theme);
307
+ brokenCount++;
308
+ }
309
+ }
310
+ logger_js_1.log.info(`Summary: ${healthyCount} healthy, ${brokenCount} broken`);
311
+ if (brokenCount > 0) {
312
+ logger_js_1.log.warning('Run `prlt repair` to fix broken worktrees');
313
+ }
314
+ }
315
+ catch (error) {
316
+ const message = error instanceof Error ? error.message : String(error);
317
+ logger_js_1.log.error(`Failed to check worktree health: ${message}`);
318
+ }
319
+ }
320
+ //# sourceMappingURL=repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repair.js","sourceRoot":"","sources":["../../../src/lib/worktree/repair.ts"],"names":[],"mappings":"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"}
@@ -23,12 +23,13 @@ export interface ThemeCollection {
23
23
  [key: string]: Theme;
24
24
  }
25
25
  export interface WorkspaceLayout {
26
- mode: 'sibling' | 'workspace' | 'custom';
26
+ mode: 'sibling' | 'hq' | 'custom' | 'workspace';
27
27
  baseDir: string;
28
- workspaceName?: string;
28
+ hqName?: string;
29
29
  }
30
30
  export interface ProjectConfig {
31
31
  version: string;
32
+ configVersion?: number;
32
33
  projectName: string;
33
34
  themeName: string;
34
35
  workspaceDir: string;
@@ -39,8 +40,8 @@ export interface ProjectConfig {
39
40
  }
40
41
  export interface InitOptions {
41
42
  theme?: string;
42
- workspace?: string;
43
- workspaceRoot?: string;
43
+ hq?: string;
44
+ hqRoot?: string;
44
45
  }
45
46
  export interface ListOptions {
46
47
  theme?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,QAAQ,GAAG,WAAW,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC3D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proletariat/cli",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "description": "Multi-agent development CLI - Orchestrate parallel coding agents via git worktrees with memorable themes for distributed development workflows",
5
5
  "main": "dist/bin/prlt.js",
6
6
  "bin": {
@@ -12,12 +12,17 @@
12
12
  "clean": "rm -rf dist",
13
13
  "prepublishOnly": "pnpm run clean && pnpm run build",
14
14
  "test": "echo \"Workers of the world, unite!\" && exit 0",
15
- "release": "npm publish --access public"
15
+ "release": "npm publish --access public",
16
+ "publish:otp": "./scripts/publish.sh"
16
17
  },
17
18
  "keywords": [
18
19
  "multi-agent",
19
20
  "coding-agents",
20
21
  "parallel-development",
22
+ "claude-code",
23
+ "cursor",
24
+ "codex",
25
+ "ai-development",
21
26
  "git",
22
27
  "worktree",
23
28
  "development",
@@ -28,7 +33,11 @@
28
33
  "workflow",
29
34
  "automation"
30
35
  ],
31
- "author": "Chris McDermut <chris@mcdermut.com>",
36
+ "author": {
37
+ "name": "Chris McDermut",
38
+ "email": "chrismcdermut@gmail.com",
39
+ "url": "https://github.com/chrismcdermut"
40
+ },
32
41
  "license": "MIT",
33
42
  "repository": {
34
43
  "type": "git",