create-auto-app 0.11.14 → 0.11.16
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-auto-app",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.16",
|
|
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.11.
|
|
36
|
+
"@auto-engineer/id": "0.11.16"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/fs-extra": "^11.0.4",
|
|
@@ -104,6 +104,7 @@ export default autoConfig({
|
|
|
104
104
|
componentType: type,
|
|
105
105
|
filePath: component.filePath,
|
|
106
106
|
componentName,
|
|
107
|
+
aiOptions: { maxTokens: 3000 },
|
|
107
108
|
});
|
|
108
109
|
});
|
|
109
110
|
return dispatch.parallel(commands);
|
|
@@ -136,6 +137,7 @@ export default autoConfig({
|
|
|
136
137
|
previousOutputs: 'errors',
|
|
137
138
|
attemptNumber: 0,
|
|
138
139
|
},
|
|
140
|
+
aiOptions: { maxTokens: 2000 },
|
|
139
141
|
}),
|
|
140
142
|
);
|
|
141
143
|
|
|
@@ -189,6 +191,7 @@ export default autoConfig({
|
|
|
189
191
|
previousOutputs: collectErrorMessages(failures),
|
|
190
192
|
attemptNumber: currentAttempt + 1,
|
|
191
193
|
},
|
|
194
|
+
aiOptions: { maxTokens: 2000 },
|
|
192
195
|
},
|
|
193
196
|
});
|
|
194
197
|
|
|
@@ -218,6 +221,7 @@ export default autoConfig({
|
|
|
218
221
|
on<GenerateClientEvents>('ClientGenerated', (e) => {
|
|
219
222
|
if (e.type !== 'ClientGenerated') return;
|
|
220
223
|
|
|
224
|
+
// this is purley for display purposes the pipeline
|
|
221
225
|
if (e.data === null || e.data === undefined || !Array.isArray(e.data.components)) {
|
|
222
226
|
return [
|
|
223
227
|
dispatch<ImplementComponentCommand>('ImplementComponent', {
|
|
@@ -227,6 +231,7 @@ export default autoConfig({
|
|
|
227
231
|
componentType: 'molecule',
|
|
228
232
|
filePath: 'client/src/components/molecules/Example.tsx',
|
|
229
233
|
componentName: 'Example.tsx',
|
|
234
|
+
aiOptions: { maxTokens: 3000 },
|
|
230
235
|
}),
|
|
231
236
|
dispatch<StartClientCommand>('StartClient', {
|
|
232
237
|
clientDirectory: './client',
|
|
@@ -265,6 +270,7 @@ export default autoConfig({
|
|
|
265
270
|
componentType: 'molecule',
|
|
266
271
|
filePath: component.filePath,
|
|
267
272
|
componentName,
|
|
273
|
+
aiOptions: { maxTokens: 3000 },
|
|
268
274
|
});
|
|
269
275
|
});
|
|
270
276
|
|
|
@@ -26,30 +26,6 @@ narrative('Todo Dashboard', 'AUTO-H6i9Rs2Gz', () => {
|
|
|
26
26
|
should('use gradient borders matching task status');
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
|
-
experience('Statistics Dashboard', 'AUTO-S1n4Xx7Lz').client(() => {
|
|
30
|
-
specs(() => {
|
|
31
|
-
should('show total tasks count with large prominent number');
|
|
32
|
-
should('display tasks completed today with celebration icon');
|
|
33
|
-
should('show breakdown: pending, in-progress, completed counts');
|
|
34
|
-
should('display completion percentage with visual indicator');
|
|
35
|
-
should('use card-based layout with glass morphism styling');
|
|
36
|
-
should('include subtle icons for each statistic');
|
|
37
|
-
should('update in real-time when tasks change status');
|
|
38
|
-
should('animate number changes with counting effect');
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
experience('Recent Activity Feed', 'AUTO-R2o5Yy8Mz').client(() => {
|
|
42
|
-
specs(() => {
|
|
43
|
-
should('display recent task completions in chronological order');
|
|
44
|
-
should('show completion timestamp in relative format');
|
|
45
|
-
should('limit to last 5 completed tasks');
|
|
46
|
-
should('include task description with completed styling');
|
|
47
|
-
should('show subtle celebration icon for each completion');
|
|
48
|
-
should('use minimalist list design with dividers');
|
|
49
|
-
should('support click to view task details');
|
|
50
|
-
should('auto-scroll new completions into view with smooth animation');
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
29
|
experience('View Toggle Controls', 'AUTO-V3p6Zz9Nz').client(() => {
|
|
54
30
|
specs(() => {
|
|
55
31
|
should('provide toggle between Kanban and List views');
|
|
@@ -128,4 +104,28 @@ narrative('Todo Dashboard', 'AUTO-H6i9Rs2Gz', () => {
|
|
|
128
104
|
should('show loading state during task submission');
|
|
129
105
|
});
|
|
130
106
|
});
|
|
107
|
+
experience('Statistics Dashboard', 'AUTO-S1n4Xx7Lz').client(() => {
|
|
108
|
+
specs(() => {
|
|
109
|
+
should('show total tasks count with large prominent number');
|
|
110
|
+
should('display tasks completed today with celebration icon');
|
|
111
|
+
should('show breakdown: pending, in-progress, completed counts');
|
|
112
|
+
should('display completion percentage with visual indicator');
|
|
113
|
+
should('use card-based layout with glass morphism styling');
|
|
114
|
+
should('include subtle icons for each statistic');
|
|
115
|
+
should('update in real-time when tasks change status');
|
|
116
|
+
should('animate number changes with counting effect');
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
experience('Recent Activity Feed', 'AUTO-R2o5Yy8Mz').client(() => {
|
|
120
|
+
specs(() => {
|
|
121
|
+
should('display recent task completions in chronological order');
|
|
122
|
+
should('show completion timestamp in relative format');
|
|
123
|
+
should('limit to last 5 completed tasks');
|
|
124
|
+
should('include task description with completed styling');
|
|
125
|
+
should('show subtle celebration icon for each completion');
|
|
126
|
+
should('use minimalist list design with dividers');
|
|
127
|
+
should('support click to view task details');
|
|
128
|
+
should('auto-scroll new completions into view with smooth animation');
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
131
|
});
|
|
@@ -22,17 +22,6 @@ narrative('App Structure', 'AUTO-A8u1Ee4Sz', () => {
|
|
|
22
22
|
should('use CSS Grid for Kanban column layout');
|
|
23
23
|
});
|
|
24
24
|
});
|
|
25
|
-
experience('Kanban Board Container', 'AUTO-K1x4Hh7Vz').client(() => {
|
|
26
|
-
specs(() => {
|
|
27
|
-
should('display three equal-width columns in desktop view');
|
|
28
|
-
should('apply consistent gap spacing between columns');
|
|
29
|
-
should('stack columns vertically on mobile devices');
|
|
30
|
-
should('support horizontal scrolling on smaller screens if needed');
|
|
31
|
-
should('maintain minimum column width for readability');
|
|
32
|
-
should('apply max-height with scroll for columns with many tasks');
|
|
33
|
-
should('show subtle scrollbar styling matching theme');
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
25
|
experience('Column Headers', 'AUTO-H2y5Ii8Wz').client(() => {
|
|
37
26
|
specs(() => {
|
|
38
27
|
should('display column title with clear typography');
|
|
@@ -148,4 +137,15 @@ narrative('App Structure', 'AUTO-A8u1Ee4Sz', () => {
|
|
|
148
137
|
should('provide alt text for all decorative images and icons');
|
|
149
138
|
});
|
|
150
139
|
});
|
|
140
|
+
experience('Kanban Board Container', 'AUTO-K1x4Hh7Vz').client(() => {
|
|
141
|
+
specs(() => {
|
|
142
|
+
should('display three equal-width columns in desktop view');
|
|
143
|
+
should('apply consistent gap spacing between columns');
|
|
144
|
+
should('stack columns vertically on mobile devices');
|
|
145
|
+
should('support horizontal scrolling on smaller screens if needed');
|
|
146
|
+
should('maintain minimum column width for readability');
|
|
147
|
+
should('apply max-height with scroll for columns with many tasks');
|
|
148
|
+
should('show subtle scrollbar styling matching theme');
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
151
|
});
|
|
@@ -2,8 +2,8 @@ import {
|
|
|
2
2
|
command,
|
|
3
3
|
data,
|
|
4
4
|
example,
|
|
5
|
-
narrative,
|
|
6
5
|
gql,
|
|
6
|
+
narrative,
|
|
7
7
|
query,
|
|
8
8
|
rule,
|
|
9
9
|
should,
|
|
@@ -12,7 +12,6 @@ import {
|
|
|
12
12
|
specs,
|
|
13
13
|
} from '@auto-engineer/narrative';
|
|
14
14
|
import type { Command, Event, State } from '@auto-engineer/narrative';
|
|
15
|
-
|
|
16
15
|
type AddTodo = Command<
|
|
17
16
|
'AddTodo',
|
|
18
17
|
{
|
|
@@ -20,43 +19,34 @@ type AddTodo = Command<
|
|
|
20
19
|
description: string;
|
|
21
20
|
}
|
|
22
21
|
>;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
'MarkTodoComplete',
|
|
22
|
+
type TodoAdded = Event<
|
|
23
|
+
'TodoAdded',
|
|
26
24
|
{
|
|
27
25
|
todoId: string;
|
|
26
|
+
description: string;
|
|
27
|
+
status: 'pending';
|
|
28
|
+
addedAt: Date;
|
|
28
29
|
}
|
|
29
30
|
>;
|
|
30
|
-
|
|
31
31
|
type MarkTodoInProgress = Command<
|
|
32
32
|
'MarkTodoInProgress',
|
|
33
33
|
{
|
|
34
34
|
todoId: string;
|
|
35
35
|
}
|
|
36
36
|
>;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
'TodoAdded',
|
|
37
|
+
type TodoMarkedInProgress = Event<
|
|
38
|
+
'TodoMarkedInProgress',
|
|
40
39
|
{
|
|
41
40
|
todoId: string;
|
|
42
|
-
|
|
43
|
-
status: 'pending';
|
|
44
|
-
addedAt: Date;
|
|
41
|
+
markedAt: Date;
|
|
45
42
|
}
|
|
46
43
|
>;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
'TodoListSummary',
|
|
44
|
+
type MarkTodoComplete = Command<
|
|
45
|
+
'MarkTodoComplete',
|
|
50
46
|
{
|
|
51
|
-
|
|
52
|
-
totalTodos: number;
|
|
53
|
-
pendingCount: number;
|
|
54
|
-
inProgressCount: number;
|
|
55
|
-
completedCount: number;
|
|
56
|
-
completionPercentage: number;
|
|
47
|
+
todoId: string;
|
|
57
48
|
}
|
|
58
49
|
>;
|
|
59
|
-
|
|
60
50
|
type TodoMarkedComplete = Event<
|
|
61
51
|
'TodoMarkedComplete',
|
|
62
52
|
{
|
|
@@ -64,15 +54,6 @@ type TodoMarkedComplete = Event<
|
|
|
64
54
|
completedAt: Date;
|
|
65
55
|
}
|
|
66
56
|
>;
|
|
67
|
-
|
|
68
|
-
type TodoMarkedInProgress = Event<
|
|
69
|
-
'TodoMarkedInProgress',
|
|
70
|
-
{
|
|
71
|
-
todoId: string;
|
|
72
|
-
markedAt: Date;
|
|
73
|
-
}
|
|
74
|
-
>;
|
|
75
|
-
|
|
76
57
|
type TodoState = State<
|
|
77
58
|
'TodoState',
|
|
78
59
|
{
|
|
@@ -83,7 +64,16 @@ type TodoState = State<
|
|
|
83
64
|
completedAt: Date | null;
|
|
84
65
|
}
|
|
85
66
|
>;
|
|
86
|
-
|
|
67
|
+
type TodoListSummary = State<
|
|
68
|
+
'TodoListSummary',
|
|
69
|
+
{
|
|
70
|
+
totalTodos: number;
|
|
71
|
+
pendingCount: number;
|
|
72
|
+
inProgressCount: number;
|
|
73
|
+
completedCount: number;
|
|
74
|
+
completionPercentage: number;
|
|
75
|
+
}
|
|
76
|
+
>;
|
|
87
77
|
narrative('Todo List', 'AUTO-T8dL3k9Xw', () => {
|
|
88
78
|
command('adds a new todo', 'AUTO-A1c4Mn7Bz')
|
|
89
79
|
.client(() => {
|
|
@@ -280,7 +270,7 @@ narrative('Todo List', 'AUTO-T8dL3k9Xw', () => {
|
|
|
280
270
|
}`),
|
|
281
271
|
)
|
|
282
272
|
.server(() => {
|
|
283
|
-
data([source().state('TodoListSummary').
|
|
273
|
+
data([source().state('TodoListSummary').fromSingletonProjection('TodoSummary')]);
|
|
284
274
|
specs(() => {
|
|
285
275
|
rule('summary shows overall todo list statistics', 'AUTO-r5F6Gs2C', () => {
|
|
286
276
|
example('calculates summary from multiple todos')
|
|
@@ -305,7 +295,6 @@ narrative('Todo List', 'AUTO-T8dL3k9Xw', () => {
|
|
|
305
295
|
.and<TodoMarkedInProgress>({ todoId: 'todo-001', markedAt: new Date('2030-01-01T10:00:00.000Z') })
|
|
306
296
|
.and<TodoMarkedComplete>({ todoId: 'todo-002', completedAt: new Date('2030-01-01T11:00:00.000Z') })
|
|
307
297
|
.then<TodoListSummary>({
|
|
308
|
-
summaryId: 'main-summary',
|
|
309
298
|
totalTodos: 3,
|
|
310
299
|
pendingCount: 1,
|
|
311
300
|
inProgressCount: 1,
|