@lousy-agents/cli 1.1.0 → 2.0.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 (32) hide show
  1. package/README.md +11 -12
  2. package/api/copilot-with-fastify/.devcontainer/devcontainer.json +90 -0
  3. package/api/copilot-with-fastify/.editorconfig +16 -0
  4. package/api/copilot-with-fastify/.github/ISSUE_TEMPLATE/feature-to-spec.yml +55 -0
  5. package/api/copilot-with-fastify/.github/copilot-instructions.md +387 -0
  6. package/api/copilot-with-fastify/.github/instructions/pipeline.instructions.md +149 -0
  7. package/api/copilot-with-fastify/.github/instructions/software-architecture.instructions.md +430 -0
  8. package/api/copilot-with-fastify/.github/instructions/spec.instructions.md +411 -0
  9. package/api/copilot-with-fastify/.github/instructions/test.instructions.md +268 -0
  10. package/api/copilot-with-fastify/.github/specs/README.md +84 -0
  11. package/api/copilot-with-fastify/.github/workflows/assign-copilot.yml +59 -0
  12. package/api/copilot-with-fastify/.github/workflows/ci.yml +88 -0
  13. package/api/copilot-with-fastify/.nvmrc +1 -0
  14. package/api/copilot-with-fastify/.vscode/extensions.json +14 -0
  15. package/api/copilot-with-fastify/.vscode/launch.json +30 -0
  16. package/api/copilot-with-fastify/.vscode/mcp.json +19 -0
  17. package/api/copilot-with-fastify/.yamllint +18 -0
  18. package/api/copilot-with-fastify/biome.json +31 -0
  19. package/api/copilot-with-fastify/package.json +37 -0
  20. package/api/copilot-with-fastify/tsconfig.json +34 -0
  21. package/api/copilot-with-fastify/vitest.config.ts +21 -0
  22. package/api/copilot-with-fastify/vitest.integration.config.ts +18 -0
  23. package/api/copilot-with-fastify/vitest.setup.ts +5 -0
  24. package/dist/commands/init.d.ts +2 -1
  25. package/dist/commands/init.d.ts.map +1 -1
  26. package/dist/commands/init.js +39 -45
  27. package/dist/commands/init.js.map +1 -1
  28. package/dist/lib/config.d.ts +6 -5
  29. package/dist/lib/config.d.ts.map +1 -1
  30. package/dist/lib/config.js +186 -6
  31. package/dist/lib/config.js.map +1 -1
  32. package/package.json +4 -3
@@ -7,10 +7,10 @@ export interface LousyAgentsConfig {
7
7
  * Filesystem structures for different project types
8
8
  */
9
9
  structures?: {
10
- CLI?: FilesystemStructure;
10
+ cli?: FilesystemStructure;
11
11
  webapp?: FilesystemStructure;
12
- "REST API"?: FilesystemStructure;
13
- "GraphQL API"?: FilesystemStructure;
12
+ api?: FilesystemStructure;
13
+ graphql?: FilesystemStructure;
14
14
  };
15
15
  }
16
16
  /**
@@ -21,7 +21,8 @@ export interface LousyAgentsConfig {
21
21
  export declare function loadInitConfig(): Promise<LousyAgentsConfig>;
22
22
  /**
23
23
  * Gets the filesystem structure for a specific project type
24
- * Lazy-loads webapp structure only when requested
24
+ * Lazy-loads webapp and REST API structures only when requested
25
+ * @throws Error if the project type structure is not defined
25
26
  */
26
- export declare function getProjectStructure(projectType: "CLI" | "webapp" | "REST API" | "GraphQL API"): Promise<FilesystemStructure | undefined>;
27
+ export declare function getProjectStructure(projectType: "cli" | "webapp" | "api" | "graphql"): Promise<FilesystemStructure>;
27
28
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAOrE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,UAAU,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,mBAAmB,CAAC;QAC1B,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,UAAU,CAAC,EAAE,mBAAmB,CAAC;QACjC,aAAa,CAAC,EAAE,mBAAmB,CAAC;KACvC,CAAC;CACL;AA2MD;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAiBjE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACrC,WAAW,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,GAC3D,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAS1C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAQrE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,UAAU,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,mBAAmB,CAAC;QAC1B,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,GAAG,CAAC,EAAE,mBAAmB,CAAC;QAC1B,OAAO,CAAC,EAAE,mBAAmB,CAAC;KACjC,CAAC;CACL;AA8YD;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAiBjE;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACrC,WAAW,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAClD,OAAO,CAAC,mBAAmB,CAAC,CAsB9B"}
@@ -7,6 +7,7 @@ const __filename = fileURLToPath(import.meta.url);
7
7
  const __dirname = dirname(__filename);
8
8
  const PROJECT_ROOT = join(__dirname, "..", "..");
9
9
  const WEBAPP_TEMPLATE_DIR = join(PROJECT_ROOT, "ui", "copilot-with-react");
