@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.
@@ -38,6 +38,7 @@ exports.getProjectName = getProjectName;
38
38
  exports.getConfigPath = getConfigPath;
39
39
  exports.resolveWorkspace = resolveWorkspace;
40
40
  exports.isInitialized = isInitialized;
41
+ exports.migrateConfigIfNeeded = migrateConfigIfNeeded;
41
42
  exports.loadConfig = loadConfig;
42
43
  exports.saveConfig = saveConfig;
43
44
  const fs = __importStar(require("fs"));
@@ -58,7 +59,17 @@ function getProjectName() {
58
59
  }
59
60
  function getConfigPath() {
60
61
  const projectRoot = getProjectRoot();
61
- return path.join(projectRoot, '.proletariat', 'config.json');
62
+ const newPath = path.join(projectRoot, '.proletariat', 'repo.json');
63
+ const oldPath = path.join(projectRoot, '.proletariat', 'config.json');
64
+ // Check for new repo.json first, then fall back to config.json
65
+ if (fs.existsSync(newPath)) {
66
+ return newPath;
67
+ }
68
+ else if (fs.existsSync(oldPath)) {
69
+ return oldPath;
70
+ }
71
+ // For new installations, use repo.json
72
+ return newPath;
62
73
  }
63
74
  function resolveWorkspace(theme, options = {}) {
64
75
  const projectRoot = getProjectRoot();
@@ -66,29 +77,48 @@ function resolveWorkspace(theme, options = {}) {
66
77
  const parentDir = path.dirname(projectRoot);
67
78
  let mode = 'sibling';
68
79
  let baseDir = parentDir;
69
- let workspaceName;
80
+ let hqName;
70
81
  let workspaceDir;
71
- if (options.workspaceRoot) {
72
- workspaceDir = path.resolve(projectRoot, options.workspaceRoot);
82
+ // Use HQ options
83
+ const hqRoot = options.hqRoot;
84
+ const hq = options.hq;
85
+ if (hqRoot) {
86
+ workspaceDir = path.resolve(projectRoot, hqRoot);
73
87
  baseDir = path.dirname(workspaceDir);
74
88
  mode = 'custom';
75
89
  }
76
- else if (options.workspace) {
77
- workspaceName = options.workspace;
78
- baseDir = path.join(parentDir, workspaceName);
90
+ else if (hq) {
91
+ hqName = hq;
92
+ baseDir = path.join(parentDir, hqName);
79
93
  workspaceDir = path.join(baseDir, `${projectName}-${theme.directory}`);
80
- mode = 'workspace';
94
+ mode = 'hq';
81
95
  }
82
96
  else {
83
97
  workspaceDir = path.join(parentDir, `${projectName}-${theme.directory}`);
84
98
  }
85
99
  return {
86
100
  workspaceDir,
87
- layout: { mode, baseDir, workspaceName }
101
+ layout: { mode, baseDir, hqName }
88
102
  };
89
103
  }
90
104
  function isInitialized() {
91
- return fs.existsSync(getConfigPath());
105
+ const projectRoot = getProjectRoot();
106
+ const newPath = path.join(projectRoot, '.proletariat', 'repo.json');
107
+ const oldPath = path.join(projectRoot, '.proletariat', 'config.json');
108
+ return fs.existsSync(newPath) || fs.existsSync(oldPath);
109
+ }
110
+ function migrateConfigIfNeeded() {
111
+ const projectRoot = getProjectRoot();
112
+ const newPath = path.join(projectRoot, '.proletariat', 'repo.json');
113
+ const oldPath = path.join(projectRoot, '.proletariat', 'config.json');
114
+ // If old config exists but new doesn't, copy to new location
115
+ if (fs.existsSync(oldPath) && !fs.existsSync(newPath)) {
116
+ const config = JSON.parse(fs.readFileSync(oldPath, 'utf8'));
117
+ fs.writeFileSync(newPath, JSON.stringify(config, null, 2));
118
+ // Keep old file for now to ensure compatibility
119
+ return true;
120
+ }
121
+ return false;
92
122
  }
93
123
  function loadConfig() {
94
124
  if (!isInitialized()) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function upgradeConfig(): Promise<void>;
2
+ //# sourceMappingURL=upgrade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/lib/config/upgrade.ts"],"names":[],"mappings":"AASA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA+NnD"}
@@ -0,0 +1,248 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.upgradeConfig = upgradeConfig;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const child_process_1 = require("child_process");
43
+ const inquirer_1 = __importDefault(require("inquirer"));
44
+ const index_js_1 = require("./index.js");
45
+ const logger_js_1 = require("../utils/logger.js");
46
+ const index_js_2 = require("../workspace/index.js");
47
+ const repair_js_1 = require("../worktree/repair.js");
48
+ async function upgradeConfig() {
49
+ if (!(0, index_js_1.isInitialized)()) {
50
+ logger_js_1.log.error('Proletariat not initialized! Run `prlt init` first.');
51
+ return;
52
+ }
53
+ const projectRoot = (0, index_js_1.getProjectRoot)();
54
+ const projectName = (0, index_js_1.getProjectName)();
55
+ const oldConfigPath = path.join(projectRoot, '.proletariat', 'config.json');
56
+ const newConfigPath = path.join(projectRoot, '.proletariat', 'repo.json');
57
+ logger_js_1.log.info('Checking for configuration updates...');
58
+ let upgraded = false;
59
+ // Migrate config.json to repo.json
60
+ if (fs.existsSync(oldConfigPath) && !fs.existsSync(newConfigPath)) {
61
+ logger_js_1.log.info('Migrating config.json to repo.json...');
62
+ try {
63
+ const config = JSON.parse(fs.readFileSync(oldConfigPath, 'utf8'));
64
+ // Remove the stored theme if it exists (no longer needed)
65
+ if (config.theme) {
66
+ delete config.theme;
67
+ logger_js_1.log.info('Removed cached theme data (now loaded dynamically)');
68
+ }
69
+ // Add config version
70
+ config.configVersion = 2; // Mark as new format
71
+ // Write new config
72
+ fs.writeFileSync(newConfigPath, JSON.stringify(config, null, 2));
73
+ // Create backup of old config
74
+ const backupPath = path.join(projectRoot, '.proletariat', 'config.json.backup');
75
+ fs.renameSync(oldConfigPath, backupPath);
76
+ logger_js_1.log.success(`✅ Migrated to repo.json (backup saved as config.json.backup)`);
77
+ logger_js_1.log.info('💡 You can delete .proletariat/config.json.backup once everything is working');
78
+ upgraded = true;
79
+ }
80
+ catch (error) {
81
+ const message = error instanceof Error ? error.message : String(error);
82
+ logger_js_1.log.error(`Failed to migrate config: ${message}`);
83
+ return;
84
+ }
85
+ }
86
+ else if (fs.existsSync(newConfigPath)) {
87
+ // Check if repo.json needs any updates
88
+ try {
89
+ const config = JSON.parse(fs.readFileSync(newConfigPath, 'utf8'));
90
+ let needsUpdate = false;
91
+ // Remove theme if it still exists
92
+ if (config.theme) {
93
+ delete config.theme;
94
+ needsUpdate = true;
95
+ logger_js_1.log.info('Removed cached theme data from repo.json');
96
+ }
97
+ // Migrate workspace terminology to HQ (v0.2.0)
98
+ if (config.layout) {
99
+ if (config.layout.mode === 'workspace') {
100
+ config.layout.mode = 'hq';
101
+ needsUpdate = true;
102
+ logger_js_1.log.info('Updated layout mode from workspace to hq');
103
+ }
104
+ // Rename workspaceName to hqName
105
+ if (config.layout.workspaceName) {
106
+ config.layout.hqName = config.layout.workspaceName;
107
+ delete config.layout.workspaceName;
108
+ needsUpdate = true;
109
+ logger_js_1.log.info('Updated configuration field names for HQ terminology');
110
+ }
111
+ }
112
+ // Add any future migrations here
113
+ if (needsUpdate) {
114
+ fs.writeFileSync(newConfigPath, JSON.stringify(config, null, 2));
115
+ logger_js_1.log.success('✅ Configuration updated');
116
+ upgraded = true;
117
+ }
118
+ else {
119
+ logger_js_1.log.success('✅ Configuration is up to date');
120
+ }
121
+ }
122
+ catch (error) {
123
+ const message = error instanceof Error ? error.message : String(error);
124
+ logger_js_1.log.error(`Failed to update config: ${message}`);
125
+ }
126
+ }
127
+ // Check for workspace configuration
128
+ try {
129
+ const repoConfig = (0, index_js_1.loadConfig)();
130
+ // If layout mode is HQ (or legacy workspace), check if workspace config exists
131
+ if ((repoConfig.layout?.mode === 'hq' || repoConfig.layout?.mode === 'workspace') && repoConfig.layout?.baseDir) {
132
+ const workspaceConfigPath = path.join(repoConfig.layout.baseDir, '.proletariat', 'workspace.json');
133
+ if (!fs.existsSync(workspaceConfigPath)) {
134
+ // Workspace layout but no workspace config - offer to create one
135
+ logger_js_1.log.info(`Detected HQ layout at: ${repoConfig.layout.baseDir}`);
136
+ const { createWorkspaceConfig } = await inquirer_1.default.prompt([
137
+ {
138
+ type: 'confirm',
139
+ name: 'createWorkspaceConfig',
140
+ message: 'Would you like to create an HQ config to track all repositories?',
141
+ default: true
142
+ }
143
+ ]);
144
+ if (createWorkspaceConfig) {
145
+ const hqName = repoConfig.layout.hqName || path.basename(repoConfig.layout.baseDir);
146
+ const workspace = (0, index_js_2.createWorkspace)(repoConfig.layout.baseDir, hqName);
147
+ // Add current repo to workspace
148
+ const projectName = (0, index_js_1.getProjectName)();
149
+ (0, index_js_2.addRepoToWorkspace)(repoConfig.layout.baseDir, projectName);
150
+ logger_js_1.log.success(`✅ Created HQ config for '${hqName}'`);
151
+ logger_js_1.log.info('💡 Run `prlt upgrade` in other repositories to add them to this HQ');
152
+ upgraded = true;
153
+ }
154
+ }
155
+ else {
156
+ // Workspace config exists - make sure this repo is tracked
157
+ const workspace = (0, index_js_2.loadWorkspaceConfig)(repoConfig.layout.baseDir);
158
+ const projectName = (0, index_js_1.getProjectName)();
159
+ if (workspace && !workspace.repositories.includes(projectName)) {
160
+ (0, index_js_2.addRepoToWorkspace)(repoConfig.layout.baseDir, projectName);
161
+ logger_js_1.log.info(`Added '${projectName}' to workspace '${workspace.name}'`);
162
+ upgraded = true;
163
+ }
164
+ else if (workspace) {
165
+ logger_js_1.log.info(`Part of workspace: ${workspace.name}`);
166
+ }
167
+ }
168
+ }
169
+ else {
170
+ // Not using workspace layout
171
+ const parentDir = path.dirname(projectRoot);
172
+ const parentWorkspaceConfig = path.join(parentDir, '.proletariat', 'workspace.json');
173
+ if (fs.existsSync(parentWorkspaceConfig)) {
174
+ const workspace = (0, index_js_2.loadWorkspaceConfig)(parentDir);
175
+ if (workspace) {
176
+ logger_js_1.log.info(`Part of workspace: ${workspace.name}`);
177
+ }
178
+ }
179
+ else {
180
+ logger_js_1.log.info('💡 Tip: Use `prlt init --hq` to organize multiple repositories');
181
+ }
182
+ }
183
+ }
184
+ catch (error) {
185
+ // Config loading might fail during upgrade
186
+ }
187
+ // Check if there's a parent directory with "-workspace" in the name that could be renamed to "-hq"
188
+ const parentDir = path.dirname(projectRoot);
189
+ const parentDirName = path.basename(parentDir);
190
+ if (parentDirName.endsWith('-workspace')) {
191
+ const newParentDirName = parentDirName.replace(/-workspace$/, '-hq');
192
+ const newParentDir = path.join(path.dirname(parentDir), newParentDirName);
193
+ if (!fs.existsSync(newParentDir)) {
194
+ logger_js_1.log.info(`Found workspace directory: ${parentDir}`);
195
+ const { renameDirectory } = await inquirer_1.default.prompt([
196
+ {
197
+ type: 'confirm',
198
+ name: 'renameDirectory',
199
+ message: `Would you like to rename "${parentDirName}" to "${newParentDirName}" to match the new HQ terminology?`,
200
+ default: false
201
+ }
202
+ ]);
203
+ if (renameDirectory) {
204
+ try {
205
+ // Check for uncommitted changes
206
+ const status = (0, child_process_1.execSync)('git status --porcelain', { cwd: projectRoot, encoding: 'utf8' }).trim();
207
+ if (status.length > 0) {
208
+ logger_js_1.log.warning('Cannot rename directory: working tree has uncommitted changes. Commit or stash first.');
209
+ }
210
+ else {
211
+ // Rename the parent directory
212
+ fs.renameSync(parentDir, newParentDir);
213
+ logger_js_1.log.success(`Renamed directory from ${parentDirName} to ${newParentDirName}`);
214
+ // Update config with new paths
215
+ const newProjectRoot = path.join(newParentDir, path.basename(projectRoot));
216
+ const configPath = path.join(newProjectRoot, '.proletariat', 'repo.json');
217
+ if (fs.existsSync(configPath)) {
218
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
219
+ if (config.layout && config.layout.baseDir) {
220
+ config.layout.baseDir = config.layout.baseDir.replace(parentDir, newParentDir);
221
+ }
222
+ if (config.workspaceDir) {
223
+ config.workspaceDir = config.workspaceDir.replace(parentDir, newParentDir);
224
+ }
225
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
226
+ logger_js_1.log.success('Updated configuration paths');
227
+ }
228
+ // After renaming, repair can detect the new location and fix paths
229
+ logger_js_1.log.info('Running repair to fix worktree references...');
230
+ // Repair will detect we're in the old location and use the new paths
231
+ (0, repair_js_1.repairWorktrees)();
232
+ logger_js_1.log.warning(`⚠️ IMPORTANT: Directory renamed successfully!`);
233
+ logger_js_1.log.warning(`⚠️ You need to change to the new directory: cd ${newProjectRoot}`);
234
+ upgraded = true;
235
+ }
236
+ }
237
+ catch (error) {
238
+ const message = error instanceof Error ? error.message : String(error);
239
+ logger_js_1.log.error(`Failed to rename directory: ${message}`);
240
+ }
241
+ }
242
+ }
243
+ }
244
+ if (upgraded) {
245
+ logger_js_1.log.success('🎉 Configuration upgrade complete!');
246
+ }
247
+ }
248
+ //# sourceMappingURL=upgrade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/lib/config/upgrade.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,sCA+NC;AAxOD,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAyC;AACzC,wDAAgC;AAChC,yCAAuF;AACvF,kDAAyC;AACzC,oDAAiG;AACjG,qDAAwD;AAEjD,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC,IAAA,wBAAa,GAAE,EAAE,CAAC;QACrB,eAAG,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,yBAAc,GAAE,CAAC;IACrC,MAAM,WAAW,GAAG,IAAA,yBAAc,GAAE,CAAC;IACrC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAE1E,eAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IAElD,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,mCAAmC;IACnC,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClE,eAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAElD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;YAElE,0DAA0D;YAC1D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,MAAM,CAAC,KAAK,CAAC;gBACpB,eAAG,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACjE,CAAC;YAED,qBAAqB;YACrB,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAE,qBAAqB;YAEhD,mBAAmB;YACnB,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAEjE,8BAA8B;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC;YAChF,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAEzC,eAAG,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC;YAC5E,eAAG,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;YACzF,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,eAAG,CAAC,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,uCAAuC;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;YAClE,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,kCAAkC;YAClC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,MAAM,CAAC,KAAK,CAAC;gBACpB,WAAW,GAAG,IAAI,CAAC;gBACnB,eAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACvD,CAAC;YAED,+CAA+C;YAC/C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACvC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;oBAC1B,WAAW,GAAG,IAAI,CAAC;oBACnB,eAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACvD,CAAC;gBAED,iCAAiC;gBACjC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;oBAChC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;oBACnD,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;oBACnC,WAAW,GAAG,IAAI,CAAC;oBACnB,eAAG,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAED,iCAAiC;YAEjC,IAAI,WAAW,EAAE,CAAC;gBAChB,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjE,eAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;gBACvC,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,eAAG,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,eAAG,CAAC,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,qBAAU,GAAE,CAAC;QAEhC,+EAA+E;QAC/E,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,KAAK,WAAW,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YAChH,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAEnG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACxC,iEAAiE;gBACjE,eAAG,CAAC,IAAI,CAAC,0BAA0B,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEhE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;oBACtD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,uBAAuB;wBAC7B,OAAO,EAAE,kEAAkE;wBAC3E,OAAO,EAAE,IAAI;qBACd;iBACF,CAAC,CAAC;gBAEH,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACpF,MAAM,SAAS,GAAG,IAAA,0BAAe,EAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBAErE,gCAAgC;oBAChC,MAAM,WAAW,GAAG,IAAA,yBAAc,GAAE,CAAC;oBACrC,IAAA,6BAAkB,EAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBAE3D,eAAG,CAAC,OAAO,CAAC,4BAA4B,MAAM,GAAG,CAAC,CAAC;oBACnD,eAAG,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;oBAC/E,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,2DAA2D;gBAC3D,MAAM,SAAS,GAAG,IAAA,8BAAmB,EAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACjE,MAAM,WAAW,GAAG,IAAA,yBAAc,GAAE,CAAC;gBAErC,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/D,IAAA,6BAAkB,EAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBAC3D,eAAG,CAAC,IAAI,CAAC,UAAU,WAAW,mBAAmB,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;oBACpE,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;qBAAM,IAAI,SAAS,EAAE,CAAC;oBACrB,eAAG,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAErF,IAAI,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,IAAA,8BAAmB,EAAC,SAAS,CAAC,CAAC;gBACjD,IAAI,SAAS,EAAE,CAAC;oBACd,eAAG,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,eAAG,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2CAA2C;IAC7C,CAAC;IAED,mGAAmG;IACnG,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE/C,IAAI,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAE1E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,eAAG,CAAC,IAAI,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;YAEpD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBAChD;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,6BAA6B,aAAa,SAAS,gBAAgB,oCAAoC;oBAChH,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAC;YAEH,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC;oBACH,gCAAgC;oBAChC,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,wBAAwB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjG,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,eAAG,CAAC,OAAO,CAAC,uFAAuF,CAAC,CAAC;oBACvG,CAAC;yBAAM,CAAC;wBACN,8BAA8B;wBAC9B,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;wBACvC,eAAG,CAAC,OAAO,CAAC,0BAA0B,aAAa,OAAO,gBAAgB,EAAE,CAAC,CAAC;wBAE9E,+BAA+B;wBAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;wBAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;wBAE1E,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;4BAC/D,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gCAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;4BACjF,CAAC;4BACD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gCACxB,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;4BAC7E,CAAC;4BACD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;4BAC9D,eAAG,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;wBAC7C,CAAC;wBAED,mEAAmE;wBACnE,eAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;wBAEzD,qEAAqE;wBACrE,IAAA,2BAAe,GAAE,CAAC;wBAElB,eAAG,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;wBAC9D,eAAG,CAAC,OAAO,CAAC,mDAAmD,cAAc,EAAE,CAAC,CAAC;wBACjF,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACvE,eAAG,CAAC,KAAK,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,eAAG,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
@@ -8,11 +8,11 @@ exports.isValidTheme = isValidTheme;
8
8
  const THEMES = {
9
9
  billionaires: {
10
10
  name: 'billionaires',
11
- displayName: 'Billionaire Staff',
12
- description: '⚒️ Put billionaires on payroll duty for your project.',
11
+ displayName: 'Billionaires & Technocrats',
12
+ description: '⚒️ The ultra-wealthy and tech elite finally work for you.',
13
13
  emoji: '💰',
14
14
  directory: 'staff',
15
- agents: ['altman', 'amodei', 'andreesen', 'arnault', 'benioff', 'bezos', 'blakely', 'bloomberg', 'branson', 'brin', 'buffett', 'cook', 'gates', 'horowitz', 'jobs', 'larry', 'ma', 'munger', 'musk', 'oprah', 'page', 'perkins', 'sandberg', 'satya', 'swift', 'whitney', 'wojcicki', 'zuck'],
15
+ agents: ['altman', 'daramodei', 'danamodei', 'andreesen', 'arnault', 'benioff', 'bezos', 'blakely', 'bloomberg', 'branson', 'brin', 'buffett', 'carmack', 'chesky', 'cook', 'dean', 'dorsey', 'ellison', 'gates', 'horowitz', 'huang', 'jobs', 'kalanick', 'karpathy', 'lecun', 'ma', 'murati', 'munger', 'musk', 'nadella', 'ng', 'oprah', 'page', 'perkins', 'sandberg', 'sutskever', 'swift', 'whitney', 'wojcicki', 'zuck'],
16
16
  commands: {
17
17
  create: 'hire',
18
18
  remove: 'fire',
@@ -31,7 +31,7 @@ const THEMES = {
31
31
  description: '🚗 Manufacturing\'s finest wrenching for your project.',
32
32
  emoji: '🚗',
33
33
  directory: 'garage',
34
- agents: ['4runner', 'camry', 'fj40', 'highlander', 'hilux', 'ironpig', 'landcruiser', 'prius', 'sierra', 'tacoma', 'tercel', 'troopy', 'tundra'],
34
+ agents: ['1stgen4runner', '2ndgen4runner', '3rdgen4runner', 'alltrac', 'camry', 'fj40', 'fj60', 'fj80', 'fzj80', 'hdj80', 'hdj81', 'highlander', 'hilux', 'ironpig', 'landcruiser', 'prius', 'rav4', 'sierra', 'tacoma', 'tercel', 'troopy', 'tundra'],
35
35
  commands: {
36
36
  create: 'drive',
37
37
  remove: 'park',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/themes/index.ts"],"names":[],"mappings":";;;AA8DA,4BAEC;AAED,oCAEC;AAED,sCAEC;AAED,oCAEC;AA1ED,MAAM,MAAM,GAAoB;IAC9B,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE,uDAAuD;QACpE,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC;QAC7R,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;SACd;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,qCAAqC;YAC7C,MAAM,EAAE,mCAAmC;YAC3C,IAAI,EAAE,+BAA+B;YACrC,MAAM,EAAE,2BAA2B;SACpC;KACF;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,wDAAwD;QACrE,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAChJ,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,iCAAiC;YACzC,MAAM,EAAE,8BAA8B;YACtC,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,mCAAmC;SAC5C;KACF;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE,kEAAkE;QAC/E,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC;QACxK,QAAQ,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,WAAW;SAClB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,4BAA4B;YACpC,MAAM,EAAE,+BAA+B;YACvC,IAAI,EAAE,4BAA4B;YAClC,MAAM,EAAE,2BAA2B;SACpC;KACF;CACF,CAAC;AAkBO,wBAAM;AAhBf,SAAgB,QAAQ,CAAC,SAAiB;IACxC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC;AAClD,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,YAAY,CAAC,SAAiB;IAC5C,OAAO,SAAS,IAAI,MAAM,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/themes/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface WorkspaceConfig {
2
+ version: string;
3
+ name: string;
4
+ created: string;
5
+ repositories: string[];
6
+ }
7
+ export declare function findWorkspaceRoot(startDir: string): string | null;
8
+ export declare function loadWorkspaceConfig(workspaceRoot: string): WorkspaceConfig | null;
9
+ export declare function saveWorkspaceConfig(workspaceRoot: string, config: WorkspaceConfig): void;
10
+ export declare function createWorkspace(workspaceRoot: string, name: string): WorkspaceConfig;
11
+ export declare function addRepoToWorkspace(workspaceRoot: string, repoName: string): void;
12
+ export declare function detectExistingWorkspaces(currentDir: string): string[];
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/workspace/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAajE;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAYjF;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CASxF;AAED,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAcpF;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOhF;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBrE"}
@@ -0,0 +1,116 @@
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.findWorkspaceRoot = findWorkspaceRoot;
37
+ exports.loadWorkspaceConfig = loadWorkspaceConfig;
38
+ exports.saveWorkspaceConfig = saveWorkspaceConfig;
39
+ exports.createWorkspace = createWorkspace;
40
+ exports.addRepoToWorkspace = addRepoToWorkspace;
41
+ exports.detectExistingWorkspaces = detectExistingWorkspaces;
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
44
+ function findWorkspaceRoot(startDir) {
45
+ let currentDir = path.resolve(startDir);
46
+ const root = path.parse(currentDir).root;
47
+ while (currentDir !== root) {
48
+ const workspaceConfig = path.join(currentDir, '.proletariat', 'workspace.json');
49
+ if (fs.existsSync(workspaceConfig)) {
50
+ return currentDir;
51
+ }
52
+ currentDir = path.dirname(currentDir);
53
+ }
54
+ return null;
55
+ }
56
+ function loadWorkspaceConfig(workspaceRoot) {
57
+ const configPath = path.join(workspaceRoot, '.proletariat', 'workspace.json');
58
+ if (!fs.existsSync(configPath)) {
59
+ return null;
60
+ }
61
+ try {
62
+ return JSON.parse(fs.readFileSync(configPath, 'utf8'));
63
+ }
64
+ catch (error) {
65
+ return null;
66
+ }
67
+ }
68
+ function saveWorkspaceConfig(workspaceRoot, config) {
69
+ const configDir = path.join(workspaceRoot, '.proletariat');
70
+ const configPath = path.join(configDir, 'workspace.json');
71
+ if (!fs.existsSync(configDir)) {
72
+ fs.mkdirSync(configDir, { recursive: true });
73
+ }
74
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
75
+ }
76
+ function createWorkspace(workspaceRoot, name) {
77
+ if (!fs.existsSync(workspaceRoot)) {
78
+ fs.mkdirSync(workspaceRoot, { recursive: true });
79
+ }
80
+ const config = {
81
+ version: '0.1.4', // CLI version when workspace feature was added
82
+ name,
83
+ created: new Date().toISOString(),
84
+ repositories: []
85
+ };
86
+ saveWorkspaceConfig(workspaceRoot, config);
87
+ return config;
88
+ }
89
+ function addRepoToWorkspace(workspaceRoot, repoName) {
90
+ const config = loadWorkspaceConfig(workspaceRoot);
91
+ if (config && !config.repositories.includes(repoName)) {
92
+ config.repositories.push(repoName);
93
+ saveWorkspaceConfig(workspaceRoot, config);
94
+ }
95
+ }
96
+ function detectExistingWorkspaces(currentDir) {
97
+ const parentDir = path.dirname(currentDir);
98
+ const workspaces = [];
99
+ try {
100
+ const entries = fs.readdirSync(parentDir, { withFileTypes: true });
101
+ for (const entry of entries) {
102
+ if (entry.isDirectory()) {
103
+ const possibleWorkspace = path.join(parentDir, entry.name);
104
+ const configPath = path.join(possibleWorkspace, '.proletariat', 'workspace.json');
105
+ if (fs.existsSync(configPath)) {
106
+ workspaces.push(possibleWorkspace);
107
+ }
108
+ }
109
+ }
110
+ }
111
+ catch (error) {
112
+ // Parent directory might not be readable
113
+ }
114
+ return workspaces;
115
+ }
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/workspace/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { InitOptions, ProjectConfig } from '../../types/index.js';
2
+ export { repairWorktrees, checkWorktreeHealth } from './repair.js';
2
3
  export declare function initProject(options: InitOptions): Promise<ProjectConfig | void>;
3
4
  export declare function createWorktrees(agents: string[]): Promise<ProjectConfig | void>;
4
5
  export declare function removeWorktrees(agents: string[]): Promise<ProjectConfig | void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/worktree/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAS,MAAM,sBAAsB,CAAC;AAEzE,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAwKrF;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAwErF;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAqDrF;AAED,wBAAgB,UAAU,IAAI,aAAa,GAAG,IAAI,CAqDjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/worktree/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAS,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEnE,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA0KrF;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAwErF;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAqDrF;AAED,wBAAgB,UAAU,IAAI,aAAa,GAAG,IAAI,CAqDjD"}