create-auto-app 0.13.3 → 0.15.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.
- package/README.md +145 -132
- package/dist/scripts/copy-templates.js +26 -2
- package/dist/scripts/copy-templates.js.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +93 -176
- package/dist/src/index.js.map +1 -1
- package/package.json +3 -5
- package/templates/kanban-todo/README.md +161 -0
- package/templates/kanban-todo/auto.config.ts +241 -393
- package/templates/kanban-todo/narratives/homepage.narrative.ts +2 -1
- package/templates/kanban-todo/narratives/structure.narrative.ts +2 -1
- package/templates/kanban-todo/narratives/todo-list.narrative.ts +4 -3
- package/templates/kanban-todo/package.json +3 -2
- package/templates/questionnaires/README.md +161 -0
- package/templates/questionnaires/.gitignore +0 -4
- package/templates/questionnaires/auto.config.ts +0 -239
- package/templates/questionnaires/narratives/homepage.narrative.ts +0 -103
- package/templates/questionnaires/narratives/questionnaires.narrative.ts +0 -393
- package/templates/questionnaires/narratives/structure.narrative.ts +0 -16
- package/templates/questionnaires/package.json +0 -30
- package/templates/questionnaires/template.json +0 -7
- package/templates/questionnaires/tsconfig.json +0 -15
package/dist/src/index.js
CHANGED
|
@@ -1,29 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { generateId } from '@auto-engineer/id';
|
|
4
5
|
import chalk from 'chalk';
|
|
5
|
-
import
|
|
6
|
+
import { program } from 'commander';
|
|
6
7
|
import { execa } from 'execa';
|
|
7
8
|
import fs from 'fs-extra';
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { generateId } from '@auto-engineer/id';
|
|
9
|
+
import inquirer from 'inquirer';
|
|
10
|
+
import ora from 'ora';
|
|
11
11
|
const __filename = fileURLToPath(import.meta.url);
|
|
12
12
|
const __dirname = path.dirname(__filename);
|
|
13
|
-
const
|
|
14
|
-
'@auto-engineer/message-bus',
|
|
15
|
-
'@auto-engineer/server-checks',
|
|
16
|
-
'@auto-engineer/design-system-importer',
|
|
17
|
-
'@auto-engineer/server-generator-apollo-emmett',
|
|
18
|
-
'@auto-engineer/narrative',
|
|
19
|
-
'@auto-engineer/frontend-checks',
|
|
20
|
-
'@auto-engineer/frontend-implementer',
|
|
21
|
-
'@auto-engineer/component-implementer',
|
|
22
|
-
'@auto-engineer/information-architect',
|
|
23
|
-
'@auto-engineer/frontend-generator-react-graphql',
|
|
24
|
-
'@auto-engineer/server-implementer',
|
|
25
|
-
];
|
|
26
|
-
const MINIMAL_PACKAGES = ['@auto-engineer/narrative', '@auto-engineer/server-generator-apollo-emmett'];
|
|
13
|
+
const DEFAULT_TEMPLATE = 'kanban-todo';
|
|
27
14
|
async function detectPackageManager() {
|
|
28
15
|
try {
|
|
29
16
|
await execa('pnpm', ['--version']);
|
|
@@ -48,55 +35,81 @@ async function getLatestVersion(packageName) {
|
|
|
48
35
|
return 'latest';
|
|
49
36
|
}
|
|
50
37
|
}
|
|
38
|
+
function extractAutoEngineerPackages(pkg) {
|
|
39
|
+
const packages = new Set();
|
|
40
|
+
const deps = pkg.dependencies;
|
|
41
|
+
const devDeps = pkg.devDependencies;
|
|
42
|
+
if (deps !== undefined) {
|
|
43
|
+
for (const name of Object.keys(deps)) {
|
|
44
|
+
if (name.startsWith('@auto-engineer/')) {
|
|
45
|
+
packages.add(name);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (devDeps !== undefined) {
|
|
50
|
+
for (const name of Object.keys(devDeps)) {
|
|
51
|
+
if (name.startsWith('@auto-engineer/')) {
|
|
52
|
+
packages.add(name);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return Array.from(packages);
|
|
57
|
+
}
|
|
58
|
+
async function collectAllAutoEngineerPackages(targetDir) {
|
|
59
|
+
const packages = new Set();
|
|
60
|
+
const packageJsonPaths = [
|
|
61
|
+
path.join(targetDir, 'package.json'),
|
|
62
|
+
path.join(targetDir, 'client', 'package.json'),
|
|
63
|
+
path.join(targetDir, 'server', 'package.json'),
|
|
64
|
+
];
|
|
65
|
+
for (const pkgPath of packageJsonPaths) {
|
|
66
|
+
if (await fs.pathExists(pkgPath)) {
|
|
67
|
+
const pkg = (await fs.readJson(pkgPath));
|
|
68
|
+
for (const name of extractAutoEngineerPackages(pkg)) {
|
|
69
|
+
packages.add(name);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return Array.from(packages);
|
|
74
|
+
}
|
|
51
75
|
async function getLatestVersions(packages) {
|
|
52
76
|
const spinner = ora('Fetching latest package versions...').start();
|
|
53
77
|
const versions = {};
|
|
54
78
|
await Promise.all(packages.map(async (pkg) => {
|
|
55
79
|
versions[pkg] = await getLatestVersion(pkg);
|
|
56
80
|
}));
|
|
57
|
-
// Always include CLI
|
|
58
|
-
versions['@auto-engineer/cli'] = await getLatestVersion('@auto-engineer/cli');
|
|
59
81
|
spinner.succeed('Package versions fetched');
|
|
60
82
|
return versions;
|
|
61
83
|
}
|
|
84
|
+
function applyVersionsToDeps(deps, versions) {
|
|
85
|
+
if (deps === undefined) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
for (const [pkg, version] of Object.entries(versions)) {
|
|
89
|
+
if (deps[pkg] !== undefined) {
|
|
90
|
+
deps[pkg] = version;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
async function updatePackageJsonName(pkgPath, name) {
|
|
95
|
+
if (!(await fs.pathExists(pkgPath))) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const pkg = (await fs.readJson(pkgPath));
|
|
99
|
+
pkg.name = name;
|
|
100
|
+
await fs.writeJson(pkgPath, pkg, { spaces: 2 });
|
|
101
|
+
}
|
|
62
102
|
async function updatePackageVersions(targetDir, projectName, versions) {
|
|
63
103
|
const rootPackageJsonPath = path.join(targetDir, 'package.json');
|
|
64
|
-
const clientPackageJsonPath = path.join(targetDir, 'client', 'package.json');
|
|
65
|
-
const serverPackageJsonPath = path.join(targetDir, 'server', 'package.json');
|
|
66
|
-
// Update root package.json
|
|
67
104
|
if (await fs.pathExists(rootPackageJsonPath)) {
|
|
68
105
|
const rootPkg = (await fs.readJson(rootPackageJsonPath));
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
for (const [pkg, version] of Object.entries(versions)) {
|
|
72
|
-
if (rootPkg.dependencies[pkg] !== undefined) {
|
|
73
|
-
rootPkg.dependencies[pkg] = version;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
// Update devDependencies
|
|
78
|
-
if (rootPkg.devDependencies !== undefined) {
|
|
79
|
-
for (const [pkg, version] of Object.entries(versions)) {
|
|
80
|
-
if (rootPkg.devDependencies[pkg] !== undefined) {
|
|
81
|
-
rootPkg.devDependencies[pkg] = version;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
106
|
+
applyVersionsToDeps(rootPkg.dependencies, versions);
|
|
107
|
+
applyVersionsToDeps(rootPkg.devDependencies, versions);
|
|
85
108
|
rootPkg.name = projectName;
|
|
86
109
|
await fs.writeJson(rootPackageJsonPath, rootPkg, { spaces: 2 });
|
|
87
110
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const clientPkg = (await fs.readJson(clientPackageJsonPath));
|
|
91
|
-
clientPkg.name = `${projectName}-client`;
|
|
92
|
-
await fs.writeJson(clientPackageJsonPath, clientPkg, { spaces: 2 });
|
|
93
|
-
}
|
|
94
|
-
// Update server package.json if exists
|
|
95
|
-
if (await fs.pathExists(serverPackageJsonPath)) {
|
|
96
|
-
const serverPkg = (await fs.readJson(serverPackageJsonPath));
|
|
97
|
-
serverPkg.name = `${projectName}-server`;
|
|
98
|
-
await fs.writeJson(serverPackageJsonPath, serverPkg, { spaces: 2 });
|
|
99
|
-
}
|
|
111
|
+
await updatePackageJsonName(path.join(targetDir, 'client', 'package.json'), `${projectName}-client`);
|
|
112
|
+
await updatePackageJsonName(path.join(targetDir, 'server', 'package.json'), `${projectName}-server`);
|
|
100
113
|
}
|
|
101
114
|
async function installDependencies(targetDir, packageManager) {
|
|
102
115
|
const spinner = ora('Installing dependencies...').start();
|
|
@@ -160,8 +173,8 @@ async function createFromTemplate(templatePath, targetDir, projectName, template
|
|
|
160
173
|
if (!(await fs.pathExists(workspaceYamlPath))) {
|
|
161
174
|
await fs.writeFile(workspaceYamlPath, "packages:\n - '*'\n");
|
|
162
175
|
}
|
|
163
|
-
//
|
|
164
|
-
const packagesToCheck =
|
|
176
|
+
// Scan template for all @auto-engineer packages and get their latest versions
|
|
177
|
+
const packagesToCheck = await collectAllAutoEngineerPackages(targetDir);
|
|
165
178
|
const versions = await getLatestVersions(packagesToCheck);
|
|
166
179
|
await replaceTemplateFileId(targetDir);
|
|
167
180
|
// Update package versions
|
|
@@ -230,24 +243,8 @@ async function getAvailableTemplates() {
|
|
|
230
243
|
}
|
|
231
244
|
return templates;
|
|
232
245
|
}
|
|
233
|
-
async function handleTemplateCreation(template, preset, targetDir, projectName, packageManager) {
|
|
234
|
-
if (template !== undefined) {
|
|
235
|
-
const templatePath = path.join(__dirname, '../..', 'templates', template);
|
|
236
|
-
if (await fs.pathExists(templatePath)) {
|
|
237
|
-
await createFromTemplate(templatePath, targetDir, projectName, template);
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
console.log(chalk.yellow(`Template not found at ${templatePath}, creating minimal project...`));
|
|
241
|
-
await createMinimalProject(targetDir, projectName, preset || 'minimal', packageManager);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
else {
|
|
245
|
-
// Create project based on preset
|
|
246
|
-
await createMinimalProject(targetDir, projectName, preset || 'minimal', packageManager);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
246
|
async function createProject(options) {
|
|
250
|
-
const { name, template,
|
|
247
|
+
const { name, template, packageManager, installDeps } = options;
|
|
251
248
|
const targetDir = path.resolve(process.cwd(), name === '.' ? process.cwd() : name);
|
|
252
249
|
const projectName = name === '.' ? path.basename(process.cwd()) : name;
|
|
253
250
|
// Prepare directory
|
|
@@ -256,8 +253,15 @@ async function createProject(options) {
|
|
|
256
253
|
process.exit(0);
|
|
257
254
|
}
|
|
258
255
|
console.log(chalk.blue(`\nCreating Auto Engineer project in ${chalk.bold(targetDir)}\n`));
|
|
259
|
-
//
|
|
260
|
-
|
|
256
|
+
// Create from template
|
|
257
|
+
const templatePath = path.join(__dirname, '../..', 'templates', template);
|
|
258
|
+
if (await fs.pathExists(templatePath)) {
|
|
259
|
+
await createFromTemplate(templatePath, targetDir, projectName, template);
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
console.error(chalk.red(`Template "${template}" not found at ${templatePath}`));
|
|
263
|
+
process.exit(1);
|
|
264
|
+
}
|
|
261
265
|
// Install dependencies if requested
|
|
262
266
|
if (installDeps) {
|
|
263
267
|
await installDependencies(targetDir, packageManager);
|
|
@@ -265,83 +269,6 @@ async function createProject(options) {
|
|
|
265
269
|
// Success message
|
|
266
270
|
printSuccessMessage(name, packageManager, installDeps);
|
|
267
271
|
}
|
|
268
|
-
async function createMinimalProject(targetDir, projectName, preset, packageManager) {
|
|
269
|
-
// Determine which packages to include
|
|
270
|
-
const packagesToInclude = preset === 'full' ? AUTO_ENGINEER_PACKAGES : MINIMAL_PACKAGES;
|
|
271
|
-
// Get latest versions
|
|
272
|
-
const versions = await getLatestVersions(packagesToInclude);
|
|
273
|
-
// Generate package.json
|
|
274
|
-
const packageJson = {
|
|
275
|
-
name: projectName,
|
|
276
|
-
version: '0.1.0',
|
|
277
|
-
private: true,
|
|
278
|
-
scripts: {
|
|
279
|
-
dev: 'auto dev',
|
|
280
|
-
build: 'auto build',
|
|
281
|
-
test: 'auto test',
|
|
282
|
-
},
|
|
283
|
-
devDependencies: versions,
|
|
284
|
-
};
|
|
285
|
-
// Write package.json
|
|
286
|
-
await fs.writeJson(path.join(targetDir, 'package.json'), packageJson, { spaces: 2 });
|
|
287
|
-
// Create auto.config.ts
|
|
288
|
-
const plugins = Object.keys(versions)
|
|
289
|
-
.filter((pkg) => pkg !== '@auto-engineer/cli')
|
|
290
|
-
.map((pkg) => ` '${pkg}',`)
|
|
291
|
-
.join('\n');
|
|
292
|
-
const autoConfig = `export default {
|
|
293
|
-
plugins: [
|
|
294
|
-
${plugins}
|
|
295
|
-
],
|
|
296
|
-
};
|
|
297
|
-
`;
|
|
298
|
-
await fs.writeFile(path.join(targetDir, 'auto.config.ts'), autoConfig);
|
|
299
|
-
// Create basic directory structure
|
|
300
|
-
await fs.ensureDir(path.join(targetDir, 'flows'));
|
|
301
|
-
await fs.ensureDir(path.join(targetDir, '.context'));
|
|
302
|
-
// Create .gitignore
|
|
303
|
-
const gitignore = `node_modules
|
|
304
|
-
dist
|
|
305
|
-
.tmp
|
|
306
|
-
.env.local
|
|
307
|
-
*.log
|
|
308
|
-
.next
|
|
309
|
-
.turbo
|
|
310
|
-
`;
|
|
311
|
-
await fs.writeFile(path.join(targetDir, '.gitignore'), gitignore);
|
|
312
|
-
// Create README.md
|
|
313
|
-
const readme = `# ${projectName}
|
|
314
|
-
|
|
315
|
-
An Auto Engineer project.
|
|
316
|
-
|
|
317
|
-
## Getting Started
|
|
318
|
-
|
|
319
|
-
\`\`\`bash
|
|
320
|
-
# Install dependencies
|
|
321
|
-
${packageManager} install
|
|
322
|
-
|
|
323
|
-
# Install Auto and start it
|
|
324
|
-
${packageManager} install -g @auto-engineer/cli@latest
|
|
325
|
-
auto
|
|
326
|
-
|
|
327
|
-
# Start the client and server in development mode
|
|
328
|
-
${packageManager} run start
|
|
329
|
-
\`\`\`
|
|
330
|
-
|
|
331
|
-
## Available Commands
|
|
332
|
-
|
|
333
|
-
- \`auto generate:server\` - Generate server from flows
|
|
334
|
-
- \`auto generate:client\` - Generate client application
|
|
335
|
-
- \`auto check:frontend\` - Run frontend checks
|
|
336
|
-
- \`auto check:server\` - Run server checks
|
|
337
|
-
|
|
338
|
-
## Learn More
|
|
339
|
-
|
|
340
|
-
Visit [Auto Engineer Documentation](https://github.com/solguru310/auto-engineer) to learn more.
|
|
341
|
-
`;
|
|
342
|
-
await fs.writeFile(path.join(targetDir, 'README.md'), readme);
|
|
343
|
-
}
|
|
344
|
-
// TODO also make this install the global cli if not present
|
|
345
272
|
async function main() {
|
|
346
273
|
// Get available templates for help text
|
|
347
274
|
const availableTemplates = await getAvailableTemplates();
|
|
@@ -351,8 +278,7 @@ async function main() {
|
|
|
351
278
|
.description('Create a new Auto Engineer application')
|
|
352
279
|
.version('0.1.0')
|
|
353
280
|
.argument('[project-name]', 'Name of the project (use "." for current directory)')
|
|
354
|
-
.option('-t, --template <template>', `Project template (${templateNames})
|
|
355
|
-
.option('-p, --preset <preset>', 'Package preset (minimal, full)', 'full')
|
|
281
|
+
.option('-t, --template <template>', `Project template (${templateNames})`, DEFAULT_TEMPLATE)
|
|
356
282
|
.option('--no-install', 'Skip dependency installation')
|
|
357
283
|
.option('--use-npm', 'Use npm as package manager')
|
|
358
284
|
.option('--use-yarn', 'Use yarn as package manager')
|
|
@@ -367,11 +293,6 @@ async function main() {
|
|
|
367
293
|
name: `${template.displayName} - ${template.description}`,
|
|
368
294
|
value: template.name,
|
|
369
295
|
}));
|
|
370
|
-
const setupChoices = [
|
|
371
|
-
...templateChoices,
|
|
372
|
-
{ name: 'Create minimal project (just essentials)', value: 'minimal' },
|
|
373
|
-
{ name: 'Create full project (all packages)', value: 'full' },
|
|
374
|
-
];
|
|
375
296
|
const answers = (await inquirer.prompt([
|
|
376
297
|
{
|
|
377
298
|
type: 'input',
|
|
@@ -389,13 +310,18 @@ async function main() {
|
|
|
389
310
|
return true;
|
|
390
311
|
},
|
|
391
312
|
},
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
313
|
+
// Only ask for template if there are multiple options
|
|
314
|
+
...(templateChoices.length > 1
|
|
315
|
+
? [
|
|
316
|
+
{
|
|
317
|
+
type: 'list',
|
|
318
|
+
name: 'template',
|
|
319
|
+
message: 'Which template would you like to use?',
|
|
320
|
+
choices: templateChoices,
|
|
321
|
+
default: DEFAULT_TEMPLATE,
|
|
322
|
+
},
|
|
323
|
+
]
|
|
324
|
+
: []),
|
|
399
325
|
{
|
|
400
326
|
type: 'confirm',
|
|
401
327
|
name: 'installDeps',
|
|
@@ -404,15 +330,7 @@ async function main() {
|
|
|
404
330
|
},
|
|
405
331
|
]));
|
|
406
332
|
projectName = answers.name;
|
|
407
|
-
|
|
408
|
-
if (selectedTemplate) {
|
|
409
|
-
options.template = selectedTemplate.name;
|
|
410
|
-
options.preset = undefined;
|
|
411
|
-
}
|
|
412
|
-
else {
|
|
413
|
-
options.template = undefined;
|
|
414
|
-
options.preset = answers.setupType;
|
|
415
|
-
}
|
|
333
|
+
options.template = answers.template ?? DEFAULT_TEMPLATE;
|
|
416
334
|
options.install = answers.installDeps;
|
|
417
335
|
}
|
|
418
336
|
// Detect package manager
|
|
@@ -431,8 +349,7 @@ async function main() {
|
|
|
431
349
|
}
|
|
432
350
|
const projectOptions = {
|
|
433
351
|
name: projectName,
|
|
434
|
-
template:
|
|
435
|
-
preset: options.preset,
|
|
352
|
+
template: options.template,
|
|
436
353
|
packageManager,
|
|
437
354
|
installDeps: options.install !== false,
|
|
438
355
|
};
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-auto-app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "Create Auto Engineer apps with no configuration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"fs-extra": "^11.2.0",
|
|
34
34
|
"inquirer": "^9.2.15",
|
|
35
35
|
"ora": "^8.0.1",
|
|
36
|
-
"@auto-engineer/id": "0.
|
|
36
|
+
"@auto-engineer/id": "0.15.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/fs-extra": "^11.0.4",
|
|
@@ -50,8 +50,6 @@
|
|
|
50
50
|
"copy-templates": "tsx scripts/copy-templates.ts",
|
|
51
51
|
"build": "npm run copy-templates && tsc && chmod +x dist/src/index.js",
|
|
52
52
|
"test": "vitest run --reporter=dot",
|
|
53
|
-
"type-check": "tsc --noEmit"
|
|
54
|
-
"lint": "eslint 'src/**/*.ts' --max-warnings 0 --config ../../eslint.config.ts --ignore-pattern 'templates/**'",
|
|
55
|
-
"format": "prettier --write \"**/*.{js,ts,json,md,yml,yaml}\" --ignore-path ../../.prettierignore --log-level warn"
|
|
53
|
+
"type-check": "tsc --noEmit"
|
|
56
54
|
}
|
|
57
55
|
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Support Files
|
|
2
|
+
|
|
3
|
+
Shared design system assets for Auto Engineer examples.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
This directory provides pre-configured design system files that other examples copy into their `.context/` directories. These files are consumed by the `@auto-engineer/design-system-importer` package and frontend generation plugins.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Directory Structure
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
support-files/
|
|
17
|
+
├── .env.example # Environment variable template
|
|
18
|
+
└── .context/
|
|
19
|
+
├── design-system.md # Component documentation
|
|
20
|
+
├── figma-file.json # Figma design tokens (~44MB)
|
|
21
|
+
└── shadcn-filter.ts # Component filtering logic
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## File Descriptions
|
|
27
|
+
|
|
28
|
+
### .env.example
|
|
29
|
+
|
|
30
|
+
Template for Auto Engineer environment variables:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# AI Provider Keys
|
|
34
|
+
ANTHROPIC_API_KEY=
|
|
35
|
+
OPENAI_API_KEY=
|
|
36
|
+
GEMINI_API_KEY=
|
|
37
|
+
XAI_API_KEY=
|
|
38
|
+
|
|
39
|
+
# Defaults
|
|
40
|
+
DEFAULT_AI_PROVIDER=anthropic
|
|
41
|
+
DEFAULT_AI_MODEL=claude-sonnet-4-20250514
|
|
42
|
+
|
|
43
|
+
# Debug
|
|
44
|
+
DEBUG=auto:*
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### .context/design-system.md
|
|
48
|
+
|
|
49
|
+
Generated markdown listing 55+ shadcn/ui components:
|
|
50
|
+
|
|
51
|
+
| Category | Components |
|
|
52
|
+
|----------|------------|
|
|
53
|
+
| Form | button, checkbox, input, select, switch, textarea, slider |
|
|
54
|
+
| Layout | accordion, card, dialog, drawer, sheet, tabs, separator |
|
|
55
|
+
| Navigation | breadcrumb, menubar, navigation-menu, pagination |
|
|
56
|
+
| Data | avatar, badge, calendar, data-table, table |
|
|
57
|
+
| Feedback | alert, alert-dialog, progress, skeleton, toast, tooltip |
|
|
58
|
+
|
|
59
|
+
### .context/figma-file.json
|
|
60
|
+
|
|
61
|
+
Raw Figma API export containing design tokens:
|
|
62
|
+
|
|
63
|
+
- **Spacing**: `spacing/0`, `spacing/px`, `spacing/1`...`spacing/96`
|
|
64
|
+
- **Dimensions**: `w-0`, `h-0`, `h-px`, `w-full`, `h-screen`
|
|
65
|
+
- **Scopes**: GAP, WIDTH_HEIGHT configurations
|
|
66
|
+
|
|
67
|
+
### .context/shadcn-filter.ts
|
|
68
|
+
|
|
69
|
+
Filter function for processing Figma components during import:
|
|
70
|
+
|
|
71
|
+
**Excludes:**
|
|
72
|
+
- Generic names: `image`, `slot`, `logo`, `icon`
|
|
73
|
+
- Internal components: `toolbar`, `stepper`, `sidebar`
|
|
74
|
+
|
|
75
|
+
**Includes:**
|
|
76
|
+
- Valid component names (1-3 words, alphabetic)
|
|
77
|
+
- `INSTANCE` type components
|
|
78
|
+
- Hierarchy depth ≤ 3
|
|
79
|
+
|
|
80
|
+
**Transforms:**
|
|
81
|
+
- Converts to lowercase kebab-case
|
|
82
|
+
- Deduplicates and sorts
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Usage
|
|
87
|
+
|
|
88
|
+
### Copying to a Project
|
|
89
|
+
|
|
90
|
+
From another example directory:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
rm -rf .context && mkdir .context && cp ../support-files/.context/* ./.context
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
The `kanban-todo` example includes this in its clean script:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
pnpm clean # Runs the copy automatically
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Using with Design System Importer
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
auto import:design-system \
|
|
106
|
+
--output-dir=./.context \
|
|
107
|
+
--strategy=WITH_COMPONENT_SETS \
|
|
108
|
+
--filter-path=./shadcn-filter.ts
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Pipeline Integration
|
|
112
|
+
|
|
113
|
+
In `auto.config.ts`, reference these files:
|
|
114
|
+
|
|
115
|
+
```typescript
|
|
116
|
+
.on('IAGenerated')
|
|
117
|
+
.emit('GenerateClient', () => ({
|
|
118
|
+
figmaVariablesPath: resolvePath('./.context/figma-file.json'),
|
|
119
|
+
}))
|
|
120
|
+
|
|
121
|
+
.emit('ImplementComponent', (c) => ({
|
|
122
|
+
designSystemPath: resolvePath('./.context/design-system.md'),
|
|
123
|
+
}))
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Regenerating Files
|
|
129
|
+
|
|
130
|
+
To regenerate from a Figma source:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# Set credentials
|
|
134
|
+
export FIGMA_PERSONAL_TOKEN=your-token
|
|
135
|
+
export FIGMA_FILE_ID=your-file-id
|
|
136
|
+
|
|
137
|
+
# Run importer
|
|
138
|
+
auto import:design-system \
|
|
139
|
+
--output-dir=./.context \
|
|
140
|
+
--strategy=WITH_ALL_FIGMA_INSTANCES \
|
|
141
|
+
--filter-path=./shadcn-filter.ts
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Import Strategies:**
|
|
145
|
+
|
|
146
|
+
| Strategy | Description |
|
|
147
|
+
|----------|-------------|
|
|
148
|
+
| `WITH_COMPONENTS` | Individual components only |
|
|
149
|
+
| `WITH_COMPONENT_SETS` | Component sets (default) |
|
|
150
|
+
| `WITH_ALL_FIGMA_INSTANCES` | Full document traversal |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Related Packages
|
|
155
|
+
|
|
156
|
+
| Package | Relationship |
|
|
157
|
+
|---------|--------------|
|
|
158
|
+
| `@auto-engineer/design-system-importer` | Consumes filter, produces design-system.md |
|
|
159
|
+
| `@auto-engineer/frontend-generator-react-graphql` | Uses figma-file.json for tokens |
|
|
160
|
+
| `@auto-engineer/component-implementer` | Uses design-system.md for constraints |
|
|
161
|
+
| `@auto-engineer/information-architect` | References component list for IA |
|