- Added AIChatPanel component with context header, user and AI message handling. - Integrated streaming responses via IPC and error handling for chat mutations. - Enhanced user experience with input handling and auto-scrolling features. - Updated AppShell to derive AI chat context from the current route. - Introduced ScrollArea component for better scrolling behavior in various dialogs. - Added support for Tailwind typography and improved global styles. - Updated project and task dialogs to utilize ScrollArea for better UX.
44 lines
2.2 KiB
Markdown
44 lines
2.2 KiB
Markdown
## Your Task US-020
|
|
|
|
1. Read the full app PRD at `prd-main.md` (in the same directory as this file)
|
|
2. Read the PRD at `prd.json` (in the same directory as this file)
|
|
3. Read the progress log at `progress.txt` (check Codebase Patterns section first)
|
|
4. **DO YOUR JOB**
|
|
5. Update the PRD to set `passes: true` for the completed story
|
|
6. Append your progress to `progress.txt`
|
|
|
|
## Progress Report Format
|
|
|
|
APPEND to progress.txt (never replace, always append):
|
|
```
|
|
## [Date/Time] - [Story ID]
|
|
- What was implemented
|
|
- Files changed
|
|
- **Learnings for future iterations:**
|
|
- Patterns discovered (e.g., "this codebase uses X for Y")
|
|
- Gotchas encountered (e.g., "don't forget to update Z when changing W")
|
|
- Useful context (e.g., "the evaluation panel is in component X")
|
|
---
|
|
```
|
|
|
|
## USER REQUEST
|
|
{
|
|
"id": "US-020",
|
|
"title": "Context-scoped AI chat UI",
|
|
"description": "As a user, I want the AI chat (revealed by the Fluid Curtain) to display a context header, support message input, and stream AI responses.",
|
|
"acceptanceCriteria": [
|
|
"Chat panel shows a context header using shadcn/ui Badge (variant=outline): 'Chatting about: [Project Name]' when opened from a project detail view, or 'Global workspace' when opened from other sections",
|
|
"Chat input box uses shadcn/ui Textarea: white background, border #d4d4d4, shadow-lg, min-height 109px, placeholder 'Ask me anything...'; Send uses shadcn/ui Button (black bg, Send Lucide icon + 'Send' label) anchored bottom-right",
|
|
"User messages appear as right-aligned message bubbles using shadcn/ui Card; AI responses as left-aligned Cards",
|
|
"Streaming: AI response tokens appended to the current AI bubble as they arrive from ai.chat",
|
|
"A loading spinner or pulsing indicator (shadcn/ui Skeleton) shown while waiting for first token",
|
|
"If ai.chat returns { error }, display the error message in a shadcn/ui Card with destructive border styling",
|
|
"Chat history is session-only — cleared when the curtain closes or the app restarts",
|
|
"Install shadcn/ui components via 'npx shadcn@latest add textarea' before implementing (card, badge, button, skeleton already installed)",
|
|
"Typecheck passes",
|
|
"Verify in browser using dev-browser skill"
|
|
],
|
|
"priority": 20,
|
|
"passes": false,
|
|
"notes": ""
|
|
} |