@fractary/core 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +183 -30
  2. package/dist/common/config.d.ts +22 -6
  3. package/dist/common/config.d.ts.map +1 -1
  4. package/dist/common/config.js +43 -14
  5. package/dist/common/config.js.map +1 -1
  6. package/dist/common/exec-file-no-throw.d.ts +42 -0
  7. package/dist/common/exec-file-no-throw.d.ts.map +1 -0
  8. package/dist/common/exec-file-no-throw.js +54 -0
  9. package/dist/common/exec-file-no-throw.js.map +1 -0
  10. package/dist/common/types.d.ts +15 -0
  11. package/dist/common/types.d.ts.map +1 -1
  12. package/dist/common/yaml-config.d.ts +198 -0
  13. package/dist/common/yaml-config.d.ts.map +1 -0
  14. package/dist/common/yaml-config.js +300 -0
  15. package/dist/common/yaml-config.js.map +1 -0
  16. package/dist/common/yaml-config.test.d.ts +5 -0
  17. package/dist/common/yaml-config.test.d.ts.map +1 -0
  18. package/dist/common/yaml-config.test.js +551 -0
  19. package/dist/common/yaml-config.test.js.map +1 -0
  20. package/dist/repo/config.d.ts +112 -0
  21. package/dist/repo/config.d.ts.map +1 -0
  22. package/dist/repo/config.js +202 -0
  23. package/dist/repo/config.js.map +1 -0
  24. package/dist/repo/config.test.d.ts +7 -0
  25. package/dist/repo/config.test.d.ts.map +1 -0
  26. package/dist/repo/config.test.js +173 -0
  27. package/dist/repo/config.test.js.map +1 -0
  28. package/dist/repo/manager.d.ts +20 -1
  29. package/dist/repo/manager.d.ts.map +1 -1
  30. package/dist/repo/manager.js +68 -2
  31. package/dist/repo/manager.js.map +1 -1
  32. package/dist/repo/organization.d.ts +46 -0
  33. package/dist/repo/organization.d.ts.map +1 -0
  34. package/dist/repo/organization.js +119 -0
  35. package/dist/repo/organization.js.map +1 -0
  36. package/dist/repo/organization.test.d.ts +7 -0
  37. package/dist/repo/organization.test.d.ts.map +1 -0
  38. package/dist/repo/organization.test.js +241 -0
  39. package/dist/repo/organization.test.js.map +1 -0
  40. package/dist/repo/path-generator.d.ts +53 -0
  41. package/dist/repo/path-generator.d.ts.map +1 -0
  42. package/dist/repo/path-generator.js +126 -0
  43. package/dist/repo/path-generator.js.map +1 -0
  44. package/dist/repo/path-generator.test.d.ts +7 -0
  45. package/dist/repo/path-generator.test.d.ts.map +1 -0
  46. package/dist/repo/path-generator.test.js +278 -0
  47. package/dist/repo/path-generator.test.js.map +1 -0
  48. package/dist/spec/manager.js +1 -1
  49. package/dist/spec/manager.js.map +1 -1
  50. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/repo/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/repo/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Represents a git remote with parsed organization and project information