10
+ const RESTAPI_TEMPLATE_DIR = join(PROJECT_ROOT, "api", "copilot-with-fastify");
10
11
  /**
11
12
  * Default CLI project filesystem structure
12
13
  */
@@ -27,9 +28,9 @@ const DEFAULT_CLI_STRUCTURE = {
27
28
  * Helper function to read template file content
28
29
  * @throws Error if template file cannot be read
29
30
  */
30
- function readTemplateFile(relativePath) {
31
+ function readTemplateFile(relativePath, templateDir = WEBAPP_TEMPLATE_DIR) {
31
32
  try {
32
- return readFileSync(join(WEBAPP_TEMPLATE_DIR, relativePath), "utf-8");
33
+ return readFileSync(join(templateDir, relativePath), "utf-8");
33
34
  }
34
35
  catch (error) {
35
36
  const message = error instanceof Error ? error.message : String(error);
@@ -191,6 +192,175 @@ function buildWebappStructure() {
191
192
  };
192
193
  return cachedWebappStructure;
193
194
  }
195
+ /**
196
+ * Cached REST API structure - lazy-loaded on first access
197
+ */
198
+ let cachedRestApiStructure = null;
199
+ /**
200
+ * Helper function to read REST API template files
201
+ */
202
+ function readRestApiTemplateFile(relativePath) {
203
+ return readTemplateFile(relativePath, RESTAPI_TEMPLATE_DIR);
204
+ }
205
+ /**
206
+ * Builds the REST API project filesystem structure by reading template files
207
+ * This is called lazily only when REST API scaffolding is needed
208
+ */
209
+ function buildRestApiStructure() {
210
+ if (cachedRestApiStructure) {
211
+ return cachedRestApiStructure;
212
+ }
213
+ cachedRestApiStructure = {
214
+ nodes: [
215
+ // Root configuration files
216
+ {
217
+ type: "file",
218
+ path: "package.json",
219
+ content: readRestApiTemplateFile("package.json"),
220
+ },
221
+ {
222
+ type: "file",
223
+ path: "tsconfig.json",
224
+ content: readRestApiTemplateFile("tsconfig.json"),
225
+ },
226
+ {
227
+ type: "file",
228
+ path: "vitest.config.ts",
229
+ content: readRestApiTemplateFile("vitest.config.ts"),
230
+ },
231
+ {
232
+ type: "file",
233
+ path: "vitest.integration.config.ts",
234
+ content: readRestApiTemplateFile("vitest.integration.config.ts"),
235
+ },
236
+ {
237
+ type: "file",
238
+ path: "vitest.setup.ts",
239
+ content: readRestApiTemplateFile("vitest.setup.ts"),
240
+ },
241
+ {
242
+ type: "file",
243
+ path: "biome.json",
244
+ content: readRestApiTemplateFile("biome.json"),
245
+ },
246
+ {
247
+ type: "file",
248
+ path: ".editorconfig",
249
+ content: readRestApiTemplateFile(".editorconfig"),
250
+ },
251
+ {
252
+ type: "file",
253
+ path: ".nvmrc",
254
+ content: readRestApiTemplateFile(".nvmrc"),
255
+ },
256
+ {
257
+ type: "file",
258
+ path: ".yamllint",
259
+ content: readRestApiTemplateFile(".yamllint"),
260
+ },
261
+ // GitHub copilot instructions
262
+ {
263
+ type: "directory",
264
+ path: ".github",
265
+ },
266
+ {
267
+ type: "directory",
268
+ path: ".github/instructions",
269
+ },
270
+ {
271
+ type: "file",
272
+ path: ".github/copilot-instructions.md",
273
+ content: readRestApiTemplateFile(".github/copilot-instructions.md"),
274
+ },
275
+ {
276
+ type: "file",
277
+ path: ".github/instructions/test.instructions.md",
278
+ content: readRestApiTemplateFile(".github/instructions/test.instructions.md"),
279
+ },
280
+ {
281
+ type: "file",
282
+ path: ".github/instructions/spec.instructions.md",
283
+ content: readRestApiTemplateFile(".github/instructions/spec.instructions.md"),
284
+ },
285
+ {
286
+ type: "file",
287
+ path: ".github/instructions/pipeline.instructions.md",
288
+ content: readRestApiTemplateFile(".github/instructions/pipeline.instructions.md"),
289
+ },
290
+ {
291
+ type: "file",
292
+ path: ".github/instructions/software-architecture.instructions.md",
293
+ content: readRestApiTemplateFile(".github/instructions/software-architecture.instructions.md"),
294
+ },
295
+ // GitHub Issue Templates
296
+ {
297
+ type: "directory",
298
+ path: ".github/ISSUE_TEMPLATE",
299
+ },
300
+ {
301
+ type: "file",
302
+ path: ".github/ISSUE_TEMPLATE/feature-to-spec.yml",
303
+ content: readRestApiTemplateFile(".github/ISSUE_TEMPLATE/feature-to-spec.yml"),
304
+ },
305
+ // GitHub Workflows
306
+ {
307
+ type: "directory",
308
+ path: ".github/workflows",
309
+ },
310
+ {
311
+ type: "file",
312
+ path: ".github/workflows/assign-copilot.yml",
313
+ content: readRestApiTemplateFile(".github/workflows/assign-copilot.yml"),
314
+ },
315
+ {
316
+ type: "file",
317
+ path: ".github/workflows/ci.yml",
318
+ content: readRestApiTemplateFile(".github/workflows/ci.yml"),
319
+ },
320
+ // Specs directory
321
+ {
322
+ type: "directory",
323
+ path: ".github/specs",
324
+ },
325
+ {
326
+ type: "file",
327
+ path: ".github/specs/README.md",
328
+ content: readRestApiTemplateFile(".github/specs/README.md"),
329
+ },
330
+ // VSCode configuration
331
+ {
332
+ type: "directory",
333
+ path: ".vscode",
334
+ },
335
+ {
336
+ type: "file",
337
+ path: ".vscode/extensions.json",
338
+ content: readRestApiTemplateFile(".vscode/extensions.json"),
339
+ },
340
+ {
341
+ type: "file",
342
+ path: ".vscode/launch.json",
343
+ content: readRestApiTemplateFile(".vscode/launch.json"),
344
+ },
345
+ {
346
+ type: "file",
347
+ path: ".vscode/mcp.json",
348
+ content: readRestApiTemplateFile(".vscode/mcp.json"),
349
+ },
350
+ // Devcontainer configuration
351
+ {
352
+ type: "directory",
353
+ path: ".devcontainer",
354
+ },
355
+ {
356
+ type: "file",
357
+ path: ".devcontainer/devcontainer.json",
358
+ content: readRestApiTemplateFile(".devcontainer/devcontainer.json"),
359
+ },
360
+ ],
361
+ };
362
+ return cachedRestApiStructure;
363
+ }
194
364
  /**
195
365
  * Loads the configuration for the init command
196
366
  * Falls back to defaults if no configuration is found
@@ -201,19 +371,20 @@ export async function loadInitConfig() {
201
371
  name: "lousy-agents",
202
372
  defaults: {
203
373
  structures: {
204
- CLI: DEFAULT_CLI_STRUCTURE,
374
+ cli: DEFAULT_CLI_STRUCTURE,
205
375
  },
206
376
  },
207
377
  });
208
378
  return (config || {
209
379
  structures: {
210
- CLI: DEFAULT_CLI_STRUCTURE,
380
+ cli: DEFAULT_CLI_STRUCTURE,
211
381
  },
212
382
  });
213
383
  }
214
384
  /**
215
385
  * Gets the filesystem structure for a specific project type
216
- * Lazy-loads webapp structure only when requested
386
+ * Lazy-loads webapp and REST API structures only when requested
387
+ * @throws Error if the project type structure is not defined
217
388
  */
218
389
  export async function getProjectStructure(projectType) {
219
390
  const config = await loadInitConfig();
@@ -221,6 +392,15 @@ export async function getProjectStructure(projectType) {
221
392
  if (projectType === "webapp") {
222
393
  return config.structures?.webapp || buildWebappStructure();
223
394
  }
224
- return config.structures?.[projectType];
395
+ // Lazy-load REST API structure only when requested
396
+ if (projectType === "api") {
397
+ return config.structures?.api || buildRestApiStructure();
398
+ }
399
+ // CLI has a default structure
400
+ if (projectType === "cli") {
401
+ return config.structures?.cli || DEFAULT_CLI_STRUCTURE;
402
+ }
403
+ // GraphQL is not yet implemented
404
+ throw new Error(`Project type "${projectType}" is not yet supported. Supported types: cli, webapp, api`);
225
405
  }
226
406
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lousy-agents/cli",
3
- "version": "1.1.0",
3
+ "version": "2.0.0",
4
4
  "description": "CLI scaffolding tool that sets up projects with structure, instructions, and feedback loops for AI coding assistants",
5
5
  "type": "module",
6
6
  "repository": {
@@ -28,7 +28,8 @@
28
28
  },
29
29
  "files": [
30
30
  "dist",
31
- "ui"
31
+ "ui",
32
+ "api"
32
33
  ],
33
34
  "bin": {
34
35
  "cli": "dist/index.js",
@@ -58,7 +59,7 @@
58
59
  "devDependencies": {
59
60
  "@biomejs/biome": "2.3.13",
60
61
  "@types/chance": "1.1.7",
61
- "@types/node": "24.10.4",
62
+ "@types/node": "25.1.0",
62
63
  "chance": "1.1.13",
63
64
  "tsx": "4.21.0",
64
65
  "typescript": "5.9.3",