vibe-fabric 0.1.0 → 0.3.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 (45) hide show
  1. package/README.md +6 -0
  2. package/dist/cli/commands/init.d.ts +59 -0
  3. package/dist/cli/commands/init.d.ts.map +1 -1
  4. package/dist/cli/commands/init.js +659 -3
  5. package/dist/cli/commands/init.js.map +1 -1
  6. package/dist/cli/commands/repo/create.d.ts +35 -0
  7. package/dist/cli/commands/repo/create.d.ts.map +1 -0
  8. package/dist/cli/commands/repo/create.js +333 -0
  9. package/dist/cli/commands/repo/create.js.map +1 -0
  10. package/dist/cli/commands/status.d.ts.map +1 -1
  11. package/dist/cli/commands/status.js +31 -12
  12. package/dist/cli/commands/status.js.map +1 -1
  13. package/dist/cli/index.js +2 -0
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/core/planning.d.ts +72 -0
  16. package/dist/core/planning.d.ts.map +1 -0
  17. package/dist/core/planning.js +610 -0
  18. package/dist/core/planning.js.map +1 -0
  19. package/dist/core/repo/framework.d.ts +4 -0
  20. package/dist/core/repo/framework.d.ts.map +1 -1
  21. package/dist/core/repo/framework.js +6 -0
  22. package/dist/core/repo/framework.js.map +1 -1
  23. package/dist/core/state.d.ts +71 -0
  24. package/dist/core/state.d.ts.map +1 -0
  25. package/dist/core/state.js +218 -0
  26. package/dist/core/state.js.map +1 -0
  27. package/dist/core/status.d.ts.map +1 -1
  28. package/dist/core/status.js +17 -11
  29. package/dist/core/status.js.map +1 -1
  30. package/dist/types/config.d.ts +122 -10
  31. package/dist/types/config.d.ts.map +1 -1
  32. package/dist/types/config.js +26 -2
  33. package/dist/types/config.js.map +1 -1
  34. package/dist/types/planning.d.ts +286 -0
  35. package/dist/types/planning.d.ts.map +1 -0
  36. package/dist/types/planning.js +49 -0
  37. package/dist/types/planning.js.map +1 -0
  38. package/dist/types/runner.d.ts +14 -14
  39. package/dist/types/state.d.ts +640 -0
  40. package/dist/types/state.d.ts.map +1 -0
  41. package/dist/types/state.js +59 -0
  42. package/dist/types/state.js.map +1 -0
  43. package/dist/types/status.d.ts +3 -0
  44. package/dist/types/status.d.ts.map +1 -1
  45. package/package.json +1 -1
@@ -1,17 +1,19 @@
1
1
  import { z } from 'zod';
2
2
  /**
3
3
  * Repository configuration schema
4
+ * Note: For 'planned' status repos, url and owner may be empty strings
4
5
  */
