A Next.js dashboard application for managing spec-driven development projects with AWS Amplify Gen2 integration.
- π¨ Modern UI: Built with Material UI 7.2+ and Tailwind CSS v4
- π Dark Mode: Full dark theme with zinc and rose color palette
- π Dashboard: Overview of projects, specifications, and tickets
- π Project Management: Create and manage development projects
- π Specification Management: Organize specs by type (ANALYSIS, FIXES, PLANS, REVIEWS)
- π« Ticket System: Break down specifications into actionable tickets
- π€ AI-Powered Specifications: Interactive specification builder with Amazon Bedrock
- π― AI Ticket Generation: Automated ticket generation with Claude Opus, Sonnet, and Haiku
- π Epic Management: Intelligent grouping of related tickets
- π Dependency Tracking: Automated dependency analysis and critical path identification
- π Execution Planning: AI-generated implementation roadmaps with parallelization strategies
- π Git Integration: Connect GitHub repositories for context-aware AI assistance
- βοΈ AWS Amplify Gen2: Backend powered by AppSync and S3 storage
- π Markdown Files: Store specifications and tickets as .md files in S3
- π° Cost Tracking: Token usage and cost estimation for Bedrock operations
- Framework: Next.js 16.0.1 (App Router)
- UI Library: Material UI 7.2+
- Styling: Tailwind CSS v4 with dark mode
- Icons: Lucide React
- Language: TypeScript
- Backend: AWS Amplify Gen2
- API: AWS AppSync (GraphQL)
- Storage: Amazon S3
- Node.js 18+ installed
- AWS account (for backend deployment)
- AWS CLI configured (optional)
First, install dependencies:
npm installTo use the full backend capabilities, you need to deploy the AWS Amplify backend:
cd amplify
npm run sandboxThis will deploy:
- AppSync GraphQL API for data management
- S3 bucket for markdown file storage
- API key for public access (no authentication)
After deployment, the generated amplify_outputs.json will be automatically used by the application.
For detailed setup instructions, see AMPLIFY_SETUP.md.
Then, run the development server:
npm run devOpen http://localhost:3000 with your browser to see the result.
βββ app/ # Next.js app directory
β βββ projects/ # Projects page
β βββ specifications/ # Specifications page
β βββ tickets/ # Tickets page
β βββ settings/ # Settings page
β βββ layout.tsx # Root layout with sidebar and header
β βββ page.tsx # Dashboard home page
βββ amplify/ # AWS Amplify Gen2 backend
β βββ backend.ts # Backend configuration
β βββ data/ # AppSync data schema
β βββ storage/ # S3 storage configuration
β βββ functions/ # Lambda functions
β βββ specification-conversation/ # Bedrock AI integration
β βββ git-integration/ # Git repository operations
β βββ code-analyzer/ # Codebase analysis
β βββ ticket-generation/ # AI ticket generation pipeline
βββ components/
β βββ layout/ # Layout components
β β βββ Header.tsx # Top navigation bar
β β βββ Sidebar.tsx # Side navigation menu
β βββ git/ # Git integration components
β β βββ GitIntegrationPanel.tsx # Repository connection UI
β β βββ CodebaseContextViewer.tsx # Analysis results viewer
β βββ specification/ # Specification components
β β βββ SpecificationBuilder.tsx # Main builder with AI chat
β β βββ SpecificationChat.tsx # Chat interface
β β βββ MarkdownEditor.tsx # Editor with preview
β βββ tickets/ # Ticket components
β β βββ TicketGenerationView.tsx # Main ticket generation UI
β β βββ TicketCard.tsx # Individual ticket display
β βββ AmplifyProvider.tsx # Amplify context provider
β βββ ThemeRegistry.tsx # Material UI theme provider
βββ lib/
β βββ amplify-config.ts # Amplify client configuration
β βββ api/ # API utilities
β β βββ amplify.ts # AppSync API operations
β β βββ storage.ts # S3 storage operations
β β βββ claude.ts # Claude CLI integration (mock)
β βββ hooks/ # React hooks
β β βββ useSpecificationConversation.ts # AI chat hook
β β βββ useTicketGeneration.ts # Ticket generation hook
β βββ utils/ # Utility functions
β β βββ cost-tracking.ts # Cost and token optimization
β βββ types/ # TypeScript type definitions
β βββ index.ts
βββ public/ # Static assets
The application manages four types of specifications:
- ANALYSIS: Requirements analysis and system design
- FIXES: Bug fixes and issue resolutions
- PLANS: Implementation plans and roadmaps
- REVIEWS: Code and design reviews
Each specification:
- Can be stored as a markdown file in S3
- Can be broken down into multiple tickets
- Is associated with a project
Without AWS backend deployment, the app will show placeholder messages. Deploy the Amplify backend to enable full functionality.
- Projects: Stored in AppSync (DynamoDB)
- Specifications: Metadata in AppSync, content in S3 as .md files
- Tickets: Metadata in AppSync, content in S3 as .md files
- No Authentication: Public API key access for simplicity
The application uses AWS Amplify Gen2 with:
- AppSync: GraphQL API for managing projects, specifications, and tickets
- S3: Storage for markdown files and codebase snapshots
- Lambda: Serverless functions for AI chat and Git integration
- API Key: Public access without authentication
- Bedrock: Amazon Bedrock with Claude for AI-powered specifications
See AMPLIFY_SETUP.md for detailed setup instructions. See BEDROCK_INTEGRATION.md for Bedrock integration details. See GIT_INTEGRATION.md for Git integration guide. See TICKET_GENERATION.md for AI ticket generation system.
The application includes a comprehensive AI-powered ticket generation system that automatically breaks down specifications into atomic, implementable tickets with detailed execution plans.
- 8-Step Pipeline: Automated analysis, component identification, ticket generation, dependency mapping, and optimization
- Multi-Model Strategy: Uses Claude Opus for complex analysis, Sonnet for content generation, and Haiku for exploration
- Intelligent Grouping: Automatically organizes tickets into logical epics
- Dependency Analysis: Identifies dependencies and generates critical path
- Parallelization Optimization: Recommends parallel execution strategies for AI agents
- Cost Tracking: Estimates and tracks token usage and costs
- Portuguese Support: All generated content in pt-BR
- Atomic Tickets: Small, implementable tasks (max 3 days each)
- SUMMARY.md: Executive summary with ticket breakdown and risk assessment
- EXECUTION_PLAN.md: Detailed implementation roadmap with parallel tracks
import { useTicketGeneration } from '@/lib/hooks/useTicketGeneration';
const { generateTickets, result } = useTicketGeneration();
await generateTickets({
specificationId: 'spec-001',
specificationContent: 'Your specification...',
specType: 'ANALYSIS',
planNamePrefix: 'AU',
});For comprehensive documentation and examples, see:
- TICKET_GENERATION.md - Complete implementation guide
- TICKET_GENERATION_EXAMPLES.md - Usage examples
- IMPLEMENTATION_COMPLETE.md - Implementation summary
npm run buildnpm run lintnpm startThe application uses a zinc and rose color palette. To customize:
Edit app/globals.css to change CSS variables:
--primary: Rose accent color (default: #f43f5e)--background: Main background (default: #18181b)--card: Card background (default: #27272a)
Edit components/ThemeRegistry.tsx to customize Material UI theme settings.
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
MIT