An AI Agent system that functions as a "digital twin" for team leaders within an organization, providing intelligent assistance, cross-team impact analysis, and automated artifact verification.
ai-agent-system/
├── frontend/ # Next.js chat application with strands integration
├── knowledge_base/ # Knowledge base service
├── strands_agents/ # StrandsAgents Python scripts
- I want to build a Next.js App on Amazon Bedrock
- How can I use Amazon Bedrock and generative AI with LLMs to build an Internal Wiki
- Next.js で SEO 対策をする方法を教えてください。
- Node.js >= 18.0.0
- npm >= 9.0.0
# Install dependencies for all workspaces
npm install
# Install frontend dependencies
npm install --workspace=frontend
# Install backend dependencies
npm install --workspace=backend# Start frontend development server
npm run dev
# Run tests across all workspaces
npm test
# Lint code across all workspaces
npm run lint
# Format code
npm run format# Build all workspaces
npm run build
# Type check all workspaces
npm run type-checkThe system follows a serverless architecture on AWS with:
- Frontend: React 18 + Vite SPA with Tailwind CSS
- Backend: AWS Lambda functions with API Gateway
- Database: DynamoDB + RDS PostgreSQL
- Search: Amazon Kendra
- Storage: S3 for documents and artifacts
- Authentication: IAM Identity Center/SAML
- AI Agents: StrandsAgents Python service for intelligent chat
The system includes a Python FastAPI microservice built using strands-agents (sdk-python) that powers a three-agent pipeline:
- InfoCollector: extracts search keywords from user input
- PeopleFinder: enriches mock search results with the best person to consult based on an editable people influence graph and preferred contact method
- ResponseBuilder: tailors the final answer to the user's role and skills profile
- Start the Python service:
./scripts/start-strands-service.sh- Configure the frontend:
cd frontend
cp .env.local.example .env.local
# Edit .env.local and set STRANDS_SERVICE_URL=http://localhost:8001- Start the Next.js chat application:
cd frontend
npm install
npm run devOpen http://localhost:3000/chat and interact with the AI agents.
POST /api/strands- Chat with strands agentsPOST /agents/run- Direct strands service endpointPOST /search- Search functionality
All AWS resources are automatically tagged with a comprehensive tagging strategy that includes:
- Mandatory Tags: Project, Stage, ManagedBy, Component, Owner, CostCenter, Environment, CreatedDate, CreatedBy
- Resource-Specific Tags: Component-specific tags based on resource type (e.g., FunctionPurpose for Lambda, TablePurpose for DynamoDB)
- Environment-Specific Tags: Environment-appropriate values for cost allocation and lifecycle management
- Compliance Tags: DataClassification for data storage resources, ComplianceScope for production resources
For detailed information about the tagging strategy, see infrastructure/TAGGING_GOVERNANCE_POLICY.md.
Deploy infrastructure using the deployment scripts:
# Deploy to staging
./scripts/deploy-infrastructure.sh staging
# Deploy to production (requires confirmation)
./scripts/deploy-infrastructure.sh production
# Show diff only (no deployment)
./scripts/deploy-infrastructure.sh staging --diff-onlyThe deployment process includes:
- Dependency installation and testing
- Tag validation to ensure compliance
- Security checks and CloudFormation synthesis
- Infrastructure deployment with progress tracking
- Post-deployment validation including tag verification
- Documentation generation for tags and resources
Before deployment, all resources are validated for:
- Mandatory tags (Project, Stage, Component, Owner, etc.)
- Resource-specific tags (FunctionPurpose, DataClassification, etc.)
- Environment-appropriate values
- Tag format and length constraints
Deployment will fail if tag validation does not pass.
- Follow TypeScript strict mode
- Maintain 80% test coverage minimum
- Use Prettier for code formatting
- Follow ESLint rules for code quality
- Write meaningful commit messages
- Follow infrastructure code review checklist for AWS resources
- Ensure all AWS resources have proper tags before deployment
For infrastructure changes, follow the comprehensive checklist at infrastructure/CODE_REVIEW_CHECKLIST.md, which includes:
- General code quality requirements
- AWS CDK specific guidelines
- Resource tagging requirements (mandatory for all AWS resources)
- Security and compliance validation
- Deployment and operations checks
All AWS resources must have:
- Mandatory tags: Project, Stage, Component, Owner, CostCenter, etc.
- Resource-specific tags: Based on resource type (Lambda, DynamoDB, S3, etc.)
- Data classification tags: For all data storage resources
- Environment-specific tags: Appropriate for dev/staging/production
Tag validation runs automatically during deployment and will fail if required tags are missing.