You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/AGENTS.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -201,6 +201,10 @@ This project uses **Make** as the primary build orchestrator. See `Makefile` for
201
201
202
202
## Testing
203
203
204
+
### Storybook
205
+
206
+
**Prefer full application stories over component-level stories** - Use `App.stories.tsx` to demonstrate features in realistic contexts rather than creating isolated component stories.
207
+
204
208
### Test-Driven Development (TDD)
205
209
206
210
**TDD is the preferred development style for agents.**
Copy file name to clipboardExpand all lines: src/App.stories.tsx
+31-8Lines changed: 31 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -484,20 +484,43 @@ export const ActiveWorkspaceWithChat: Story = {
484
484
},
485
485
});
486
486
487
-
// User asking to run tests
487
+
// Assistant with code block example
488
488
callback({
489
489
id: "msg-5",
490
+
role: "assistant",
491
+
parts: [
492
+
{
493
+
type: "text",
494
+
text: "Perfect! I've added JWT authentication. Here's what the updated endpoint looks like:\n\n```typescript\nimport { verifyToken } from '../auth/jwt';\n\nexport function getUser(req, res) {\n const token = req.headers.authorization?.split(' ')[1];\n if (!token || !verifyToken(token)) {\n return res.status(401).json({ error: 'Unauthorized' });\n }\n const user = db.users.find(req.params.id);\n res.json(user);\n}\n```\n\nThe endpoint now requires a valid JWT token in the Authorization header. Let me run the tests to verify everything works.",
495
+
},
496
+
],
497
+
metadata: {
498
+
historySequence: 5,
499
+
timestamp: STABLE_TIMESTAMP-260000,
500
+
model: "claude-sonnet-4-20250514",
501
+
usage: {
502
+
inputTokens: 1800,
503
+
outputTokens: 520,
504
+
totalTokens: 2320,
505
+
},
506
+
duration: 3200,
507
+
},
508
+
});
509
+
510
+
// User asking to run tests
511
+
callback({
512
+
id: "msg-6",
490
513
role: "user",
491
514
parts: [{type: "text",text: "Can you run the tests to make sure it works?"}],
492
515
metadata: {
493
-
historySequence: 5,
516
+
historySequence: 6,
494
517
timestamp: STABLE_TIMESTAMP-240000,
495
518
},
496
519
});
497
520
498
521
// Assistant running tests
499
522
callback({
500
-
id: "msg-6",
523
+
id: "msg-7",
501
524
role: "assistant",
502
525
parts: [
503
526
{
@@ -522,7 +545,7 @@ export const ActiveWorkspaceWithChat: Story = {
522
545
},
523
546
],
524
547
metadata: {
525
-
historySequence: 6,
548
+
historySequence: 7,
526
549
timestamp: STABLE_TIMESTAMP-230000,
527
550
model: "claude-sonnet-4-20250514",
528
551
usage: {
@@ -536,7 +559,7 @@ export const ActiveWorkspaceWithChat: Story = {
536
559
537
560
// User follow-up about error handling
538
561
callback({
539
-
id: "msg-7",
562
+
id: "msg-8",
540
563
role: "user",
541
564
parts: [
542
565
{
@@ -545,14 +568,14 @@ export const ActiveWorkspaceWithChat: Story = {
545
568
},
546
569
],
547
570
metadata: {
548
-
historySequence: 7,
571
+
historySequence: 8,
549
572
timestamp: STABLE_TIMESTAMP-180000,
550
573
},
551
574
});
552
575
553
576
// Assistant response with thinking (reasoning)
554
577
callback({
555
-
id: "msg-8",
578
+
id: "msg-9",
556
579
role: "assistant",
557
580
parts: [
558
581
{
@@ -582,7 +605,7 @@ export const ActiveWorkspaceWithChat: Story = {
0 commit comments