5
6
  export declare const RepoSchema: z.ZodObject<{
6
7
  alias: z.ZodString;
7
- url: z.ZodString;
8
- owner: z.ZodString;
8
+ url: z.ZodDefault<z.ZodString>;
9
+ owner: z.ZodDefault<z.ZodString>;
9
10
  name: z.ZodString;
10
11
  branch: z.ZodDefault<z.ZodString>;
11
12
  type: z.ZodDefault<z.ZodEnum<["github"]>>;
12
13
  status: z.ZodDefault<z.ZodEnum<["active", "planned", "archived"]>>;
13
14
  addedAt: z.ZodOptional<z.ZodString>;
14
15
  frameworkInjected: z.ZodDefault<z.ZodBoolean>;
16
+ description: z.ZodOptional<z.ZodString>;
15
17
  }, "strip", z.ZodTypeAny, {
16
18
  alias: string;
17
19
  url: string;
@@ -22,16 +24,37 @@ export declare const RepoSchema: z.ZodObject<{
22
24
  status: "active" | "planned" | "archived";
23
25
  frameworkInjected: boolean;
24
26
  addedAt?: string | undefined;
27
+ description?: string | undefined;
25
28
  }, {
26
29
  alias: string;
27
- url: string;
28
- owner: string;
29
30
  name: string;
31
+ url?: string | undefined;
32
+ owner?: string | undefined;
30
33
  branch?: string | undefined;
31
34
  type?: "github" | undefined;
32
35
  status?: "active" | "planned" | "archived" | undefined;
33
36
  addedAt?: string | undefined;
34
37
  frameworkInjected?: boolean | undefined;
38
+ description?: string | undefined;
39
+ }>;
40
+ /**
41
+ * Project description schema (for new projects)
42
+ */
43
+ export declare const ProjectDescriptionSchema: z.ZodObject<{
44
+ summary: z.ZodString;
45
+ goals: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
46
+ constraints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
47
+ targetUsers: z.ZodOptional<z.ZodString>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ summary: string;
50
+ goals?: string[] | undefined;
51
+ constraints?: string[] | undefined;
52
+ targetUsers?: string | undefined;
53
+ }, {
54
+ summary: string;
55
+ goals?: string[] | undefined;
56
+ constraints?: string[] | undefined;
57
+ targetUsers?: string | undefined;
35
58
  }>;
36
59
  /**
37
60
  * Project configuration schema
@@ -41,15 +64,43 @@ export declare const ProjectSchema: z.ZodObject<{
41
64
  version: z.ZodOptional<z.ZodString>;
42
65
  created: z.ZodString;
43
66
  type: z.ZodOptional<z.ZodEnum<["existing", "new"]>>;
67
+ description: z.ZodOptional<z.ZodObject<{
68
+ summary: z.ZodString;
69
+ goals: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
70
+ constraints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
71
+ targetUsers: z.ZodOptional<z.ZodString>;
72
+ }, "strip", z.ZodTypeAny, {
73
+ summary: string;
74
+ goals?: string[] | undefined;
75
+ constraints?: string[] | undefined;
76
+ targetUsers?: string | undefined;
77
+ }, {
78
+ summary: string;
79
+ goals?: string[] | undefined;
80
+ constraints?: string[] | undefined;
81
+ targetUsers?: string | undefined;
82
+ }>>;
44
83
  }, "strip", z.ZodTypeAny, {
45
84
  name: string;
46
85
  created: string;
47
86
  type?: "existing" | "new" | undefined;
87
+ description?: {
88
+ summary: string;
89
+ goals?: string[] | undefined;
90
+ constraints?: string[] | undefined;
91
+ targetUsers?: string | undefined;
92
+ } | undefined;
48
93
  version?: string | undefined;
49
94
  }, {
50
95
  name: string;
51
96
  created: string;
52
97
  type?: "existing" | "new" | undefined;
98
+ description?: {
99
+ summary: string;
100
+ goals?: string[] | undefined;
101
+ constraints?: string[] | undefined;
102
+ targetUsers?: string | undefined;
103
+ } | undefined;
53
104
  version?: string | undefined;
54
105
  }>;
55
106
  /**
@@ -61,27 +112,56 @@ export declare const ConfigSchema: z.ZodObject<{
61
112
  version: z.ZodOptional<z.ZodString>;
62
113
  created: z.ZodString;
63
114
  type: z.ZodOptional<z.ZodEnum<["existing", "new"]>>;
115
+ description: z.ZodOptional<z.ZodObject<{
116
+ summary: z.ZodString;
117
+ goals: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
118
+ constraints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
119
+ targetUsers: z.ZodOptional<z.ZodString>;
120
+ }, "strip", z.ZodTypeAny, {
121
+ summary: string;
122
+ goals?: string[] | undefined;
123
+ constraints?: string[] | undefined;
124
+ targetUsers?: string | undefined;
125
+ }, {
126
+ summary: string;
127
+ goals?: string[] | undefined;
128
+ constraints?: string[] | undefined;
129
+ targetUsers?: string | undefined;
130
+ }>>;
64
131
  }, "strip", z.ZodTypeAny, {
65
132
  name: string;
66
133
  created: string;
67
134
  type?: "existing" | "new" | undefined;
135
+ description?: {
136
+ summary: string;
137
+ goals?: string[] | undefined;
138
+ constraints?: string[] | undefined;
139
+ targetUsers?: string | undefined;
140
+ } | undefined;
68
141
  version?: string | undefined;
69
142
  }, {
70
143
  name: string;
71
144
  created: string;
72
145
  type?: "existing" | "new" | undefined;
146
+ description?: {
147
+ summary: string;
148
+ goals?: string[] | undefined;
149
+ constraints?: string[] | undefined;
150
+ targetUsers?: string | undefined;
151
+ } | undefined;
73
152
  version?: string | undefined;
74
153
  }>;
75
154
  repos: z.ZodDefault<z.ZodArray<z.ZodObject<{
76
155
  alias: z.ZodString;
77
- url: z.ZodString;
78
- owner: z.ZodString;
156
+ url: z.ZodDefault<z.ZodString>;
157
+ owner: z.ZodDefault<z.ZodString>;
79
158
  name: z.ZodString;
80
159
  branch: z.ZodDefault<z.ZodString>;
81
160
  type: z.ZodDefault<z.ZodEnum<["github"]>>;
82
161
  status: z.ZodDefault<z.ZodEnum<["active", "planned", "archived"]>>;
83
162
  addedAt: z.ZodOptional<z.ZodString>;
84
163
  frameworkInjected: z.ZodDefault<z.ZodBoolean>;
164
+ description: z.ZodOptional<z.ZodString>;
85
165
  }, "strip", z.ZodTypeAny, {
86
166
  alias: string;
87
167
  url: string;
@@ -92,22 +172,30 @@ export declare const ConfigSchema: z.ZodObject<{
92
172
  status: "active" | "planned" | "archived";
93
173
  frameworkInjected: boolean;
94
174
  addedAt?: string | undefined;
175
+ description?: string | undefined;
95
176
  }, {
96
177
  alias: string;
97
- url: string;
98
- owner: string;
99
178
  name: string;
179
+ url?: string | undefined;
180
+ owner?: string | undefined;
100
181
  branch?: string | undefined;
101
182
  type?: "github" | undefined;
102
183
  status?: "active" | "planned" | "archived" | undefined;
103
184
  addedAt?: string | undefined;
104
185
  frameworkInjected?: boolean | undefined;
186
+ description?: string | undefined;
105
187
  }>, "many">>;
106
188
  }, "strip", z.ZodTypeAny, {
107
189
  project: {
108
190
  name: string;
109
191
  created: string;
110
192
  type?: "existing" | "new" | undefined;
193
+ description?: {
194
+ summary: string;
195
+ goals?: string[] | undefined;
196
+ constraints?: string[] | undefined;
197
+ targetUsers?: string | undefined;
198
+ } | undefined;
111
199
  version?: string | undefined;
112
200
  };
113
201
  repos: {
@@ -120,24 +208,32 @@ export declare const ConfigSchema: z.ZodObject<{
120
208
  status: "active" | "planned" | "archived";
121
209
  frameworkInjected: boolean;
122
210
  addedAt?: string | undefined;
211
+ description?: string | undefined;
123
212
  }[];
124
213
  }, {
125
214
  project: {
126
215
  name: string;
127
216
  created: string;
128
217
  type?: "existing" | "new" | undefined;
218
+ description?: {
219
+ summary: string;
220
+ goals?: string[] | undefined;
221
+ constraints?: string[] | undefined;
222
+ targetUsers?: string | undefined;
223
+ } | undefined;
129
224
  version?: string | undefined;
130
225
  };
131
226
  repos?: {
132
227
  alias: string;
133
- url: string;
134
- owner: string;
135
228
  name: string;
229
+ url?: string | undefined;
230
+ owner?: string | undefined;
136
231
  branch?: string | undefined;
137
232
  type?: "github" | undefined;
138
233
  status?: "active" | "planned" | "archived" | undefined;
139
234
  addedAt?: string | undefined;
140
235
  frameworkInjected?: boolean | undefined;
236
+ description?: string | undefined;
141
237
  }[] | undefined;
142
238
  }>;
143
239
  /**
@@ -146,6 +242,22 @@ export declare const ConfigSchema: z.ZodObject<{
146
242
  export type Repo = z.infer<typeof RepoSchema>;
147
243
  export type Project = z.infer<typeof ProjectSchema>;
148
244
  export type Config = z.infer<typeof ConfigSchema>;
245
+ export type ProjectDescription = z.infer<typeof ProjectDescriptionSchema>;
246
+ /**
247
+ * Active repo type - a repo that has been created on GitHub
248
+ * (has non-empty url and owner)
249
+ */
250
+ export type ActiveRepo = Repo & {
251
+ status: 'active';
252
+ };
253
+ /**
254
+ * Type guard to check if a repo is active (has non-empty url/owner)
255
+ */
256
+ export declare function isActiveRepo(repo: Repo): repo is ActiveRepo;
257
+ /**
258
+ * Filter to get only active repos from config
259
+ */
260
+ export declare function getActiveRepos(config: Config): ActiveRepo[];
149
261
  /**
150
262
  * Validate project name for directory creation
151
263
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAKxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIxD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc/D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG;IAC9B,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,UAAU,CAE3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAE3D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIxD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc/D"}
@@ -1,17 +1,28 @@
1
1
  import { z } from 'zod';
2
2
  /**
3
3
  * Repository configuration schema
4
+ * Note: For 'planned' status repos, url and owner may be empty strings
4
5
  */
5
6
  export const RepoSchema = z.object({
6
7
  alias: z.string().min(1, 'Alias is required'),
7
- url: z.string().min(1, 'URL is required'),
8
- owner: z.string().min(1, 'Owner is required'),
8
+ url: z.string().default(''),
9
+ owner: z.string().default(''),
9
10
  name: z.string().min(1, 'Repository name is required'),
10
11
  branch: z.string().default('main'),
11
12
  type: z.enum(['github']).default('github'),
12
13
  status: z.enum(['active', 'planned', 'archived']).default('active'),
13
14
  addedAt: z.string().datetime().optional(),
14
15
  frameworkInjected: z.boolean().default(false),
16
+ description: z.string().optional(),
17
+ });
18
+ /**
19
+ * Project description schema (for new projects)
20
+ */
21
+ export const ProjectDescriptionSchema = z.object({
22
+ summary: z.string().min(1, 'Summary is required'),
23
+ goals: z.array(z.string()).optional(),
24
+ constraints: z.array(z.string()).optional(),
25
+ targetUsers: z.string().optional(),
15
26
  });
16
27
  /**
17
28
  * Project configuration schema
@@ -21,6 +32,7 @@ export const ProjectSchema = z.object({
21
32
  version: z.string().optional(),
22
33
  created: z.string().datetime(),
23
34
  type: z.enum(['existing', 'new']).optional(),
35
+ description: ProjectDescriptionSchema.optional(),
24
36
  });
25
37
  /**
26
38
  * Main configuration schema
@@ -29,6 +41,18 @@ export const ConfigSchema = z.object({
29
41
  project: ProjectSchema,
30
42
  repos: z.array(RepoSchema).default([]),
31
43
  });
44
+ /**
45
+ * Type guard to check if a repo is active (has non-empty url/owner)
46
+ */
47
+ export function isActiveRepo(repo) {
48
+ return repo.status === 'active' && repo.url !== '' && repo.owner !== '';
49
+ }
50
+ /**
51
+ * Filter to get only active repos from config
52
+ */
53
+ export function getActiveRepos(config) {
54
+ return config.repos.filter(isActiveRepo);
55
+ }
32
56
  /**
33
57
  * Validate project name for directory creation
34
58
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAC7C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,0BAA0B,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACvC,CAAC,CAAC;AASH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,2CAA2C;IAC3C,MAAM,YAAY,GAAG,6BAA6B,CAAC;IACnD,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,0BAA0B,CAAC;IACpC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtB,OAAO,6CAA6C,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,iDAAiD,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,0EAA0E,CAAC;IACpF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,286 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Tech stack configuration for a repository
4
+ */
5
+ export declare const TechStackSchema: z.ZodObject<{
6
+ language: z.ZodString;
7
+ runtime: z.ZodOptional<z.ZodString>;
8
+ framework: z.ZodOptional<z.ZodString>;
9
+ database: z.ZodOptional<z.ZodString>;
10
+ extras: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ language: string;
13
+ runtime?: string | undefined;
14
+ framework?: string | undefined;
15
+ database?: string | undefined;
16
+ extras?: string[] | undefined;
17
+ }, {
18
+ language: string;
19
+ runtime?: string | undefined;
20
+ framework?: string | undefined;
21
+ database?: string | undefined;
22
+ extras?: string[] | undefined;
23
+ }>;
24
+ /**
25
+ * Repository structure type
26
+ */
27
+ export declare const RepoStructureSchema: z.ZodObject<{
28
+ type: z.ZodEnum<["frontend", "backend", "fullstack", "library", "monorepo", "cli", "service"]>;
29
+ features: z.ZodArray<z.ZodString, "many">;
30
+ }, "strip", z.ZodTypeAny, {
31
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
32
+ features: string[];
33
+ }, {
34
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
35
+ features: string[];
36
+ }>;
37
+ /**
38
+ * Planned repository configuration (stored in repos/{alias}/repo-config.toml)
39
+ */
40
+ export declare const PlannedRepoSchema: z.ZodObject<{
41
+ alias: z.ZodString;
42
+ name: z.ZodString;
43
+ description: z.ZodString;
44
+ visibility: z.ZodDefault<z.ZodEnum<["public", "private"]>>;
45
+ techStack: z.ZodObject<{
46
+ language: z.ZodString;
47
+ runtime: z.ZodOptional<z.ZodString>;
48
+ framework: z.ZodOptional<z.ZodString>;
49
+ database: z.ZodOptional<z.ZodString>;
50
+ extras: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ language: string;
53
+ runtime?: string | undefined;
54
+ framework?: string | undefined;
55
+ database?: string | undefined;
56
+ extras?: string[] | undefined;
57
+ }, {
58
+ language: string;
59
+ runtime?: string | undefined;
60
+ framework?: string | undefined;
61
+ database?: string | undefined;
62
+ extras?: string[] | undefined;
63
+ }>;
64
+ structure: z.ZodObject<{
65
+ type: z.ZodEnum<["frontend", "backend", "fullstack", "library", "monorepo", "cli", "service"]>;
66
+ features: z.ZodArray<z.ZodString, "many">;
67
+ }, "strip", z.ZodTypeAny, {
68
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
69
+ features: string[];
70
+ }, {
71
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
72
+ features: string[];
73
+ }>;
74
+ createdAt: z.ZodOptional<z.ZodString>;
75
+ url: z.ZodOptional<z.ZodString>;
76
+ }, "strip", z.ZodTypeAny, {
77
+ alias: string;
78
+ name: string;
79
+ description: string;
80
+ visibility: "public" | "private";
81
+ techStack: {
82
+ language: string;
83
+ runtime?: string | undefined;
84
+ framework?: string | undefined;
85
+ database?: string | undefined;
86
+ extras?: string[] | undefined;
87
+ };
88
+ structure: {
89
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
90
+ features: string[];
91
+ };
92
+ url?: string | undefined;
93
+ createdAt?: string | undefined;
94
+ }, {
95
+ alias: string;
96
+ name: string;
97
+ description: string;
98
+ techStack: {
99
+ language: string;
100
+ runtime?: string | undefined;
101
+ framework?: string | undefined;
102
+ database?: string | undefined;
103
+ extras?: string[] | undefined;
104
+ };
105
+ structure: {
106
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
107
+ features: string[];
108
+ };
109
+ url?: string | undefined;
110
+ visibility?: "public" | "private" | undefined;
111
+ createdAt?: string | undefined;
112
+ }>;
113
+ /**
114
+ * Claude's recommendation for project structure
115
+ */
116
+ export declare const ProjectRecommendationSchema: z.ZodObject<{
117
+ description: z.ZodString;
118
+ repos: z.ZodArray<z.ZodObject<{
119
+ alias: z.ZodString;
120
+ name: z.ZodString;
121
+ description: z.ZodString;
122
+ visibility: z.ZodDefault<z.ZodEnum<["public", "private"]>>;
123
+ techStack: z.ZodObject<{
124
+ language: z.ZodString;
125
+ runtime: z.ZodOptional<z.ZodString>;
126
+ framework: z.ZodOptional<z.ZodString>;
127
+ database: z.ZodOptional<z.ZodString>;
128
+ extras: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
129
+ }, "strip", z.ZodTypeAny, {
130
+ language: string;
131
+ runtime?: string | undefined;
132
+ framework?: string | undefined;
133
+ database?: string | undefined;
134
+ extras?: string[] | undefined;
135
+ }, {
136
+ language: string;
137
+ runtime?: string | undefined;
138
+ framework?: string | undefined;
139
+ database?: string | undefined;
140
+ extras?: string[] | undefined;
141
+ }>;
142
+ structure: z.ZodObject<{
143
+ type: z.ZodEnum<["frontend", "backend", "fullstack", "library", "monorepo", "cli", "service"]>;
144
+ features: z.ZodArray<z.ZodString, "many">;
145
+ }, "strip", z.ZodTypeAny, {
146
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
147
+ features: string[];
148
+ }, {
149
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
150
+ features: string[];
151
+ }>;
152
+ createdAt: z.ZodOptional<z.ZodString>;
153
+ url: z.ZodOptional<z.ZodString>;
154
+ }, "strip", z.ZodTypeAny, {
155
+ alias: string;
156
+ name: string;
157
+ description: string;
158
+ visibility: "public" | "private";
159
+ techStack: {
160
+ language: string;
161
+ runtime?: string | undefined;
162
+ framework?: string | undefined;
163
+ database?: string | undefined;
164
+ extras?: string[] | undefined;
165
+ };
166
+ structure: {
167
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
168
+ features: string[];
169
+ };
170
+ url?: string | undefined;
171
+ createdAt?: string | undefined;
172
+ }, {
173
+ alias: string;
174
+ name: string;
175
+ description: string;
176
+ techStack: {
177
+ language: string;
178
+ runtime?: string | undefined;
179
+ framework?: string | undefined;
180
+ database?: string | undefined;
181
+ extras?: string[] | undefined;
182
+ };
183
+ structure: {
184
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
185
+ features: string[];
186
+ };
187
+ url?: string | undefined;
188
+ visibility?: "public" | "private" | undefined;
189
+ createdAt?: string | undefined;
190
+ }>, "many">;
191
+ rationale: z.ZodString;
192
+ }, "strip", z.ZodTypeAny, {
193
+ description: string;
194
+ repos: {
195
+ alias: string;
196
+ name: string;
197
+ description: string;
198
+ visibility: "public" | "private";
199
+ techStack: {
200
+ language: string;
201
+ runtime?: string | undefined;
202
+ framework?: string | undefined;
203
+ database?: string | undefined;
204
+ extras?: string[] | undefined;
205
+ };
206
+ structure: {
207
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
208
+ features: string[];
209
+ };
210
+ url?: string | undefined;
211
+ createdAt?: string | undefined;
212
+ }[];
213
+ rationale: string;
214
+ }, {
215
+ description: string;
216
+ repos: {
217
+ alias: string;
218
+ name: string;
219
+ description: string;
220
+ techStack: {
221
+ language: string;
222
+ runtime?: string | undefined;
223
+ framework?: string | undefined;
224
+ database?: string | undefined;
225
+ extras?: string[] | undefined;
226
+ };
227
+ structure: {
228
+ type: "frontend" | "backend" | "fullstack" | "library" | "monorepo" | "cli" | "service";
229
+ features: string[];
230
+ };
231
+ url?: string | undefined;
232
+ visibility?: "public" | "private" | undefined;
233
+ createdAt?: string | undefined;
234
+ }[];
235
+ rationale: string;
236
+ }>;
237
+ /**
238
+ * Project description captured from user
239
+ */
240
+ export declare const ProjectDescriptionSchema: z.ZodObject<{
241
+ summary: z.ZodString;
242
+ goals: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
243
+ constraints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
244
+ targetUsers: z.ZodOptional<z.ZodString>;
245
+ }, "strip", z.ZodTypeAny, {
246
+ summary: string;
247
+ goals?: string[] | undefined;
248
+ constraints?: string[] | undefined;
249
+ targetUsers?: string | undefined;
250
+ }, {
251
+ summary: string;
252
+ goals?: string[] | undefined;
253
+ constraints?: string[] | undefined;
254
+ targetUsers?: string | undefined;
255
+ }>;
256
+ /**
257
+ * Inferred types from Zod schemas
258
+ */
259
+ export type TechStack = z.infer<typeof TechStackSchema>;
260
+ export type RepoStructure = z.infer<typeof RepoStructureSchema>;
261
+ export type PlannedRepo = z.infer<typeof PlannedRepoSchema>;
262
+ export type ProjectRecommendation = z.infer<typeof ProjectRecommendationSchema>;
263
+ export type ProjectDescription = z.infer<typeof ProjectDescriptionSchema>;
264
+ /**
265
+ * User choice for recommendation handling
266
+ */
267
+ export type RecommendationChoice = 'confirm' | 'modify' | 'restart';
268
+ /**
269
+ * Repo creation options
270
+ */
271
+ export interface RepoCreationOptions {
272
+ visibility?: 'public' | 'private';
273
+ org?: string;
274
+ template?: string;
275
+ initializeWithStack?: boolean;
276
+ }
277
+ /**
278
+ * Result of repo creation
279
+ */
280
+ export interface RepoCreationResult {
281
+ success: boolean;
282
+ alias: string;
283
+ url?: string;
284
+ error?: string;
285
+ }
286
+ //# sourceMappingURL=planning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../../src/types/planning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAItC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,49 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Tech stack configuration for a repository
4
+ */
5
+ export const TechStackSchema = z.object({
6
+ language: z.string().min(1, 'Language is required'),
7
+ runtime: z.string().optional(),
8
+ framework: z.string().optional(),
9
+ database: z.string().optional(),
10
+ extras: z.array(z.string()).optional(),
11
+ });
12
+ /**
13
+ * Repository structure type
14
+ */
15
+ export const RepoStructureSchema = z.object({
16
+ type: z.enum(['frontend', 'backend', 'fullstack', 'library', 'monorepo', 'cli', 'service']),
17
+ features: z.array(z.string()),
18
+ });
19
+ /**
20
+ * Planned repository configuration (stored in repos/{alias}/repo-config.toml)
21
+ */
22
+ export const PlannedRepoSchema = z.object({
23
+ alias: z.string().min(1, 'Alias is required'),
24
+ name: z.string().min(1, 'Repository name is required'),
25
+ description: z.string().min(1, 'Description is required'),
26
+ visibility: z.enum(['public', 'private']).default('private'),
27
+ techStack: TechStackSchema,
28
+ structure: RepoStructureSchema,
29
+ createdAt: z.string().datetime().optional(),
30
+ url: z.string().optional(),
31
+ });
32
+ /**
33
+ * Claude's recommendation for project structure
34
+ */
35
+ export const ProjectRecommendationSchema = z.object({
36
+ description: z.string(),
37
+ repos: z.array(PlannedRepoSchema),
38
+ rationale: z.string(),
39
+ });
40
+ /**
41
+ * Project description captured from user
42
+ */
43
+ export const ProjectDescriptionSchema = z.object({
44
+ summary: z.string().min(1, 'Summary is required'),
45
+ goals: z.array(z.string()).optional(),
46
+ constraints: z.array(z.string()).optional(),
47
+ targetUsers: z.string().optional(),
48
+ });
49
+ //# sourceMappingURL=planning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning.js","sourceRoot":"","sources":["../../src/types/planning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3F,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC;IACzD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5D,SAAS,EAAE,eAAe;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,qBAAqB,CAAC;IACjD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC"}