Converted from Claude Code boilerplate to opencode: - CLAUDE.md -> AGENTS.md (opencode instructions) - .claude/settings.json -> opencode.json (permissions schema) - .claude/agents/ -> .opencode/agent/ (subagents with mode: subagent) - .claude/commands/ -> .opencode/command/ (slash commands with ) - .claude/skills/ -> .opencode/skills/ (7 skills, removed allowed-tools) - DevContainer updated to install opencode - All .claude/ paths and Claude Code references updated
154 lines
4.1 KiB
Markdown
154 lines
4.1 KiB
Markdown
# Architecture Design Document
|
|
|
|
## Technology Stack
|
|
|
|
### Languages and Runtimes
|
|
|
|
| Technology | Version |
|
|
|------|-----------|
|
|
| Node.js | v24.11.0 |
|
|
| TypeScript | 5.x |
|
|
| npm | 11.x |
|
|
|
|
### Frameworks and Libraries
|
|
|
|
| Technology | Version | Purpose | Rationale |
|
|
|------|-----------|------|----------|
|
|
| [name] | [version] | [purpose] | [rationale] |
|
|
| [name] | [version] | [purpose] | [rationale] |
|
|
|
|
### Development Tools
|
|
|
|
| Technology | Version | Purpose | Rationale |
|
|
|------|-----------|------|----------|
|
|
| [name] | [version] | [purpose] | [rationale] |
|
|
| [name] | [version] | [purpose] | [rationale] |
|
|
|
|
## Architecture Pattern
|
|
|
|
### Layered Architecture
|
|
|
|
```
|
|
┌─────────────────────────┐
|
|
│ UI layer │ ← Accepts and displays user input
|
|
├─────────────────────────┤
|
|
│ Service layer │ ← Business logic
|
|
├─────────────────────────┤
|
|
│ Data layer │ ← Data persistence
|
|
└─────────────────────────┘
|
|
```
|
|
|
|
#### UI Layer
|
|
- **Responsibility**: Accepting user input, validation, displaying results
|
|
- **Permitted operations**: Calling the service layer
|
|
- **Prohibited operations**: Direct access to the data layer
|
|
|
|
#### Service Layer
|
|
- **Responsibility**: Implementing business logic, data transformation
|
|
- **Permitted operations**: Calling the data layer
|
|
- **Prohibited operations**: Depending on the UI layer
|
|
|
|
#### Data Layer
|
|
- **Responsibility**: Data persistence and retrieval
|
|
- **Permitted operations**: Access to the file system and databases
|
|
- **Prohibited operations**: Implementing business logic
|
|
|
|
## Data Persistence Strategy
|
|
|
|
### Storage Method
|
|
|
|
| Data type | Storage | Format | Rationale |
|
|
|-----------|----------|-------------|------|
|
|
| [data 1] | [method] | [format] | [rationale] |
|
|
| [data 2] | [method] | [format] | [rationale] |
|
|
|
|
### Backup Strategy
|
|
|
|
- **Frequency**: [e.g., every hour]
|
|
- **Destination**: [e.g., `.backup/` directory]
|
|
- **Generation management**: [e.g., retain the latest 5 generations]
|
|
- **Restoration method**: [procedure]
|
|
|
|
## Performance Requirements
|
|
|
|
### Response Time
|
|
|
|
| Operation | Target time | Measurement environment |
|
|
|------|---------|---------|
|
|
| [operation 1] | [time] | [environment] |
|
|
| [operation 2] | [time] | [environment] |
|
|
|
|
### Resource Usage
|
|
|
|
| Resource | Limit | Rationale |
|
|
|---------|------|------|
|
|
| Memory | [MB] | [rationale] |
|
|
| CPU | [%] | [rationale] |
|
|
| Disk | [MB] | [rationale] |
|
|
|
|
## Security Architecture
|
|
|
|
### Data Protection
|
|
|
|
- **Encryption**: [target data and method]
|
|
- **Access control**: [file permissions, etc.]
|
|
- **Sensitive information management**: [environment variables, config files, etc.]
|
|
|
|
### Input Validation
|
|
|
|
- **Validation**: [validation items]
|
|
- **Sanitization**: [target and method]
|
|
- **Error handling**: [secure error display]
|
|
|
|
## Scalability Design
|
|
|
|
### Handling Data Growth
|
|
|
|
- **Expected data volume**: [e.g., 10,000 tasks]
|
|
- **Performance degradation countermeasures**: [method]
|
|
- **Archive strategy**: [handling of old data]
|
|
|
|
### Extensibility
|
|
|
|
- **Plugin system**: [presence/absence and design]
|
|
- **Configuration customization**: [scope of what is possible]
|
|
- **API extensibility**: [methods for future extension]
|
|
|
|
## Test Strategy
|
|
|
|
### Unit Tests
|
|
- **Framework**: [framework name]
|
|
- **Target**: [description of test target]
|
|
- **Coverage target**: [%]
|
|
|
|
### Integration Tests
|
|
- **Method**: [test method]
|
|
- **Target**: [description of test target]
|
|
|
|
### E2E Tests
|
|
- **Tool**: [tool name]
|
|
- **Scenarios**: [test scenarios]
|
|
|
|
## Technical Constraints
|
|
|
|
### Environment Requirements
|
|
- **OS**: [supported OS]
|
|
- **Minimum memory**: [MB]
|
|
- **Required disk space**: [MB]
|
|
- **Required external dependencies**: [list]
|
|
|
|
### Performance Constraints
|
|
- [constraint 1]
|
|
- [constraint 2]
|
|
|
|
### Security Constraints
|
|
- [constraint 1]
|
|
- [constraint 2]
|
|
|
|
## Dependency Management
|
|
|
|
| Library | Purpose | Version management policy |
|
|
|-----------|------|-------------------|
|
|
| [name] | [purpose] | [pinned/range] |
|
|
| [name] | [purpose] | [pinned/range] |
|