@@ -7,3 +7,4 @@ import { inspectRepo } from "../../detect/repo-inspector.js"; | ||
| import { formatCommandOutput, formatTextBlock, parseCommaList } from "../../utils/format.js"; | ||
| const SUPPORTED_PROJECT_TYPES = ["dashboard", "web-app"]; | ||
| import { runInitFlow } from "../prompts/init-flow.js"; | ||
| const SUPPORTED_PROJECT_TYPES = ["dashboard", "web-app", "api-service"]; | ||
| function buildTargetFlags(targets) { | ||
@@ -35,7 +36,7 @@ const selectedTargets = parseCommaList(targets); | ||
| .description("Create a canonical ai-workspace manifest from repo inspection and defaults.") | ||
| .option("--yes", "accept recommended defaults") | ||
| .option("--yes", "accept recommended defaults (skip interactive prompts)") | ||
| .option("--dry-run", "preview without writing files") | ||
| .option("--json", "emit machine-readable output") | ||
| .option("--targets <list>", "comma-separated targets such as codex,claude,copilot,mcp") | ||
| .option("--project-type <type>", "project type: dashboard or web-app", "dashboard") | ||
| .option("--project-type <type>", "project type: dashboard, web-app, or api-service", "dashboard") | ||
| .option("--framework <value>", "override detected framework") | ||
@@ -47,24 +48,46 @@ .option("--setup-depth <value>", "recommended, semi-custom, or advanced") | ||
| .action(async (options) => { | ||
| if (!SUPPORTED_PROJECT_TYPES.includes(options.projectType)) { | ||
| throw new Error("Supported project types are 'dashboard' and 'web-app'."); | ||
| } | ||
| validateTargets(options.targets); | ||
| const cwd = process.cwd(); | ||
| const inspection = await inspectRepo(cwd); | ||
| const manifest = buildRecommendedManifest({ | ||
| name: inspection.projectName, | ||
| framework: options.framework ?? inspection.framework ?? "react", | ||
| projectType: options.projectType, | ||
| ...compactObject({ | ||
| targets: buildTargetFlags(options.targets), | ||
| setup: compactObject({ | ||
| depth: options.setupDepth, | ||
| mode: options.setupMode, | ||
| scope: options.configScope, | ||
| let manifest; | ||
| if (options.yes) { | ||
| // Non-interactive: use CLI flags + defaults | ||
| if (!SUPPORTED_PROJECT_TYPES.includes(options.projectType)) { | ||
| throw new Error("Supported project types are 'dashboard', 'web-app', and 'api-service'."); | ||
| } | ||
| validateTargets(options.targets); | ||
| manifest = buildRecommendedManifest({ | ||
| name: inspection.projectName, | ||
| framework: options.framework ?? inspection.framework ?? "react", | ||
| projectType: options.projectType, | ||
| ...compactObject({ | ||
| targets: buildTargetFlags(options.targets), | ||
| setup: compactObject({ | ||
| depth: options.setupDepth, | ||
| mode: options.setupMode, | ||
| scope: options.configScope, | ||
| }), | ||
| generated: compactObject({ | ||
| prompts: options.prompts, | ||
| }), | ||
| }), | ||
| generated: compactObject({ | ||
| prompts: options.prompts, | ||
| }), | ||
| }), | ||
| }); | ||
| }); | ||
| } | ||
| else { | ||
| // Interactive: run prompt flow | ||
| const answers = await runInitFlow(options.framework ?? inspection.framework); | ||
| manifest = buildRecommendedManifest({ | ||
| name: inspection.projectName, | ||
| framework: answers.framework, | ||
| projectType: answers.projectType, | ||
| targets: answers.targets, | ||
| setup: { | ||
| depth: answers.setupDepth, | ||
| mode: answers.output.mode, | ||
| scope: answers.output.scope, | ||
| }, | ||
| generated: { | ||
| prompts: answers.output.prompts, | ||
| }, | ||
| }); | ||
| } | ||
| const plan = buildGenerationPlan(manifest); | ||
@@ -71,0 +94,0 @@ const manifestPath = options.dryRun ? "ai-workspace.json" : await saveManifest(cwd, manifest); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"} |
@@ -13,3 +13,3 @@ #!/usr/bin/env node | ||
| .description("Bootstrap a portable, reviewable AI workspace for web development repositories.") | ||
| .version("0.1.0"); | ||
| .version("1.0.0"); | ||
| registerInitCommand(program); | ||
@@ -16,0 +16,0 @@ registerGenerateCommand(program); |
@@ -1,5 +0,22 @@ | ||
| export declare const initFlowSessions: { | ||
| id: string; | ||
| title: string; | ||
| prompt: string; | ||
| }[]; | ||
| import type { UiAnswers } from "./sessions/ui.js"; | ||
| import type { DataAnswers } from "./sessions/data.js"; | ||
| import type { QualityAnswers } from "./sessions/quality.js"; | ||
| import type { OutputAnswers } from "./sessions/output.js"; | ||
| export type InitFlowAnswers = { | ||
| targets: { | ||
| copilot: boolean; | ||
| claude: boolean; | ||
| codex: boolean; | ||
| mcp: boolean; | ||
| }; | ||
| projectType: "dashboard" | "web-app" | "api-service"; | ||
| setupDepth: "recommended" | "semi-custom" | "advanced"; | ||
| framework: "react" | "nextjs" | "vite-react" | "express" | "fastify" | "hono"; | ||
| ui: UiAnswers | undefined; | ||
| data: DataAnswers | undefined; | ||
| authModel: "rbac" | "none" | "custom"; | ||
| quality: QualityAnswers; | ||
| mcpPresets: string[]; | ||
| output: OutputAnswers; | ||
| }; | ||
| export declare function runInitFlow(detectedFramework?: string): Promise<InitFlowAnswers>; |
@@ -1,23 +0,46 @@ | ||
| import { authSession } from "./sessions/auth.js"; | ||
| import { dataSession } from "./sessions/data.js"; | ||
| import { outputSession } from "./sessions/output.js"; | ||
| import { projectTypeSession } from "./sessions/project-type.js"; | ||
| import { qualitySession } from "./sessions/quality.js"; | ||
| import { setupDepthSession } from "./sessions/setup-depth.js"; | ||
| import { stackSession } from "./sessions/stack.js"; | ||
| import { toolsSession } from "./sessions/tools.js"; | ||
| import { toolingSession } from "./sessions/tooling.js"; | ||
| import { uiSession } from "./sessions/ui.js"; | ||
| export const initFlowSessions = [ | ||
| toolsSession, | ||
| projectTypeSession, | ||
| setupDepthSession, | ||
| stackSession, | ||
| uiSession, | ||
| dataSession, | ||
| authSession, | ||
| qualitySession, | ||
| toolingSession, | ||
| outputSession, | ||
| ]; | ||
| import { runAuthPrompt } from "./sessions/auth.js"; | ||
| import { runDataPrompt } from "./sessions/data.js"; | ||
| import { runOutputPrompt } from "./sessions/output.js"; | ||
| import { runProjectTypePrompt } from "./sessions/project-type.js"; | ||
| import { runQualityPrompt } from "./sessions/quality.js"; | ||
| import { runSetupDepthPrompt } from "./sessions/setup-depth.js"; | ||
| import { runStackPrompt } from "./sessions/stack.js"; | ||
| import { runToolsPrompt } from "./sessions/tools.js"; | ||
| import { runToolingPrompt } from "./sessions/tooling.js"; | ||
| import { runUiPrompt } from "./sessions/ui.js"; | ||
| export async function runInitFlow(detectedFramework) { | ||
| console.log("\n🔧 agenv init — interactive setup\n"); | ||
| const targets = await runToolsPrompt(); | ||
| const projectType = await runProjectTypePrompt(); | ||
| const setupDepth = await runSetupDepthPrompt(); | ||
| const isApi = projectType === "api-service"; | ||
| if (setupDepth === "recommended") { | ||
| return { | ||
| targets, | ||
| projectType, | ||
| setupDepth, | ||
| framework: isApi | ||
| ? "express" | ||
| : (detectedFramework ?? "react"), | ||
| ui: isApi ? undefined : { styling: "tailwind", components: "shadcn-ui", charts: "recharts", forms: "react-hook-form-zod", tables: "tanstack-table" }, | ||
| data: isApi ? undefined : { dataFetching: "tanstack-query", state: "local-first" }, | ||
| authModel: isApi ? "custom" : (projectType === "dashboard" ? "rbac" : "custom"), | ||
| quality: { testing: isApi ? ["vitest"] : ["vitest", "rtl"], accessibility: !isApi, responsive: !isApi }, | ||
| mcpPresets: [], | ||
| output: { mode: "full", scope: "mixed", prompts: "master" }, | ||
| }; | ||
| } | ||
| const framework = await runStackPrompt(detectedFramework, projectType); | ||
| // UI and data prompts only apply to frontend project types | ||
| const ui = isApi ? undefined : await runUiPrompt(); | ||
| const data = isApi ? undefined : await runDataPrompt(); | ||
| const authModel = await runAuthPrompt(); | ||
| const quality = await runQualityPrompt(); | ||
| const mcpPresets = targets.mcp ? await runToolingPrompt() : []; | ||
| let output = { mode: "full", scope: "mixed", prompts: "master" }; | ||
| if (setupDepth === "advanced") { | ||
| output = await runOutputPrompt(); | ||
| } | ||
| return { targets, projectType, setupDepth, framework, ui, data, authModel, quality, mcpPresets, output }; | ||
| } | ||
| //# sourceMappingURL=init-flow.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"init-flow.js","sourceRoot":"","sources":["../../../src/cli/prompts/init-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,YAAY;IACZ,SAAS;IACT,WAAW;IACX,WAAW;IACX,cAAc;IACd,cAAc;IACd,aAAa;CACd,CAAC"} | ||
| {"version":3,"file":"init-flow.js","sourceRoot":"","sources":["../../../src/cli/prompts/init-flow.ts"],"names":[],"mappings":"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"} |
@@ -6,1 +6,2 @@ export declare const authSession: { | ||
| }; | ||
| export declare function runAuthPrompt(): Promise<"rbac" | "none" | "custom">; |
@@ -0,1 +1,2 @@ | ||
| import { select } from "@inquirer/prompts"; | ||
| export const authSession = { | ||
@@ -6,2 +7,12 @@ id: "auth", | ||
| }; | ||
| export async function runAuthPrompt() { | ||
| return select({ | ||
| message: "Auth / access-control model?", | ||
| choices: [ | ||
| { name: "Role-Based Access Control (RBAC)", value: "rbac" }, | ||
| { name: "None", value: "none" }, | ||
| { name: "Custom", value: "custom" }, | ||
| ], | ||
| }); | ||
| } | ||
| //# sourceMappingURL=auth.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/auth.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,kEAAkE;CAC3E,CAAC"} | ||
| {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,kEAAkE;CAC3E,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,MAAM,CAAC;QACZ,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,MAAe,EAAE;YACpE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAe,EAAE;YACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAiB,EAAE;SAC7C;KACF,CAAC,CAAC;AACL,CAAC"} |
@@ -6,1 +6,6 @@ export declare const dataSession: { | ||
| }; | ||
| export type DataAnswers = { | ||
| dataFetching: "tanstack-query" | "custom"; | ||
| state: "local-first" | "zustand"; | ||
| }; | ||
| export declare function runDataPrompt(): Promise<DataAnswers>; |
@@ -0,1 +1,2 @@ | ||
| import { select } from "@inquirer/prompts"; | ||
| export const dataSession = { | ||
@@ -6,2 +7,19 @@ id: "data", | ||
| }; | ||
| export async function runDataPrompt() { | ||
| const dataFetching = await select({ | ||
| message: "Data fetching strategy?", | ||
| choices: [ | ||
| { name: "TanStack Query", value: "tanstack-query" }, | ||
| { name: "Custom", value: "custom" }, | ||
| ], | ||
| }); | ||
| const state = await select({ | ||
| message: "State management approach?", | ||
| choices: [ | ||
| { name: "Local-first (React state + context)", value: "local-first" }, | ||
| { name: "Zustand", value: "zustand" }, | ||
| ], | ||
| }); | ||
| return { dataFetching, state }; | ||
| } | ||
| //# sourceMappingURL=data.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/data.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,kEAAkE;CAC3E,CAAC"} | ||
| {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,kEAAkE;CAC3E,CAAC;AAOF,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC;QAChC,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAyB,EAAE;YAC5D,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAiB,EAAE;SAC7C;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;QACzB,OAAO,EAAE,4BAA4B;QACrC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,qCAAqC,EAAE,KAAK,EAAE,aAAsB,EAAE;YAC9E,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAkB,EAAE;SAC/C;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC"} |
@@ -6,1 +6,7 @@ export declare const outputSession: { | ||
| }; | ||
| export type OutputAnswers = { | ||
| mode: "base" | "skills" | "agents" | "full"; | ||
| scope: "shared" | "local" | "mixed"; | ||
| prompts: "none" | "starter" | "master" | "pack"; | ||
| }; | ||
| export declare function runOutputPrompt(): Promise<OutputAnswers>; |
@@ -0,1 +1,2 @@ | ||
| import { select } from "@inquirer/prompts"; | ||
| export const outputSession = { | ||
@@ -6,2 +7,34 @@ id: "output", | ||
| }; | ||
| export async function runOutputPrompt() { | ||
| const mode = await select({ | ||
| message: "Setup mode — which files should be generated?", | ||
| choices: [ | ||
| { name: "Base — instructions only", value: "base" }, | ||
| { name: "Skills — instructions + skill files", value: "skills" }, | ||
| { name: "Agents — instructions + agent definitions", value: "agents" }, | ||
| { name: "Full — everything", value: "full" }, | ||
| ], | ||
| default: "full", | ||
| }); | ||
| const scope = await select({ | ||
| message: "Config scope — shared repo or local machine?", | ||
| choices: [ | ||
| { name: "Shared — committed to the repo", value: "shared" }, | ||
| { name: "Local — gitignored, per-developer", value: "local" }, | ||
| { name: "Mixed — shared base with local overrides", value: "mixed" }, | ||
| ], | ||
| default: "mixed", | ||
| }); | ||
| const prompts = await select({ | ||
| message: "Prompt generation level?", | ||
| choices: [ | ||
| { name: "None — no prompt files", value: "none" }, | ||
| { name: "Starter — basic prompts", value: "starter" }, | ||
| { name: "Master — comprehensive prompts", value: "master" }, | ||
| { name: "Pack — full prompt pack", value: "pack" }, | ||
| ], | ||
| default: "master", | ||
| }); | ||
| return { mode, scope, prompts }; | ||
| } | ||
| //# sourceMappingURL=output.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/output.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,2EAA2E;CACpF,CAAC"} | ||
| {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,2EAA2E;CACpF,CAAC;AAQF,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC;QACxB,OAAO,EAAE,+CAA+C;QACxD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAe,EAAE;YAC5D,EAAE,IAAI,EAAE,qCAAqC,EAAE,KAAK,EAAE,QAAiB,EAAE;YACzE,EAAE,IAAI,EAAE,2CAA2C,EAAE,KAAK,EAAE,QAAiB,EAAE;YAC/E,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAe,EAAE;SACtD;QACD,OAAO,EAAE,MAAe;KACzB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;QACzB,OAAO,EAAE,8CAA8C;QACvD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,QAAiB,EAAE;YACpE,EAAE,IAAI,EAAE,mCAAmC,EAAE,KAAK,EAAE,OAAgB,EAAE;YACtE,EAAE,IAAI,EAAE,0CAA0C,EAAE,KAAK,EAAE,OAAgB,EAAE;SAC9E;QACD,OAAO,EAAE,OAAgB;KAC1B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC;QAC3B,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,MAAe,EAAE;YAC1D,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,SAAkB,EAAE;YAC9D,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,QAAiB,EAAE;YACpE,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAe,EAAE;SAC5D;QACD,OAAO,EAAE,QAAiB;KAC3B,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC"} |
@@ -6,1 +6,2 @@ export declare const projectTypeSession: { | ||
| }; | ||
| export declare function runProjectTypePrompt(): Promise<"dashboard" | "web-app" | "api-service">; |
@@ -0,6 +1,17 @@ | ||
| import { select } from "@inquirer/prompts"; | ||
| export const projectTypeSession = { | ||
| id: "project-type", | ||
| title: "Project Type", | ||
| prompt: "Confirm the project type. Current support includes dashboard and web-app repositories.", | ||
| prompt: "Confirm the project type. Current support includes dashboard, web-app, and api-service repositories.", | ||
| }; | ||
| export async function runProjectTypePrompt() { | ||
| return select({ | ||
| message: "What type of project is this?", | ||
| choices: [ | ||
| { name: "Dashboard", value: "dashboard" }, | ||
| { name: "Web App", value: "web-app" }, | ||
| { name: "API Service", value: "api-service" }, | ||
| ], | ||
| }); | ||
| } | ||
| //# sourceMappingURL=project-type.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"project-type.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/project-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,cAAc;IAClB,KAAK,EAAE,cAAc;IACrB,MAAM,EAAE,wFAAwF;CACjG,CAAC"} | ||
| {"version":3,"file":"project-type.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/project-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,EAAE,cAAc;IAClB,KAAK,EAAE,cAAc;IACrB,MAAM,EAAE,sGAAsG;CAC/G,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,OAAO,MAAM,CAAC;QACZ,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAoB,EAAE;YAClD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAkB,EAAE;YAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAsB,EAAE;SACvD;KACF,CAAC,CAAC;AACL,CAAC"} |
@@ -6,1 +6,7 @@ export declare const qualitySession: { | ||
| }; | ||
| export type QualityAnswers = { | ||
| testing: ("vitest" | "rtl" | "playwright")[]; | ||
| accessibility: boolean; | ||
| responsive: boolean; | ||
| }; | ||
| export declare function runQualityPrompt(): Promise<QualityAnswers>; |
@@ -0,1 +1,2 @@ | ||
| import { checkbox, confirm } from "@inquirer/prompts"; | ||
| export const qualitySession = { | ||
@@ -6,2 +7,21 @@ id: "quality", | ||
| }; | ||
| export async function runQualityPrompt() { | ||
| const testing = await checkbox({ | ||
| message: "Which testing tools should be enforced?", | ||
| choices: [ | ||
| { name: "Vitest", value: "vitest", checked: true }, | ||
| { name: "React Testing Library", value: "rtl", checked: true }, | ||
| { name: "Playwright", value: "playwright", checked: false }, | ||
| ], | ||
| }); | ||
| const accessibility = await confirm({ | ||
| message: "Enforce accessibility rules?", | ||
| default: true, | ||
| }); | ||
| const responsive = await confirm({ | ||
| message: "Enforce responsive design rules?", | ||
| default: true, | ||
| }); | ||
| return { testing: testing.length > 0 ? testing : ["vitest"], accessibility, responsive }; | ||
| } | ||
| //# sourceMappingURL=quality.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"quality.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/quality.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,wEAAwE;CACjF,CAAC"} | ||
| {"version":3,"file":"quality.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/quality.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,wEAAwE;CACjF,CAAC;AAQF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC;QAC7B,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;YAC3D,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAc,EAAE,OAAO,EAAE,IAAI,EAAE;YACvE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAqB,EAAE,OAAO,EAAE,KAAK,EAAE;SACrE;KACF,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC;QAClC,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC;QAC/B,OAAO,EAAE,kCAAkC;QAC3C,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AAC3F,CAAC"} |
@@ -6,1 +6,2 @@ export declare const setupDepthSession: { | ||
| }; | ||
| export declare function runSetupDepthPrompt(): Promise<"recommended" | "semi-custom" | "advanced">; |
@@ -0,1 +1,2 @@ | ||
| import { select } from "@inquirer/prompts"; | ||
| export const setupDepthSession = { | ||
@@ -6,2 +7,12 @@ id: "setup-depth", | ||
| }; | ||
| export async function runSetupDepthPrompt() { | ||
| return select({ | ||
| message: "How much control do you want over the configuration?", | ||
| choices: [ | ||
| { name: "Recommended — sensible defaults, minimal input", value: "recommended" }, | ||
| { name: "Semi-custom — adjust key settings", value: "semi-custom" }, | ||
| { name: "Advanced — full control over every option", value: "advanced" }, | ||
| ], | ||
| }); | ||
| } | ||
| //# sourceMappingURL=setup-depth.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"setup-depth.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/setup-depth.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,aAAa;IACpB,MAAM,EAAE,2DAA2D;CACpE,CAAC"} | ||
| {"version":3,"file":"setup-depth.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/setup-depth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,aAAa;IACpB,MAAM,EAAE,2DAA2D;CACpE,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,OAAO,MAAM,CAAC;QACZ,OAAO,EAAE,sDAAsD;QAC/D,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,gDAAgD,EAAE,KAAK,EAAE,aAAsB,EAAE;YACzF,EAAE,IAAI,EAAE,mCAAmC,EAAE,KAAK,EAAE,aAAsB,EAAE;YAC5E,EAAE,IAAI,EAAE,2CAA2C,EAAE,KAAK,EAAE,UAAmB,EAAE;SAClF;KACF,CAAC,CAAC;AACL,CAAC"} |
@@ -6,1 +6,2 @@ export declare const stackSession: { | ||
| }; | ||
| export declare function runStackPrompt(detected?: string, projectType?: string): Promise<"react" | "nextjs" | "vite-react" | "express" | "fastify" | "hono">; |
@@ -0,1 +1,2 @@ | ||
| import { select } from "@inquirer/prompts"; | ||
| export const stackSession = { | ||
@@ -6,2 +7,26 @@ id: "stack", | ||
| }; | ||
| const FRONTEND_FRAMEWORKS = [ | ||
| { name: "React", value: "react" }, | ||
| { name: "Next.js", value: "nextjs" }, | ||
| { name: "Vite + React", value: "vite-react" }, | ||
| ]; | ||
| const BACKEND_FRAMEWORKS = [ | ||
| { name: "Express", value: "express" }, | ||
| { name: "Fastify", value: "fastify" }, | ||
| { name: "Hono", value: "hono" }, | ||
| ]; | ||
| export async function runStackPrompt(detected, projectType) { | ||
| const isApi = projectType === "api-service"; | ||
| const choices = isApi ? BACKEND_FRAMEWORKS : FRONTEND_FRAMEWORKS; | ||
| const defaultValue = isApi | ||
| ? "express" | ||
| : (detected ?? "react"); | ||
| return select({ | ||
| message: detected | ||
| ? `Detected framework: ${detected}. Confirm or change:` | ||
| : `Which framework does this project use?`, | ||
| choices, | ||
| default: defaultValue, | ||
| }); | ||
| } | ||
| //# sourceMappingURL=stack.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/stack.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,sEAAsE;CAC/E,CAAC"} | ||
| {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,sEAAsE;CAC/E,CAAC;AAEF,MAAM,mBAAmB,GAAG;IAC1B,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAgB,EAAE;IAC1C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAiB,EAAE;IAC7C,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAqB,EAAE;CACvD,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAkB,EAAE;IAC9C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAkB,EAAE;IAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAe,EAAE;CACzC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAiB,EACjB,WAAoB;IAEpB,MAAM,KAAK,GAAG,WAAW,KAAK,aAAa,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACjE,MAAM,YAAY,GAAG,KAAK;QACxB,CAAC,CAAE,SAAmB;QACtB,CAAC,CAAE,CAAC,QAAQ,IAAI,OAAO,CAAuC,CAAC;IAEjE,OAAO,MAAM,CAAC;QACZ,OAAO,EAAE,QAAQ;YACf,CAAC,CAAC,uBAAuB,QAAQ,sBAAsB;YACvD,CAAC,CAAC,wCAAwC;QAC5C,OAAO;QACP,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC;AACL,CAAC"} |
@@ -6,1 +6,2 @@ export declare const toolingSession: { | ||
| }; | ||
| export declare function runToolingPrompt(): Promise<string[]>; |
@@ -0,1 +1,2 @@ | ||
| import { checkbox } from "@inquirer/prompts"; | ||
| export const toolingSession = { | ||
@@ -6,2 +7,13 @@ id: "tooling", | ||
| }; | ||
| export async function runToolingPrompt() { | ||
| return checkbox({ | ||
| message: "Include any MCP presets?", | ||
| choices: [ | ||
| { name: "Filesystem", value: "filesystem" }, | ||
| { name: "GitHub", value: "github" }, | ||
| { name: "Postgres", value: "postgres" }, | ||
| { name: "None", value: "__none__" }, | ||
| ], | ||
| }).then((selected) => selected.filter((s) => s !== "__none__")); | ||
| } | ||
| //# sourceMappingURL=tooling.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"tooling.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/tooling.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,yEAAyE;CAClF,CAAC"} | ||
| {"version":3,"file":"tooling.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/tooling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,yEAAyE;CAClF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,QAAQ,CAAC;QACd,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;YAC3C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACnC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;YACvC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;SACpC;KACF,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;AAClE,CAAC"} |
@@ -6,1 +6,7 @@ export declare const toolsSession: { | ||
| }; | ||
| export declare function runToolsPrompt(): Promise<{ | ||
| copilot: boolean; | ||
| claude: boolean; | ||
| codex: boolean; | ||
| mcp: boolean; | ||
| }>; |
@@ -0,1 +1,2 @@ | ||
| import { checkbox } from "@inquirer/prompts"; | ||
| export const toolsSession = { | ||
@@ -6,2 +7,19 @@ id: "tools", | ||
| }; | ||
| export async function runToolsPrompt() { | ||
| const selected = await checkbox({ | ||
| message: "Which AI tools should be configured?", | ||
| choices: [ | ||
| { name: "GitHub Copilot", value: "copilot", checked: true }, | ||
| { name: "Claude Code", value: "claude", checked: true }, | ||
| { name: "OpenAI Codex", value: "codex", checked: true }, | ||
| { name: "MCP Servers", value: "mcp", checked: false }, | ||
| ], | ||
| }); | ||
| return { | ||
| copilot: selected.includes("copilot"), | ||
| claude: selected.includes("claude"), | ||
| codex: selected.includes("codex"), | ||
| mcp: selected.includes("mcp"), | ||
| }; | ||
| } | ||
| //# sourceMappingURL=tools.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/tools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,iEAAiE;CAC1E,CAAC"} | ||
| {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,iEAAiE;CAC1E,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,cAAc;IAMlC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;QAC9B,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAkB,EAAE,OAAO,EAAE,IAAI,EAAE;YACpE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;YAChE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAgB,EAAE,OAAO,EAAE,IAAI,EAAE;YAChE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAc,EAAE,OAAO,EAAE,KAAK,EAAE;SAC/D;KACF,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC9B,CAAC;AACJ,CAAC"} |
@@ -6,1 +6,9 @@ export declare const uiSession: { | ||
| }; | ||
| export type UiAnswers = { | ||
| styling: "tailwind" | "custom"; | ||
| components: "shadcn-ui" | "custom-design-system"; | ||
| charts: "recharts" | "echarts" | "nivo" | "custom"; | ||
| forms: "react-hook-form-zod" | "custom"; | ||
| tables: "tanstack-table" | "ag-grid" | "custom"; | ||
| }; | ||
| export declare function runUiPrompt(): Promise<UiAnswers>; |
@@ -0,1 +1,2 @@ | ||
| import { select } from "@inquirer/prompts"; | ||
| export const uiSession = { | ||
@@ -6,2 +7,43 @@ id: "ui", | ||
| }; | ||
| export async function runUiPrompt() { | ||
| const styling = await select({ | ||
| message: "CSS / styling approach?", | ||
| choices: [ | ||
| { name: "Tailwind CSS", value: "tailwind" }, | ||
| { name: "Custom", value: "custom" }, | ||
| ], | ||
| }); | ||
| const components = await select({ | ||
| message: "Component library?", | ||
| choices: [ | ||
| { name: "shadcn/ui", value: "shadcn-ui" }, | ||
| { name: "Custom design system", value: "custom-design-system" }, | ||
| ], | ||
| }); | ||
| const charts = await select({ | ||
| message: "Charts library?", | ||
| choices: [ | ||
| { name: "Recharts", value: "recharts" }, | ||
| { name: "ECharts", value: "echarts" }, | ||
| { name: "Nivo", value: "nivo" }, | ||
| { name: "Custom", value: "custom" }, | ||
| ], | ||
| }); | ||
| const forms = await select({ | ||
| message: "Forms library?", | ||
| choices: [ | ||
| { name: "React Hook Form + Zod", value: "react-hook-form-zod" }, | ||
| { name: "Custom", value: "custom" }, | ||
| ], | ||
| }); | ||
| const tables = await select({ | ||
| message: "Tables library?", | ||
| choices: [ | ||
| { name: "TanStack Table", value: "tanstack-table" }, | ||
| { name: "AG Grid", value: "ag-grid" }, | ||
| { name: "Custom", value: "custom" }, | ||
| ], | ||
| }); | ||
| return { styling, components, charts, forms, tables }; | ||
| } | ||
| //# sourceMappingURL=ui.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/ui.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,yDAAyD;CAClE,CAAC"} | ||
| {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../src/cli/prompts/sessions/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,yDAAyD;CAClE,CAAC;AAUF,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC;QAC3B,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,UAAmB,EAAE;YACpD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAiB,EAAE;SAC7C;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC;QAC9B,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAoB,EAAE;YAClD,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAA+B,EAAE;SACzE;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;QAC1B,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAmB,EAAE;YAChD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAkB,EAAE;YAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAe,EAAE;YACxC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAiB,EAAE;SAC7C;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;QACzB,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,qBAA8B,EAAE;YACxE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAiB,EAAE;SAC7C;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;QAC1B,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAyB,EAAE;YAC5D,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAkB,EAAE;YAC9C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAiB,EAAE;SAC7C;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACxD,CAAC"} |
@@ -11,2 +11,10 @@ import { manifestSchema, } from "./schema.js"; | ||
| } | ||
| if (projectType === "api-service") { | ||
| return [ | ||
| "Use TypeScript strict mode.", | ||
| "Validate all inputs at the boundary with Zod or equivalent.", | ||
| "Return consistent error shapes with proper HTTP status codes.", | ||
| "Prefer thin controllers that delegate to service functions.", | ||
| ]; | ||
| } | ||
| return [ | ||
@@ -20,2 +28,24 @@ "Use TypeScript strict mode.", | ||
| const projectType = options.projectType ?? "dashboard"; | ||
| const projectTypeBlocks = projectType === "api-service" | ||
| ? { | ||
| apiService: { | ||
| apiStyle: "rest", | ||
| validation: "zod", | ||
| orm: "prisma", | ||
| testing: ["vitest", "supertest"], | ||
| auth: "jwt", | ||
| }, | ||
| } | ||
| : { | ||
| dashboard: { | ||
| styling: "tailwind", | ||
| components: "shadcn-ui", | ||
| dataFetching: "tanstack-query", | ||
| tables: "tanstack-table", | ||
| charts: "recharts", | ||
| forms: "react-hook-form-zod", | ||
| testing: ["vitest", "rtl"], | ||
| state: "local-first", | ||
| }, | ||
| }; | ||
| return manifestSchema.parse({ | ||
@@ -42,15 +72,6 @@ schemaVersion: DEFAULT_SCHEMA_VERSION, | ||
| }, | ||
| dashboard: { | ||
| styling: "tailwind", | ||
| components: "shadcn-ui", | ||
| dataFetching: "tanstack-query", | ||
| tables: "tanstack-table", | ||
| charts: "recharts", | ||
| forms: "react-hook-form-zod", | ||
| testing: ["vitest", "rtl"], | ||
| state: "local-first", | ||
| }, | ||
| ...projectTypeBlocks, | ||
| conventions: { | ||
| accessibility: true, | ||
| responsive: true, | ||
| accessibility: projectType !== "api-service", | ||
| responsive: projectType !== "api-service", | ||
| authModel: projectType === "dashboard" ? "rbac" : "custom", | ||
@@ -60,6 +81,11 @@ }, | ||
| codingStyle: buildCodingStyle(projectType), | ||
| reviewRules: [ | ||
| "Prefer existing design-system components first.", | ||
| "Do not introduce new UI libraries without approval.", | ||
| ], | ||
| reviewRules: projectType === "api-service" | ||
| ? [ | ||
| "Validate all request inputs at the handler level.", | ||
| "Do not expose internal error details in API responses.", | ||
| ] | ||
| : [ | ||
| "Prefer existing design-system components first.", | ||
| "Do not introduce new UI libraries without approval.", | ||
| ], | ||
| }, | ||
@@ -66,0 +92,0 @@ generated: { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/manifest/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAIf,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAW1C,SAAS,gBAAgB,CAAC,WAAwB;IAChD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO;YACL,6BAA6B;YAC7B,8DAA8D;YAC9D,yEAAyE;SAC1E,CAAC;IACJ,CAAC;IAED,OAAO;QACL,6BAA6B;QAC7B,8DAA8D;QAC9D,4DAA4D;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAmC;IAEnC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC;IAEvD,OAAO,cAAc,CAAC,KAAK,CAAC;QAC1B,aAAa,EAAE,sBAAsB;QACrC,OAAO,EAAE;YACP,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,IAAI;SACf;QACD,KAAK,EAAE;YACL,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,GAAG,OAAO,CAAC,KAAK;SACjB;QACD,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,KAAK;YACV,GAAG,OAAO,CAAC,OAAO;SACnB;QACD,SAAS,EAAE;YACT,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,WAAW;YACvB,YAAY,EAAE,gBAAgB;YAC9B,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,qBAAqB;YAC5B,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;YAC1B,KAAK,EAAE,aAAa;SACrB;QACD,WAAW,EAAE;YACX,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SAC3D;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC;YAC1C,WAAW,EAAE;gBACX,iDAAiD;gBACjD,qDAAqD;aACtD;SACF;QACD,SAAS,EAAE;YACT,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,EAAE;YACd,GAAG,OAAO,CAAC,SAAS;SACrB;KACF,CAAC,CAAC;AACL,CAAC"} | ||
| {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/manifest/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAIf,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAW1C,SAAS,gBAAgB,CAAC,WAAwB;IAChD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO;YACL,6BAA6B;YAC7B,8DAA8D;YAC9D,yEAAyE;SAC1E,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;QAClC,OAAO;YACL,6BAA6B;YAC7B,6DAA6D;YAC7D,+DAA+D;YAC/D,6DAA6D;SAC9D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,6BAA6B;QAC7B,8DAA8D;QAC9D,4DAA4D;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAmC;IAEnC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC;IAEvD,MAAM,iBAAiB,GACrB,WAAW,KAAK,aAAa;QAC3B,CAAC,CAAC;YACE,UAAU,EAAE;gBACV,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,KAAK;gBACjB,GAAG,EAAE,QAAQ;gBACb,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;gBAChC,IAAI,EAAE,KAAK;aACZ;SACF;QACH,CAAC,CAAC;YACE,SAAS,EAAE;gBACT,OAAO,EAAE,UAAU;gBACnB,UAAU,EAAE,WAAW;gBACvB,YAAY,EAAE,gBAAgB;gBAC9B,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,qBAAqB;gBAC5B,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;gBAC1B,KAAK,EAAE,aAAa;aACrB;SACF,CAAC;IAER,OAAO,cAAc,CAAC,KAAK,CAAC;QAC1B,aAAa,EAAE,sBAAsB;QACrC,OAAO,EAAE;YACP,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,IAAI;SACf;QACD,KAAK,EAAE;YACL,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,OAAO;YACd,GAAG,OAAO,CAAC,KAAK;SACjB;QACD,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,KAAK;YACV,GAAG,OAAO,CAAC,OAAO;SACnB;QACD,GAAG,iBAAiB;QACpB,WAAW,EAAE;YACX,aAAa,EAAE,WAAW,KAAK,aAAa;YAC5C,UAAU,EAAE,WAAW,KAAK,aAAa;YACzC,SAAS,EAAE,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SAC3D;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC;YAC1C,WAAW,EACT,WAAW,KAAK,aAAa;gBAC3B,CAAC,CAAC;oBACE,mDAAmD;oBACnD,wDAAwD;iBACzD;gBACH,CAAC,CAAC;oBACE,iDAAiD;oBACjD,qDAAqD;iBACtD;SACR;QACD,SAAS,EAAE;YACT,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,EAAE;YACd,GAAG,OAAO,CAAC,SAAS;SACrB;KACF,CAAC,CAAC;AACL,CAAC"} |
@@ -6,2 +6,5 @@ import { z } from "zod"; | ||
| "vite-react": "vite-react"; | ||
| express: "express"; | ||
| fastify: "fastify"; | ||
| hono: "hono"; | ||
| }>; | ||
@@ -11,2 +14,3 @@ export declare const projectTypeSchema: z.ZodEnum<{ | ||
| "web-app": "web-app"; | ||
| "api-service": "api-service"; | ||
| }>; | ||
@@ -42,2 +46,3 @@ export declare const setupDepthSchema: z.ZodEnum<{ | ||
| "web-app": "web-app"; | ||
| "api-service": "api-service"; | ||
| }>; | ||
@@ -48,2 +53,5 @@ framework: z.ZodEnum<{ | ||
| "vite-react": "vite-react"; | ||
| express: "express"; | ||
| fastify: "fastify"; | ||
| hono: "hono"; | ||
| }>; | ||
@@ -76,3 +84,3 @@ language: z.ZodLiteral<"ts">; | ||
| }, z.core.$strict>; | ||
| dashboard: z.ZodObject<{ | ||
| dashboard: z.ZodOptional<z.ZodObject<{ | ||
| styling: z.ZodEnum<{ | ||
@@ -114,3 +122,31 @@ tailwind: "tailwind"; | ||
| }>; | ||
| }, z.core.$strict>; | ||
| }, z.core.$strict>>; | ||
| apiService: z.ZodOptional<z.ZodObject<{ | ||
| apiStyle: z.ZodEnum<{ | ||
| rest: "rest"; | ||
| graphql: "graphql"; | ||
| trpc: "trpc"; | ||
| }>; | ||
| validation: z.ZodEnum<{ | ||
| custom: "custom"; | ||
| zod: "zod"; | ||
| typebox: "typebox"; | ||
| }>; | ||
| orm: z.ZodEnum<{ | ||
| none: "none"; | ||
| prisma: "prisma"; | ||
| drizzle: "drizzle"; | ||
| }>; | ||
| testing: z.ZodArray<z.ZodEnum<{ | ||
| vitest: "vitest"; | ||
| playwright: "playwright"; | ||
| supertest: "supertest"; | ||
| }>>; | ||
| auth: z.ZodEnum<{ | ||
| none: "none"; | ||
| custom: "custom"; | ||
| jwt: "jwt"; | ||
| session: "session"; | ||
| }>; | ||
| }, z.core.$strict>>; | ||
| conventions: z.ZodObject<{ | ||
@@ -117,0 +153,0 @@ routing: z.ZodOptional<z.ZodString>; |
| import { z } from "zod"; | ||
| export const frameworkSchema = z.enum(["react", "nextjs", "vite-react"]); | ||
| export const projectTypeSchema = z.enum(["dashboard", "web-app"]); | ||
| export const frameworkSchema = z.enum(["react", "nextjs", "vite-react", "express", "fastify", "hono"]); | ||
| export const projectTypeSchema = z.enum(["dashboard", "web-app", "api-service"]); | ||
| export const setupDepthSchema = z.enum(["recommended", "semi-custom", "advanced"]); | ||
@@ -45,3 +45,14 @@ export const setupModeSchema = z.enum(["base", "skills", "agents", "full"]); | ||
| }) | ||
| .strict(), | ||
| .strict() | ||
| .optional(), | ||
| apiService: z | ||
| .object({ | ||
| apiStyle: z.enum(["rest", "graphql", "trpc"]), | ||
| validation: z.enum(["zod", "typebox", "custom"]), | ||
| orm: z.enum(["prisma", "drizzle", "none"]), | ||
| testing: z.array(z.enum(["vitest", "supertest", "playwright"])).min(1), | ||
| auth: z.enum(["jwt", "session", "none", "custom"]), | ||
| }) | ||
| .strict() | ||
| .optional(), | ||
| conventions: z | ||
@@ -48,0 +59,0 @@ .object({ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/manifest/schema.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/manifest/schema.ts"],"names":[],"mappings":"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"} |
@@ -247,3 +247,7 @@ import { basename } from "node:path"; | ||
| function describeProjectType(manifest) { | ||
| return manifest.project.type === "web-app" ? "web app" : "dashboard"; | ||
| if (manifest.project.type === "web-app") | ||
| return "web app"; | ||
| if (manifest.project.type === "api-service") | ||
| return "API service"; | ||
| return "dashboard"; | ||
| } | ||
@@ -254,2 +258,5 @@ function describeProjectFocus(manifest) { | ||
| } | ||
| if (manifest.project.type === "api-service") { | ||
| return "Favor clean request/response contracts, input validation at the boundary, consistent error shapes, and thin controllers delegating to well-tested service functions."; | ||
| } | ||
| return "Favor operational clarity, dense-but-readable interfaces, and explicit handling for data-heavy states and permissions."; | ||
@@ -275,5 +282,8 @@ } | ||
| } | ||
| if (manifest.project.type === "dashboard") { | ||
| if (manifest.project.type === "dashboard" && manifest.dashboard) { | ||
| context.push(`Styling: ${manifest.dashboard.styling}`, `Components: ${manifest.dashboard.components}`, `Data fetching: ${manifest.dashboard.dataFetching}`, `Tables: ${manifest.dashboard.tables}`, `Charts: ${manifest.dashboard.charts}`, `Forms: ${manifest.dashboard.forms}`, `State: ${manifest.dashboard.state}`, `Testing: ${manifest.dashboard.testing.join(", ")}`); | ||
| } | ||
| if (manifest.project.type === "api-service" && manifest.apiService) { | ||
| context.push(`API style: ${manifest.apiService.apiStyle}`, `Validation: ${manifest.apiService.validation}`, `ORM: ${manifest.apiService.orm}`, `Auth: ${manifest.apiService.auth}`, `Testing: ${manifest.apiService.testing.join(", ")}`); | ||
| } | ||
| return context; | ||
@@ -280,0 +290,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/render/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAWxD,MAAM,2BAA2B,GAA6C;IAC5E,kBAAkB,EAAE;QAClB,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,uHAAuH;QAC7H,OAAO,EAAE,4HAA4H;QACrI,UAAU,EAAE;YACV,mGAAmG;YACnG,sGAAsG;YACtG,+GAA+G;SAChH;QACD,YAAY,EAAE;YACZ,qEAAqE;YACrE,sFAAsF;YACtF,sEAAsE;SACvE;KACF;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,iHAAiH;QACvH,OAAO,EAAE,iHAAiH;QAC1H,UAAU,EAAE;YACV,+FAA+F;YAC/F,+EAA+E;YAC/E,kFAAkF;SACnF;QACD,YAAY,EAAE;YACZ,iFAAiF;YACjF,+EAA+E;YAC/E,iFAAiF;SAClF;KACF;IACD,oBAAoB,EAAE;QACpB,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,uGAAuG;QAC7G,OAAO,EAAE,yGAAyG;QAClH,UAAU,EAAE;YACV,uFAAuF;YACvF,iGAAiG;YACjG,6EAA6E;SAC9E;QACD,YAAY,EAAE;YACZ,2DAA2D;YAC3D,gFAAgF;YAChF,mGAAmG;SACpG;KACF;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,2FAA2F;QACjG,OAAO,EAAE,6GAA6G;QACtH,UAAU,EAAE;YACV,yFAAyF;YACzF,6FAA6F;YAC7F,mEAAmE;SACpE;QACD,YAAY,EAAE;YACZ,yEAAyE;YACzE,kFAAkF;YAClF,mFAAmF;SACpF;KACF;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,4GAA4G;QAClH,OAAO,EAAE,4GAA4G;QACrH,UAAU,EAAE;YACV,0GAA0G;YAC1G,0FAA0F;YAC1F,4FAA4F;SAC7F;QACD,YAAY,EAAE;YACZ,yFAAyF;YACzF,mFAAmF;YACnF,2FAA2F;SAC5F;KACF;IACD,sBAAsB,EAAE;QACtB,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,sGAAsG;QAC5G,OAAO,EAAE,oGAAoG;QAC7G,UAAU,EAAE;YACV,oGAAoG;YACpG,8FAA8F;YAC9F,iGAAiG;SAClG;QACD,YAAY,EAAE;YACZ,oEAAoE;YACpE,iFAAiF;YACjF,+EAA+E;SAChF;KACF;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,yGAAyG;QAC/G,OAAO,EAAE,iHAAiH;QAC1H,UAAU,EAAE;YACV,gGAAgG;YAChG,6FAA6F;YAC7F,gGAAgG;SACjG;QACD,YAAY,EAAE;YACZ,+EAA+E;YAC/E,iFAAiF;YACjF,8GAA8G;SAC/G;KACF;IACD,mCAAmC,EAAE;QACnC,KAAK,EAAE,yCAAyC;QAChD,IAAI,EAAE,0IAA0I;QAChJ,OAAO,EAAE,+JAA+J;QACxK,UAAU,EAAE;YACV,yHAAyH;YACzH,oGAAoG;YACpG,uHAAuH;SACxH;QACD,YAAY,EAAE;YACZ,iGAAiG;YACjG,sEAAsE;YACtE,4GAA4G;SAC7G;KACF;IACD,6CAA6C,EAAE;QAC7C,KAAK,EAAE,6CAA6C;QACpD,IAAI,EAAE,mKAAmK;QACzK,OAAO,EAAE,qJAAqJ;QAC9J,UAAU,EAAE;YACV,+GAA+G;YAC/G,kGAAkG;YAClG,8GAA8G;SAC/G;QACD,YAAY,EAAE;YACZ,gFAAgF;YAChF,qFAAqF;YACrF,+FAA+F;SAChG;KACF;IACD,uBAAuB,EAAE;QACvB,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,yHAAyH;QAC/H,OAAO,EAAE,0HAA0H;QACnI,UAAU,EAAE;YACV,6HAA6H;YAC7H,sIAAsI;YACtI,oGAAoG;SACrG;QACD,YAAY,EAAE;YACZ,wEAAwE;YACxE,2FAA2F;YAC3F,4FAA4F;SAC7F;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,kGAAkG;QACxG,OAAO,EAAE,kGAAkG;QAC3G,UAAU,EAAE;YACV,8EAA8E;YAC9E,gFAAgF;YAChF,kFAAkF;SACnF;QACD,YAAY,EAAE;YACZ,gFAAgF;YAChF,6DAA6D;YAC7D,yEAAyE;SAC1E;KACF;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,uGAAuG;QAC7G,OAAO,EAAE,+GAA+G;QACxH,UAAU,EAAE;YACV,oEAAoE;YACpE,uGAAuG;YACvG,oFAAoF;SACrF;QACD,YAAY,EAAE;YACZ,sEAAsE;YACtE,6DAA6D;YAC7D,qFAAqF;SACtF;KACF;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,wFAAwF;QAC9F,OAAO,EAAE,iHAAiH;QAC1H,UAAU,EAAE;YACV,gFAAgF;YAChF,sFAAsF;YACtF,yFAAyF;SAC1F;QACD,YAAY,EAAE;YACZ,yEAAyE;YACzE,sEAAsE;YACtE,sFAAsF;SACvF;KACF;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,wGAAwG;QAC9G,OAAO,EAAE,kHAAkH;QAC3H,UAAU,EAAE;YACV,wFAAwF;YACxF,yFAAyF;YACzF,4FAA4F;SAC7F;QACD,YAAY,EAAE;YACZ,qFAAqF;YACrF,uEAAuE;YACvE,sFAAsF;SACvF;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,uGAAuG;QAC7G,OAAO,EAAE,gHAAgH;QACzH,UAAU,EAAE;YACV,4EAA4E;YAC5E,4EAA4E;YAC5E,gFAAgF;SACjF;QACD,YAAY,EAAE;YACZ,gGAAgG;YAChG,gFAAgF;YAChF,iFAAiF;SAClF;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,gGAAgG;QACtG,OAAO,EAAE,qHAAqH;QAC9H,UAAU,EAAE;YACV,mGAAmG;YACnG,6EAA6E;YAC7E,gEAAgE;SACjE;QACD,YAAY,EAAE;YACZ,wEAAwE;YACxE,iGAAiG;YACjG,uGAAuG;SACxG;KACF;CACF,CAAC;AAEF,SAAS,mBAAmB,CAAC,QAAkB;IAC7C,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;AACvE,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAkB;IAC9C,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,6GAA6G,CAAC;IACvH,CAAC;IAED,OAAO,wHAAwH,CAAC;AAClI,CAAC;AAED,SAAS,aAAa,CAAC,KAAe;IACpC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAkB;IAC7C,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;SACpD,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAE7B,MAAM,OAAO,GAAG;QACd,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;QACnC,cAAc,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE;QAC1C,iBAAiB,mBAAmB,CAAC,QAAQ,CAAC,EAAE;QAChD,YAAY,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;QACjD,2BAA2B,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAC9E,iCAAiC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;KAClF,CAAC;IAEF,IAAI,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CACV,YAAY,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,EACxC,eAAe,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,EAC9C,kBAAkB,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,EACnD,WAAW,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,EACtC,WAAW,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,EACtC,UAAU,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,EACpC,UAAU,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,EACpC,YAAY,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpD,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAkB,EAClB,IAAY,EACZ,UAAoB,EACpB,YAAsB;IAEtB,OAAO;QACL,SAAS;QACT,0BAA0B,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,IAAI,mBAAmB,CAAC,QAAQ,CAAC,cAAc;QAC5H,EAAE;QACF,SAAS,IAAI,EAAE;QACf,EAAE;QACF,kBAAkB;QAClB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3D,EAAE;QACF,cAAc;QACd,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QACxC,EAAE;QACF,eAAe;QACf,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/D,EAAE;QACF,eAAe;QACf,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/D,EAAE;QACF,wBAAwB;QACxB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1C,KAAK;KACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAkB;IAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;SACpD,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;SAChC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAE7B,OAAO,8CAA8C,QAAQ,CAAC,OAAO,CAAC,IAAI,aAAa,QAAQ,CAAC,OAAO,CAAC,IAAI,kBAAkB,QAAQ,CAAC,OAAO,CAAC,SAAS,iBAAiB,QAAQ,CAAC,OAAO,CAAC,QAAQ,4BAA4B,QAAQ,CAAC,KAAK,CAAC,KAAK,aAAa,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,QAAQ,CAAC,KAAK,CAAC,KAAK,qBAAqB,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1kB,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAkB;IAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC;IAC7D,MAAM,IAAI,GAAG,WAAW;QACtB,CAAC,CAAC,uCAAuC,mBAAmB,CAAC,QAAQ,CAAC,gDAAgD;QACtH,CAAC,CAAC,gEAAgE,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1G,MAAM,UAAU,GAAG,WAAW;QAC5B,CAAC,CAAC;YACE,wEAAwE;YACxE,2FAA2F;YAC3F,2EAA2E;SAC5E;QACH,CAAC,CAAC;YACE,8EAA8E;YAC9E,gGAAgG;YAChG,yFAAyF;SAC1F,CAAC;IACN,MAAM,YAAY,GAAG,WAAW;QAC9B,CAAC,CAAC;YACE,mDAAmD;YACnD,0EAA0E;YAC1E,sDAAsD;SACvD;QACH,CAAC,CAAC;YACE,6EAA6E;YAC7E,qEAAqE;YACrE,qFAAqF;SACtF,CAAC;IAEN,OAAO,wRAAwR,oBAAoB,CAAC,QAAQ,CAAC,iCAAiC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;AAC9Z,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAkB;IAC3C,MAAM,gBAAgB,GAAG;QACvB,cAAc;QACd,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,KAAK,MAAM;YACvC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,UAAU,KAAK,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,MAAM,WAAW,GACf,QAAQ,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS;QACtC,CAAC,CAAC,mEAAmE;QACrE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,KAAK,QAAQ;YACvC,CAAC,CAAC,0GAA0G;YAC5G,CAAC,CAAC,+IAA+I,CAAC;IAExJ,OAAO,2CAA2C,QAAQ,CAAC,SAAS,CAAC,OAAO,OAAO,WAAW,gEAAgE,mBAAmB,CAAC,QAAQ,CAAC,oaAAoa,gBAAgB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,+aAA+a,CAAC;AACvlC,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAiB,EAAE,QAAkB;IACjE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,aAAa,GAAG,UAAU;aAC7B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,OAAO,KAAK,aAAa,uDAAuD,QAAQ,CAAC,OAAO,CAAC,IAAI,kCAAkC,iBAAiB,CACtJ,QAAQ,EACR,eAAe,aAAa,CAAC,WAAW,EAAE,wDAAwD,EAClG;YACE,uEAAuE;YACvE,mEAAmE;YACnE,4DAA4D;SAC7D,EACD;YACE,iDAAiD;YACjD,wCAAwC;YACxC,wCAAwC;SACzC,CACF,EAAE,CAAC;IACN,CAAC;IAED,OAAO,KAAK,UAAU,CAAC,KAAK,OAAO,UAAU,CAAC,OAAO,kBAAkB,UAAU,CAAC,IAAI,2BAA2B,oBAAoB,CAAC,QAAQ,CAAC,iCAAiC,iBAAiB,CAC/L,QAAQ,EACR,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,YAAY,CACxB,EAAE,CAAC;AACN,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,MAAM,WAAW,GACf,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QACxC,CAAC,CAAC,CAAC,4BAA4B,CAAC;QAChC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAC/B,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,mBAAmB,CACtF,CAAC;IAER,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAiB,EAAE,QAAkB;IACpE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,mBAAmB;YACtB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC;gBAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC;QACJ,KAAK,yBAAyB;YAC5B,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,mBAAmB,EAAE;gBAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC;QACJ,KAAK,yBAAyB;YAC5B,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC;gBACxC,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC;QACJ,KAAK,8BAA8B;YACjC,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC;gBACxC,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC;QACJ,KAAK,2BAA2B;YAC9B,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC;gBACpC,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC;QACJ,KAAK,cAAc;YACjB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC;gBACnC,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC;QACJ;YACE,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC7C,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC;IACN,CAAC;AACH,CAAC"} | ||
| {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/render/shared.ts"],"names":[],"mappings":"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"} |
| export type TemplateDefinition = { | ||
| id: string; | ||
| name: string; | ||
| projectType: "dashboard" | "web-app"; | ||
| framework: "react" | "nextjs" | "vite-react"; | ||
| projectType: "dashboard" | "web-app" | "api-service"; | ||
| framework: "react" | "nextjs" | "vite-react" | "express" | "fastify" | "hono"; | ||
| setupDepth: "recommended" | "semi-custom"; | ||
@@ -7,0 +7,0 @@ defaultTargets: string[]; |
@@ -47,3 +47,21 @@ export const TEMPLATE_REGISTRY = [ | ||
| }, | ||
| { | ||
| id: "api-service-express-recommended", | ||
| name: "API Service Express Recommended", | ||
| projectType: "api-service", | ||
| framework: "express", | ||
| setupDepth: "recommended", | ||
| defaultTargets: ["codex", "copilot", "claude"], | ||
| description: "Opinionated Express API service setup with validation, testing, and auth defaults.", | ||
| }, | ||
| { | ||
| id: "api-service-fastify-recommended", | ||
| name: "API Service Fastify Recommended", | ||
| projectType: "api-service", | ||
| framework: "fastify", | ||
| setupDepth: "recommended", | ||
| defaultTargets: ["codex", "copilot", "claude"], | ||
| description: "Opinionated Fastify API service setup with schema-first validation and testing defaults.", | ||
| }, | ||
| ]; | ||
| //# sourceMappingURL=registry.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,iBAAiB,GAAyB;IACrD;QACE,EAAE,EAAE,8BAA8B;QAClC,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC9C,WAAW,EAAE,wEAAwE;KACtF;IACD;QACE,EAAE,EAAE,kCAAkC;QACtC,IAAI,EAAE,kCAAkC;QACxC,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC9C,WAAW,EAAE,oEAAoE;KAClF;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;QACrD,WAAW,EAAE,sEAAsE;KACpF;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC9C,WAAW,EAAE,sEAAsE;KACpF;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;QACrD,WAAW,EAAE,oEAAoE;KAClF;CACF,CAAC"} | ||
| {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,iBAAiB,GAAyB;IACrD;QACE,EAAE,EAAE,8BAA8B;QAClC,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC9C,WAAW,EAAE,wEAAwE;KACtF;IACD;QACE,EAAE,EAAE,kCAAkC;QACtC,IAAI,EAAE,kCAAkC;QACxC,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC9C,WAAW,EAAE,oEAAoE;KAClF;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;QACrD,WAAW,EAAE,sEAAsE;KACpF;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC9C,WAAW,EAAE,sEAAsE;KACpF;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;QACrD,WAAW,EAAE,oEAAoE;KAClF;IACD;QACE,EAAE,EAAE,iCAAiC;QACrC,IAAI,EAAE,iCAAiC;QACvC,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC9C,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,EAAE,EAAE,iCAAiC;QACrC,IAAI,EAAE,iCAAiC;QACvC,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,SAAS;QACpB,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC9C,WAAW,EAAE,0FAA0F;KACxG;CACF,CAAC"} |
+2
-1
| { | ||
| "name": "agenv-cli", | ||
| "version": "0.1.0", | ||
| "version": "1.0.0", | ||
| "description": "Bootstrap a portable, reviewable AI workspace for web development repositories.", | ||
@@ -45,2 +45,3 @@ "keywords": [ | ||
| "dependencies": { | ||
| "@inquirer/prompts": "^8.3.2", | ||
| "commander": "^13.1.0", | ||
@@ -47,0 +48,0 @@ "zod": "^4.1.5" |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
196958
16.08%2867
16.26%0
-100%3
50%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added