chore: initialize repository with project docs and tooling

- Add persistent docs: PRD, functional design, architecture, repository structure, development guidelines, milestones

- Add brainstorming notes (docs/ideas/)

- Configure tooling: package.json, tsconfig, eslint, prettier, vitest

- Add opencode configuration (commands, skills, agents)

- Add .gitignore for node_modules, .env, data/, backups/, build outputs
This commit is contained in:
2026-06-24 23:31:06 +02:00
commit 80e195b3dc
51 changed files with 12716 additions and 0 deletions

134
AGENTS.md Normal file
View File

@ -0,0 +1,134 @@
# Project Memory
## Technology Stack
- Development environment: devcontainer
- Node.js v24.11.0
- TypeScript 5.x
- Package manager: npm
## Basic Principles of Spec-Driven Development
### Basic Flow
1. **Document creation**: Define "what to build" in persistent documents (`docs/`)
2. **Work planning**: Plan "what to do this time" in steering files (`.steering/`)
3. **Implementation**: Implement according to tasklist.md and update progress as you go
4. **Verification**: Testing and operation checks
5. **Update**: Update documents as needed
### Important Rules
#### When Creating Documents
**Create one file at a time, and always obtain the user's approval before moving on to the next.**
When waiting for approval, communicate clearly:
```
"The creation of [document name] is complete. Please review the content.
Once you approve, I will proceed to the next document."
```
#### Checks Before Implementation
Before starting a new implementation, always check the following:
1. Read AGENTS.md
2. Read the related persistent documents (`docs/`)
3. Search for existing similar implementations with Grep
4. Understand existing patterns before starting implementation
#### Steering File Management
Create `.steering/[YYYYMMDD]-[task-name]/` for each piece of work:
- `requirements.md`: The requirements for this work
- `design.md`: The implementation approach
- `tasklist.md`: A concrete task list
Naming convention: `20250115-add-user-profile` format
#### Steering File Management
**Use the `steering` skill when planning work, implementing, and verifying.**
- **When planning work**: Mode 1 (creating steering files) via the steering skill
- **When implementing**: Mode 2 (implementation and tasklist.md update management) via the steering skill
- **When verifying**: Mode 3 (retrospective) via the steering skill
Detailed procedures and update-management rules are defined within the steering skill.
## Directory Structure
### Persistent Documents (`docs/`)
Define "what to build" and "how to build it" for the entire application:
#### Drafts and Ideas (`docs/ideas/`)
- Outputs of brainstorming and ideation
- Technical research notes
- Free-form (minimal structure)
- Automatically loaded when `/setup-project` is run
#### Official Documents
- **product-requirements.md** - Product requirements document
- **functional-design.md** - Functional design document
- **architecture.md** - Technical specification
- **repository-structure.md** - Repository structure definition document
- **development-guidelines.md** - Development guidelines
- **glossary.md** - Ubiquitous language definitions
### Work-Unit Documents (`.steering/`)
Define "what to do this time" for a specific development task:
- `requirements.md`: The requirements for this work
- `design.md`: The design of the changes
- `tasklist.md`: The task list
### opencode Configuration (`.opencode/`)
- `.opencode/agent/` - Subagent definitions (doc-reviewer, implementation-validator)
- `.opencode/command/` - Slash commands (setup-project, add-feature, review-docs)
- `.opencode/skills/` - Task-specific skills (prd-writing, functional-design, architecture-design, repository-structure, development-guidelines, glossary-creation, steering)
## Development Process
### Initial Setup
1. Use this template
2. Create persistent documents with `/setup-project` (interactively creating six)
3. Implement features with `/add-feature [feature]`
### Day-to-Day Usage
**Basically, just make requests through normal conversation:**
```bash
# Editing documents
> Please add a new feature to the PRD
> Review the performance requirements in architecture.md
> Add a new domain term to glossary.md
# Adding features (use commands for the standard flow)
> /add-feature edit user profile
# Detailed review (when a detailed report is needed)
> /review-docs docs/product-requirements.md
```
**Key point**: You do not need to be conscious of the details of spec-driven development. opencode will determine and load the appropriate skill.
## Principles of Document Management
### Persistent Documents (`docs/`)
- Describe the fundamental design
- Not updated frequently
- The "north star" for the entire project
### Work-Unit Documents (`.steering/`)
- Specialized for a specific task
- Created anew for each piece of work
- Retained as history