3
+ */
4
+ export interface GitRemote {
5
+ name: string;
6
+ url: string;
7
+ organization?: string;
8
+ project?: string;
9
+ }
10
+ /**
11
+ * Parse a git remote URL to extract organization and project name
12
+ *
13
+ * Supports:
14
+ * - SSH format: git@github.com:org/project.git
15
+ * - HTTPS format: https://github.com/org/project.git
16
+ * - GitLab subgroups: git@gitlab.com:org/subgroup/project.git
17
+ *
18
+ * @param remoteUrl - The git remote URL to parse
19
+ * @returns Parsed remote information or null if parsing fails
20
+ */
21
+ export declare function parseGitRemote(remoteUrl: string): GitRemote | null;
22
+ /**
23
+ * Extract organization name from a git remote URL
24
+ *
25
+ * @param remoteUrl - The git remote URL to parse
26
+ * @returns Organization name or 'local' if extraction fails
27
+ */
28
+ export declare function extractOrganization(remoteUrl: string): string;
29
+ /**
30
+ * Extract project name from a git remote URL
31
+ *
32
+ * @param remoteUrl - The git remote URL to parse
33
+ * @returns Project name or null if extraction fails
34
+ */
35
+ export declare function extractProjectName(remoteUrl: string): string | null;
36
+ /**
37
+ * Get git remote information for a repository
38
+ *
39
+ * Fetches the URL of the 'origin' remote and parses it to extract
40
+ * organization and project information.
41
+ *
42
+ * @param cwd - The working directory of the git repository
43
+ * @returns Parsed remote information or null if remote doesn't exist or parsing fails
44
+ */
45
+ export declare function getRemoteInfo(cwd: string): Promise<GitRemote | null>;
46
+ //# sourceMappingURL=organization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../src/repo/organization.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAgElE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGnE;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAc1E"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseGitRemote = parseGitRemote;
4
+ exports.extractOrganization = extractOrganization;
5
+ exports.extractProjectName = extractProjectName;
6
+ exports.getRemoteInfo = getRemoteInfo;
7
+ const exec_file_no_throw_js_1 = require("../common/exec-file-no-throw.js");
8
+ /**
9
+ * Parse a git remote URL to extract organization and project name
10
+ *
11
+ * Supports:
12
+ * - SSH format: git@github.com:org/project.git
13
+ * - HTTPS format: https://github.com/org/project.git
14
+ * - GitLab subgroups: git@gitlab.com:org/subgroup/project.git
15
+ *
16
+ * @param remoteUrl - The git remote URL to parse
17
+ * @returns Parsed remote information or null if parsing fails
18
+ */
19
+ function parseGitRemote(remoteUrl) {
20
+ if (!remoteUrl || typeof remoteUrl !== 'string') {
21
+ return null;
22
+ }
23
+ const trimmedUrl = remoteUrl.trim();
24
+ // SSH format: git@github.com:org/project.git or git@github.com:org/subgroup/project.git
25
+ const sshMatch = trimmedUrl.match(/^git@([^:]+):(.+?)(?:\.git)?$/);
26
+ if (sshMatch) {
27
+ const pathParts = sshMatch[2].split('/');
28
+ // For GitLab-style subgroups, join org and subgroups with hyphen
29
+ if (pathParts.length > 2) {
30
+ const organization = pathParts.slice(0, -1).join('-');
31
+ const project = pathParts[pathParts.length - 1].replace(/\.git$/, '');
32
+ return {
33
+ name: 'origin',
34
+ url: trimmedUrl,
35
+ organization,
36
+ project
37
+ };
38
+ }
39
+ // Standard org/project format
40
+ if (pathParts.length === 2) {
41
+ return {
42
+ name: 'origin',
43
+ url: trimmedUrl,
44
+ organization: pathParts[0],
45
+ project: pathParts[1].replace(/\.git$/, '')
46
+ };
47
+ }
48
+ }
49
+ // HTTPS format: https://github.com/org/project.git or https://github.com/org/subgroup/project.git
50
+ const httpsMatch = trimmedUrl.match(/^https?:\/\/([^/]+)\/(.+?)(?:\.git)?$/);
51
+ if (httpsMatch) {
52
+ const pathParts = httpsMatch[2].split('/');
53
+ // For GitLab-style subgroups, join org and subgroups with hyphen
54
+ if (pathParts.length > 2) {
55
+ const organization = pathParts.slice(0, -1).join('-');
56
+ const project = pathParts[pathParts.length - 1].replace(/\.git$/, '');
57
+ return {
58
+ name: 'origin',
59
+ url: trimmedUrl,
60
+ organization,
61
+ project
62
+ };
63
+ }
64
+ // Standard org/project format
65
+ if (pathParts.length === 2) {
66
+ return {
67
+ name: 'origin',
68
+ url: trimmedUrl,
69
+ organization: pathParts[0],
70
+ project: pathParts[1].replace(/\.git$/, '')
71
+ };
72
+ }
73
+ }
74
+ return null;
75
+ }
76
+ /**
77
+ * Extract organization name from a git remote URL
78
+ *
79
+ * @param remoteUrl - The git remote URL to parse
80
+ * @returns Organization name or 'local' if extraction fails
81
+ */
82
+ function extractOrganization(remoteUrl) {
83
+ const parsed = parseGitRemote(remoteUrl);
84
+ return parsed?.organization || 'local';
85
+ }
86
+ /**
87
+ * Extract project name from a git remote URL
88
+ *
89
+ * @param remoteUrl - The git remote URL to parse
90
+ * @returns Project name or null if extraction fails
91
+ */
92
+ function extractProjectName(remoteUrl) {
93
+ const parsed = parseGitRemote(remoteUrl);
94
+ return parsed?.project || null;
95
+ }
96
+ /**
97
+ * Get git remote information for a repository
98
+ *
99
+ * Fetches the URL of the 'origin' remote and parses it to extract
100
+ * organization and project information.
101
+ *
102
+ * @param cwd - The working directory of the git repository
103
+ * @returns Parsed remote information or null if remote doesn't exist or parsing fails
104
+ */
105
+ async function getRemoteInfo(cwd) {
106
+ try {
107
+ const result = await (0, exec_file_no_throw_js_1.execFileNoThrow)('git', ['remote', 'get-url', 'origin'], { cwd });
108
+ if (result.exitCode !== 0) {
109
+ return null;
110
+ }
111
+ const url = result.stdout.trim();
112
+ return parseGitRemote(url);
113
+ }
114
+ catch (error) {
115
+ // Git command failed or remote doesn't exist
116
+ return null;
117
+ }
118
+ }
119
+ //# sourceMappingURL=organization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../../src/repo/organization.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fractary/sdk - Organization Extraction Tests
3
+ *
4
+ * Tests for parsing git remote URLs and extracting organization/project information.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=organization.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.test.d.ts","sourceRoot":"","sources":["../../src/repo/organization.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+ /**
3
+ * @fractary/sdk - Organization Extraction Tests
4
+ *
5
+ * Tests for parsing git remote URLs and extracting organization/project information.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ const vitest_1 = require("vitest");
9
+ const organization_js_1 = require("./organization.js");
10
+ (0, vitest_1.describe)('parseGitRemote', () => {
11
+ (0, vitest_1.describe)('GitHub SSH format', () => {
12
+ (0, vitest_1.it)('should parse standard SSH URL', () => {
13
+ const result = (0, organization_js_1.parseGitRemote)('git@github.com:fractary/core.git');
14
+ (0, vitest_1.expect)(result).toEqual({
15
+ name: 'origin',
16
+ url: 'git@github.com:fractary/core.git',
17
+ organization: 'fractary',
18
+ project: 'core',
19
+ });
20
+ });
21
+ (0, vitest_1.it)('should parse SSH URL without .git extension', () => {
22
+ const result = (0, organization_js_1.parseGitRemote)('git@github.com:fractary/core');
23
+ (0, vitest_1.expect)(result).toEqual({
24
+ name: 'origin',
25
+ url: 'git@github.com:fractary/core',
26
+ organization: 'fractary',
27
+ project: 'core',
28
+ });
29
+ });
30
+ (0, vitest_1.it)('should handle organization with hyphens', () => {
31
+ const result = (0, organization_js_1.parseGitRemote)('git@github.com:my-company/my-project.git');
32
+ (0, vitest_1.expect)(result).toEqual({
33
+ name: 'origin',
34
+ url: 'git@github.com:my-company/my-project.git',
35
+ organization: 'my-company',
36
+ project: 'my-project',
37
+ });
38
+ });
39
+ (0, vitest_1.it)('should handle project with underscores', () => {
40
+ const result = (0, organization_js_1.parseGitRemote)('git@github.com:org/my_project.git');
41
+ (0, vitest_1.expect)(result).toEqual({
42
+ name: 'origin',
43
+ url: 'git@github.com:org/my_project.git',
44
+ organization: 'org',
45
+ project: 'my_project',
46
+ });
47
+ });
48
+ });
49
+ (0, vitest_1.describe)('GitHub HTTPS format', () => {
50
+ (0, vitest_1.it)('should parse standard HTTPS URL', () => {
51
+ const result = (0, organization_js_1.parseGitRemote)('https://github.com/fractary/core.git');
52
+ (0, vitest_1.expect)(result).toEqual({
53
+ name: 'origin',
54
+ url: 'https://github.com/fractary/core.git',
55
+ organization: 'fractary',
56
+ project: 'core',
57
+ });
58
+ });
59
+ (0, vitest_1.it)('should parse HTTPS URL without .git extension', () => {
60
+ const result = (0, organization_js_1.parseGitRemote)('https://github.com/fractary/core');
61
+ (0, vitest_1.expect)(result).toEqual({
62
+ name: 'origin',
63
+ url: 'https://github.com/fractary/core',
64
+ organization: 'fractary',
65
+ project: 'core',
66
+ });
67
+ });
68
+ (0, vitest_1.it)('should parse HTTP URL (not HTTPS)', () => {
69
+ const result = (0, organization_js_1.parseGitRemote)('http://github.com/fractary/core.git');
70
+ (0, vitest_1.expect)(result).toEqual({
71
+ name: 'origin',
72
+ url: 'http://github.com/fractary/core.git',
73
+ organization: 'fractary',
74
+ project: 'core',
75
+ });
76
+ });
77
+ });
78
+ (0, vitest_1.describe)('GitLab formats', () => {
79
+ (0, vitest_1.it)('should parse GitLab SSH URL', () => {
80
+ const result = (0, organization_js_1.parseGitRemote)('git@gitlab.com:myorg/myproject.git');
81
+ (0, vitest_1.expect)(result).toEqual({
82
+ name: 'origin',
83
+ url: 'git@gitlab.com:myorg/myproject.git',
84
+ organization: 'myorg',
85
+ project: 'myproject',
86
+ });
87
+ });
88
+ (0, vitest_1.it)('should parse GitLab HTTPS URL', () => {
89
+ const result = (0, organization_js_1.parseGitRemote)('https://gitlab.com/myorg/myproject.git');
90
+ (0, vitest_1.expect)(result).toEqual({
91
+ name: 'origin',
92
+ url: 'https://gitlab.com/myorg/myproject.git',
93
+ organization: 'myorg',
94
+ project: 'myproject',
95
+ });
96
+ });
97
+ (0, vitest_1.it)('should handle GitLab subgroups with SSH', () => {
98
+ const result = (0, organization_js_1.parseGitRemote)('git@gitlab.com:org/subgroup/project.git');
99
+ (0, vitest_1.expect)(result).toEqual({
100
+ name: 'origin',
101
+ url: 'git@gitlab.com:org/subgroup/project.git',
102
+ organization: 'org-subgroup',
103
+ project: 'project',
104
+ });
105
+ });
106
+ (0, vitest_1.it)('should handle GitLab subgroups with HTTPS', () => {
107
+ const result = (0, organization_js_1.parseGitRemote)('https://gitlab.com/org/subgroup/project.git');
108
+ (0, vitest_1.expect)(result).toEqual({
109
+ name: 'origin',
110
+ url: 'https://gitlab.com/org/subgroup/project.git',
111
+ organization: 'org-subgroup',
112
+ project: 'project',
113
+ });
114
+ });
115
+ (0, vitest_1.it)('should handle deeply nested GitLab subgroups', () => {
116
+ const result = (0, organization_js_1.parseGitRemote)('git@gitlab.com:org/team/subteam/project.git');
117
+ (0, vitest_1.expect)(result).toEqual({
118
+ name: 'origin',
119
+ url: 'git@gitlab.com:org/team/subteam/project.git',
120
+ organization: 'org-team-subteam',
121
+ project: 'project',
122
+ });
123
+ });
124
+ });
125
+ (0, vitest_1.describe)('Bitbucket formats', () => {
126
+ (0, vitest_1.it)('should parse Bitbucket SSH URL', () => {
127
+ const result = (0, organization_js_1.parseGitRemote)('git@bitbucket.org:workspace/repo.git');
128
+ (0, vitest_1.expect)(result).toEqual({
129
+ name: 'origin',
130
+ url: 'git@bitbucket.org:workspace/repo.git',
131
+ organization: 'workspace',
132
+ project: 'repo',
133
+ });
134
+ });
135
+ (0, vitest_1.it)('should parse Bitbucket HTTPS URL', () => {
136
+ const result = (0, organization_js_1.parseGitRemote)('https://bitbucket.org/workspace/repo.git');
137
+ (0, vitest_1.expect)(result).toEqual({
138
+ name: 'origin',
139
+ url: 'https://bitbucket.org/workspace/repo.git',
140
+ organization: 'workspace',
141
+ project: 'repo',
142
+ });
143
+ });
144
+ });
145
+ (0, vitest_1.describe)('Self-hosted git servers', () => {
146
+ (0, vitest_1.it)('should parse self-hosted SSH URL', () => {
147
+ const result = (0, organization_js_1.parseGitRemote)('git@git.company.com:engineering/backend.git');
148
+ (0, vitest_1.expect)(result).toEqual({
149
+ name: 'origin',
150
+ url: 'git@git.company.com:engineering/backend.git',
151
+ organization: 'engineering',
152
+ project: 'backend',
153
+ });
154
+ });
155
+ (0, vitest_1.it)('should parse self-hosted HTTPS URL', () => {
156
+ const result = (0, organization_js_1.parseGitRemote)('https://git.company.com/engineering/backend.git');
157
+ (0, vitest_1.expect)(result).toEqual({
158
+ name: 'origin',
159
+ url: 'https://git.company.com/engineering/backend.git',
160
+ organization: 'engineering',
161
+ project: 'backend',
162
+ });
163
+ });
164
+ (0, vitest_1.it)('should handle self-hosted with port number', () => {
165
+ const result = (0, organization_js_1.parseGitRemote)('https://git.company.com:8080/org/project.git');
166
+ (0, vitest_1.expect)(result).toEqual({
167
+ name: 'origin',
168
+ url: 'https://git.company.com:8080/org/project.git',
169
+ organization: 'org',
170
+ project: 'project',
171
+ });
172
+ });
173
+ });
174
+ (0, vitest_1.describe)('Edge cases and invalid formats', () => {
175
+ (0, vitest_1.it)('should return null for invalid SSH format', () => {
176
+ const result = (0, organization_js_1.parseGitRemote)('git@invalid');
177
+ (0, vitest_1.expect)(result).toBeNull();
178
+ });
179
+ (0, vitest_1.it)('should return null for invalid HTTPS format', () => {
180
+ const result = (0, organization_js_1.parseGitRemote)('https://invalid');
181
+ (0, vitest_1.expect)(result).toBeNull();
182
+ });
183
+ (0, vitest_1.it)('should return null for empty string', () => {
184
+ const result = (0, organization_js_1.parseGitRemote)('');
185
+ (0, vitest_1.expect)(result).toBeNull();
186
+ });
187
+ (0, vitest_1.it)('should return null for local path', () => {
188
+ const result = (0, organization_js_1.parseGitRemote)('/path/to/local/repo');
189
+ (0, vitest_1.expect)(result).toBeNull();
190
+ });
191
+ (0, vitest_1.it)('should return null for file:// URL', () => {
192
+ const result = (0, organization_js_1.parseGitRemote)('file:///path/to/repo.git');
193
+ (0, vitest_1.expect)(result).toBeNull();
194
+ });
195
+ });
196
+ (0, vitest_1.describe)('.git extension handling', () => {
197
+ (0, vitest_1.it)('should strip .git from project name', () => {
198
+ const result = (0, organization_js_1.parseGitRemote)('git@github.com:org/project.git');
199
+ (0, vitest_1.expect)(result?.project).toBe('project');
200
+ });
201
+ (0, vitest_1.it)('should handle projects that naturally end in .git', () => {
202
+ const result = (0, organization_js_1.parseGitRemote)('git@github.com:org/my.git.project.git');
203
+ (0, vitest_1.expect)(result?.project).toBe('my.git.project');
204
+ });
205
+ });
206
+ });
207
+ (0, vitest_1.describe)('extractOrganization', () => {
208
+ (0, vitest_1.it)('should extract organization from SSH URL', () => {
209
+ (0, vitest_1.expect)((0, organization_js_1.extractOrganization)('git@github.com:fractary/core.git')).toBe('fractary');
210
+ });
211
+ (0, vitest_1.it)('should extract organization from HTTPS URL', () => {
212
+ (0, vitest_1.expect)((0, organization_js_1.extractOrganization)('https://github.com/fractary/core.git')).toBe('fractary');
213
+ });
214
+ (0, vitest_1.it)('should return "local" for invalid URL', () => {
215
+ (0, vitest_1.expect)((0, organization_js_1.extractOrganization)('invalid-url')).toBe('local');
216
+ });
217
+ (0, vitest_1.it)('should return "local" for empty string', () => {
218
+ (0, vitest_1.expect)((0, organization_js_1.extractOrganization)('')).toBe('local');
219
+ });
220
+ (0, vitest_1.it)('should handle GitLab subgroups', () => {
221
+ (0, vitest_1.expect)((0, organization_js_1.extractOrganization)('git@gitlab.com:org/subgroup/project.git')).toBe('org-subgroup');
222
+ });
223
+ });
224
+ (0, vitest_1.describe)('extractProjectName', () => {
225
+ (0, vitest_1.it)('should extract project from SSH URL', () => {
226
+ (0, vitest_1.expect)((0, organization_js_1.extractProjectName)('git@github.com:fractary/core.git')).toBe('core');
227
+ });
228
+ (0, vitest_1.it)('should extract project from HTTPS URL', () => {
229
+ (0, vitest_1.expect)((0, organization_js_1.extractProjectName)('https://github.com/fractary/core.git')).toBe('core');
230
+ });
231
+ (0, vitest_1.it)('should return empty string for invalid URL', () => {
232
+ (0, vitest_1.expect)((0, organization_js_1.extractProjectName)('invalid-url')).toBe('');
233
+ });
234
+ (0, vitest_1.it)('should return empty string for empty string', () => {
235
+ (0, vitest_1.expect)((0, organization_js_1.extractProjectName)('')).toBe('');
236
+ });
237
+ (0, vitest_1.it)('should strip .git extension', () => {
238
+ (0, vitest_1.expect)((0, organization_js_1.extractProjectName)('git@github.com:org/project.git')).toBe('project');
239
+ });
240
+ });
241
+ //# sourceMappingURL=organization.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.test.js","sourceRoot":"","sources":["../../src/repo/organization.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { WorktreeConfig } from './config.js';
2
+ /**
3
+ * Options for generating a worktree path
4
+ */
5
+ export interface PathGenerationOptions {
6
+ /** Work item ID (e.g., issue number) */
7
+ workId: string;
8
+ /** Organization name (auto-detected if not provided) */
9
+ organization?: string;
10
+ /** Project name (auto-detected if not provided) */
11
+ project?: string;
12
+ /** Custom path to use instead of generated path */
13
+ customPath?: string;
14
+ /** Worktree configuration (loaded if not provided) */
15
+ config?: WorktreeConfig;
16
+ }
17
+ /**
18
+ * Generate a worktree path following SPEC-00030 pattern
19
+ *
20
+ * Path generation logic:
21
+ * 1. If customPath is provided, use it directly
22
+ * 2. Load configuration (or use provided config)
23
+ * 3. Extract organization and project from git remote (if not provided)
24
+ * 4. Generate path using SPEC-00030 pattern: `{defaultLocation}/{org}-{project}-{workId}`
25
+ * 5. Return resolved absolute path
26
+ *
27
+ * @param cwd Current working directory (git repository root)
28
+ * @param options Path generation options
29
+ * @returns Absolute path to worktree directory
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * // Auto-detect organization and project
34
+ * const path = await generateWorktreePath('/path/to/repo', { workId: '258' });
35
+ * // Returns: /home/user/.claude-worktrees/fractary-core-258
36
+ *
37
+ * // Custom path
38
+ * const path = await generateWorktreePath('/path/to/repo', {
39
+ * workId: '258',
40
+ * customPath: '/custom/path'
41
+ * });
42
+ * // Returns: /custom/path
43
+ * ```
44
+ */
45
+ export declare function generateWorktreePath(cwd: string, options: PathGenerationOptions): Promise<string>;
46
+ /**
47
+ * Find all existing worktrees for a repository
48
+ *
49
+ * @param cwd Current working directory (git repository root)
50
+ * @returns Array of worktree paths
51
+ */
52
+ export declare function listWorktrees(cwd: string): Promise<string[]>;
53
+ //# sourceMappingURL=path-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-generator.d.ts","sourceRoot":"","sources":["../../src/repo/path-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiD,cAAc,EAAE,MAAM,aAAa,CAAC;AAG5F;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAGD;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBlE"}