@comfanion/workflow 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +185 -0
- package/bin/cli.js +406 -0
- package/package.json +50 -0
- package/src/build-info.json +16 -0
- package/src/opencode/ARCHITECTURE.md +255 -0
- package/src/opencode/FLOW.yaml +900 -0
- package/src/opencode/agents/analyst.md +141 -0
- package/src/opencode/agents/architect.md +177 -0
- package/src/opencode/agents/change-manager.md +263 -0
- package/src/opencode/agents/dev.md +171 -0
- package/src/opencode/agents/module-docs.md +628 -0
- package/src/opencode/agents/pm.md +157 -0
- package/src/opencode/agents/researcher.md +254 -0
- package/src/opencode/agents/sm.md +184 -0
- package/src/opencode/agents/workflow-orchestrator.md +249 -0
- package/src/opencode/checklists/architecture-checklist.md +166 -0
- package/src/opencode/checklists/code-review-checklist.md +151 -0
- package/src/opencode/checklists/prd-checklist.md +140 -0
- package/src/opencode/checklists/requirements-checklist.md +86 -0
- package/src/opencode/checklists/story-checklist.md +137 -0
- package/src/opencode/commands/architecture.md +68 -0
- package/src/opencode/commands/archive.md +146 -0
- package/src/opencode/commands/change.md +169 -0
- package/src/opencode/commands/clarify.md +132 -0
- package/src/opencode/commands/code-review.md +96 -0
- package/src/opencode/commands/coding-standards.md +102 -0
- package/src/opencode/commands/dev-story.md +80 -0
- package/src/opencode/commands/diagram.md +152 -0
- package/src/opencode/commands/epics.md +52 -0
- package/src/opencode/commands/help.md +139 -0
- package/src/opencode/commands/jira-sync.md +58 -0
- package/src/opencode/commands/module-docs.md +158 -0
- package/src/opencode/commands/prd.md +63 -0
- package/src/opencode/commands/quick.md +166 -0
- package/src/opencode/commands/requirements.md +49 -0
- package/src/opencode/commands/research.md +113 -0
- package/src/opencode/commands/sprint-plan.md +59 -0
- package/src/opencode/commands/stories.md +61 -0
- package/src/opencode/commands/validate.md +84 -0
- package/src/opencode/commands/workflow-status.md +150 -0
- package/src/opencode/config.yaml +223 -0
- package/src/opencode/opencode.json +36 -0
- package/src/opencode/skills/acceptance-criteria/SKILL.md +212 -0
- package/src/opencode/skills/adr-writing/SKILL.md +241 -0
- package/src/opencode/skills/architecture-design/SKILL.md +183 -0
- package/src/opencode/skills/architecture-validation/SKILL.md +199 -0
- package/src/opencode/skills/archiving/SKILL.md +191 -0
- package/src/opencode/skills/changelog/SKILL.md +280 -0
- package/src/opencode/skills/code-review/SKILL.md +193 -0
- package/src/opencode/skills/coding-standards/SKILL.md +430 -0
- package/src/opencode/skills/diagram-creation/SKILL.md +273 -0
- package/src/opencode/skills/doc-todo/SKILL.md +325 -0
- package/src/opencode/skills/epic-writing/SKILL.md +291 -0
- package/src/opencode/skills/jira-integration/SKILL.md +560 -0
- package/src/opencode/skills/methodologies/SKILL.md +376 -0
- package/src/opencode/skills/module-documentation/SKILL.md +214 -0
- package/src/opencode/skills/prd-validation/SKILL.md +164 -0
- package/src/opencode/skills/prd-writing/SKILL.md +104 -0
- package/src/opencode/skills/requirements-gathering/SKILL.md +132 -0
- package/src/opencode/skills/requirements-validation/SKILL.md +141 -0
- package/src/opencode/skills/research-methodology/SKILL.md +140 -0
- package/src/opencode/skills/sprint-planning/SKILL.md +217 -0
- package/src/opencode/skills/story-writing/SKILL.md +574 -0
- package/src/opencode/skills/test-design/SKILL.md +313 -0
- package/src/opencode/skills/translation/SKILL.md +411 -0
- package/src/opencode/templates/CHANGELOG.md +82 -0
- package/src/opencode/templates/adr-template.md +115 -0
- package/src/opencode/templates/architecture-template.md +362 -0
- package/src/opencode/templates/change-proposal-template.md +186 -0
- package/src/opencode/templates/epic-template.md +151 -0
- package/src/opencode/templates/git-workflow-template.md +384 -0
- package/src/opencode/templates/integration-tests-template.md +265 -0
- package/src/opencode/templates/jira-cache-template.yaml +103 -0
- package/src/opencode/templates/module-index-template.md +139 -0
- package/src/opencode/templates/module-test-cases-template.md +230 -0
- package/src/opencode/templates/prd-acceptance-criteria-template.md +124 -0
- package/src/opencode/templates/prd-template.md +479 -0
- package/src/opencode/templates/requirements-template.md +132 -0
- package/src/opencode/templates/sprint-status-template.yaml +84 -0
- package/src/opencode/templates/story-template.md +437 -0
- package/src/opencode/templates/testing-standards-template.md +359 -0
- package/src/opencode/workflows/dev-story/instructions.md +529 -0
- package/src/repo-structure/.gitattributes +64 -0
- package/src/repo-structure/CONTRIBUTING.md +182 -0
- package/src/repo-structure/README.md +77 -0
- package/src/repo-structure/docs/README.md +62 -0
- package/src/repo-structure/docs/api/README.md +43 -0
- package/src/repo-structure/docs/architecture/README.md +36 -0
- package/src/repo-structure/docs/architecture/adr/README.md +53 -0
- package/src/repo-structure/docs/architecture/diagrams/README.md +59 -0
- package/src/repo-structure/docs/coding-standards/README.md +52 -0
- package/src/repo-structure/docs/confluence/README.md +43 -0
- package/src/repo-structure/docs/requirements/README.md +28 -0
- package/src/repo-structure/docs/sprint-artifacts/README.md +76 -0
- package/src/repo-structure/docs/sprint-artifacts/backlog/README.md +24 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# Contributing Guidelines
|
|
2
|
+
|
|
3
|
+
## Git Workflow
|
|
4
|
+
|
|
5
|
+
### Branch Naming
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
feature/{ticket-id}-{short-description}
|
|
9
|
+
fix/{ticket-id}-{short-description}
|
|
10
|
+
hotfix/{ticket-id}-{short-description}
|
|
11
|
+
refactor/{short-description}
|
|
12
|
+
docs/{short-description}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**Examples:**
|
|
16
|
+
```
|
|
17
|
+
feature/PROJ-123-user-registration
|
|
18
|
+
fix/PROJ-456-login-error
|
|
19
|
+
hotfix/PROJ-789-critical-security-fix
|
|
20
|
+
refactor/cleanup-auth-module
|
|
21
|
+
docs/update-api-reference
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Commit Message Convention
|
|
25
|
+
|
|
26
|
+
Format:
|
|
27
|
+
```
|
|
28
|
+
<type>(<scope>): <subject>
|
|
29
|
+
|
|
30
|
+
<body>
|
|
31
|
+
|
|
32
|
+
<footer>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
#### Types
|
|
36
|
+
|
|
37
|
+
| Type | Description |
|
|
38
|
+
|------|-------------|
|
|
39
|
+
| `feat` | New feature |
|
|
40
|
+
| `fix` | Bug fix |
|
|
41
|
+
| `docs` | Documentation only |
|
|
42
|
+
| `style` | Formatting, no code change |
|
|
43
|
+
| `refactor` | Code change, no feature/fix |
|
|
44
|
+
| `perf` | Performance improvement |
|
|
45
|
+
| `test` | Adding tests |
|
|
46
|
+
| `chore` | Build, config changes |
|
|
47
|
+
|
|
48
|
+
#### Scope (optional)
|
|
49
|
+
|
|
50
|
+
Module or component affected: `auth`, `api`, `db`, `ui`, etc.
|
|
51
|
+
|
|
52
|
+
#### Subject
|
|
53
|
+
|
|
54
|
+
- Imperative mood: "add" not "added" or "adds"
|
|
55
|
+
- No capitalization
|
|
56
|
+
- No period at the end
|
|
57
|
+
- Max 50 characters
|
|
58
|
+
|
|
59
|
+
#### Body (optional)
|
|
60
|
+
|
|
61
|
+
- Explain what and why, not how
|
|
62
|
+
- Wrap at 72 characters
|
|
63
|
+
|
|
64
|
+
#### Footer (optional)
|
|
65
|
+
|
|
66
|
+
- Reference issues: `Closes #123`, `Fixes #456`
|
|
67
|
+
- Breaking changes: `BREAKING CHANGE: description`
|
|
68
|
+
|
|
69
|
+
### Examples
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
feat(auth): add JWT token refresh
|
|
73
|
+
|
|
74
|
+
Implement automatic token refresh when access token expires.
|
|
75
|
+
Refresh happens 5 minutes before expiration.
|
|
76
|
+
|
|
77
|
+
Closes PROJ-123
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
fix(api): handle null response from payment provider
|
|
82
|
+
|
|
83
|
+
Payment provider returns null instead of error object
|
|
84
|
+
when service is unavailable. Added null check and
|
|
85
|
+
appropriate error handling.
|
|
86
|
+
|
|
87
|
+
Fixes PROJ-456
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
docs: update API authentication section
|
|
92
|
+
|
|
93
|
+
- Add examples for token refresh
|
|
94
|
+
- Document error codes
|
|
95
|
+
- Add troubleshooting guide
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
refactor: extract validation logic to separate module
|
|
100
|
+
|
|
101
|
+
No functional changes. Moved validation from controllers
|
|
102
|
+
to dedicated validation module for better testability.
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Pull Request Process
|
|
106
|
+
|
|
107
|
+
### PR Title
|
|
108
|
+
|
|
109
|
+
Same format as commit messages:
|
|
110
|
+
```
|
|
111
|
+
feat(auth): add user registration API
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### PR Description Template
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
## Summary
|
|
118
|
+
|
|
119
|
+
Brief description of changes.
|
|
120
|
+
|
|
121
|
+
## Changes
|
|
122
|
+
|
|
123
|
+
- Change 1
|
|
124
|
+
- Change 2
|
|
125
|
+
|
|
126
|
+
## Testing
|
|
127
|
+
|
|
128
|
+
- [ ] Unit tests added/updated
|
|
129
|
+
- [ ] Integration tests pass
|
|
130
|
+
- [ ] Manual testing done
|
|
131
|
+
|
|
132
|
+
## Screenshots (if UI changes)
|
|
133
|
+
|
|
134
|
+
## Checklist
|
|
135
|
+
|
|
136
|
+
- [ ] Code follows project style guide
|
|
137
|
+
- [ ] Self-reviewed the code
|
|
138
|
+
- [ ] Commented complex logic
|
|
139
|
+
- [ ] Updated documentation
|
|
140
|
+
- [ ] No new warnings
|
|
141
|
+
- [ ] Tests pass locally
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Review Process
|
|
145
|
+
|
|
146
|
+
1. Create PR with description
|
|
147
|
+
2. Request review from team
|
|
148
|
+
3. Address feedback
|
|
149
|
+
4. Get approval (min 1 reviewer)
|
|
150
|
+
5. Squash and merge
|
|
151
|
+
|
|
152
|
+
## Code Review Guidelines
|
|
153
|
+
|
|
154
|
+
### For Authors
|
|
155
|
+
|
|
156
|
+
- Keep PRs small (< 400 lines)
|
|
157
|
+
- Provide context in description
|
|
158
|
+
- Respond to all comments
|
|
159
|
+
- Don't take feedback personally
|
|
160
|
+
|
|
161
|
+
### For Reviewers
|
|
162
|
+
|
|
163
|
+
- Be constructive and specific
|
|
164
|
+
- Explain why, not just what
|
|
165
|
+
- Approve when good enough
|
|
166
|
+
- Use conventional comments:
|
|
167
|
+
- `nit:` - minor, optional
|
|
168
|
+
- `suggestion:` - improvement idea
|
|
169
|
+
- `question:` - seeking clarification
|
|
170
|
+
- `issue:` - must be addressed
|
|
171
|
+
|
|
172
|
+
## Development Setup
|
|
173
|
+
|
|
174
|
+
1. Clone repository
|
|
175
|
+
2. Install dependencies
|
|
176
|
+
3. Copy `.env.example` to `.env`
|
|
177
|
+
4. Run setup script
|
|
178
|
+
5. Verify with tests
|
|
179
|
+
|
|
180
|
+
## Questions?
|
|
181
|
+
|
|
182
|
+
Open an issue or contact the team.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# {{project_name}}
|
|
2
|
+
|
|
3
|
+
> {{project_description}}
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Install dependencies
|
|
9
|
+
# (project-specific command)
|
|
10
|
+
|
|
11
|
+
# Run development server
|
|
12
|
+
# (project-specific command)
|
|
13
|
+
|
|
14
|
+
# Run tests
|
|
15
|
+
# (project-specific command)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Documentation
|
|
19
|
+
|
|
20
|
+
| Document | Description |
|
|
21
|
+
|----------|-------------|
|
|
22
|
+
| [PRD](docs/prd.md) | Product Requirements Document |
|
|
23
|
+
| [Architecture](docs/architecture.md) | System Architecture |
|
|
24
|
+
| [Coding Standards](docs/coding-standards/) | Code conventions |
|
|
25
|
+
| [API Reference](docs/api/) | API documentation |
|
|
26
|
+
|
|
27
|
+
## Project Structure
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
├── src/ # Source code
|
|
31
|
+
├── tests/ # Test files
|
|
32
|
+
├── docs/ # Documentation
|
|
33
|
+
│ ├── prd.md # Product requirements
|
|
34
|
+
│ ├── architecture.md # System architecture
|
|
35
|
+
│ ├── coding-standards/ # Coding conventions
|
|
36
|
+
│ ├── sprint-artifacts/ # Epics, stories
|
|
37
|
+
│ └── confluence/ # Translated docs (Ukrainian)
|
|
38
|
+
├── .opencode/ # AI workflow system
|
|
39
|
+
└── CHANGELOG.md # Version history
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Development Workflow
|
|
43
|
+
|
|
44
|
+
This project uses [OpenCode Workflow](/.opencode/README.md) for AI-assisted development.
|
|
45
|
+
|
|
46
|
+
### Commands
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
/requirements # Gather requirements
|
|
50
|
+
/prd # Create/edit PRD
|
|
51
|
+
/architecture # Design architecture
|
|
52
|
+
/epics # Create epics
|
|
53
|
+
/stories # Create stories
|
|
54
|
+
/dev-story # Implement story
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Agents
|
|
58
|
+
|
|
59
|
+
| Agent | Role |
|
|
60
|
+
|-------|------|
|
|
61
|
+
| @analyst | Requirements gathering |
|
|
62
|
+
| @pm | Product management |
|
|
63
|
+
| @architect | System design |
|
|
64
|
+
| @sm | Sprint management |
|
|
65
|
+
| @dev | Development |
|
|
66
|
+
|
|
67
|
+
## Contributing
|
|
68
|
+
|
|
69
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
70
|
+
|
|
71
|
+
## Changelog
|
|
72
|
+
|
|
73
|
+
See [CHANGELOG.md](CHANGELOG.md) for version history.
|
|
74
|
+
|
|
75
|
+
## License
|
|
76
|
+
|
|
77
|
+
{{license}}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Documentation
|
|
2
|
+
|
|
3
|
+
## Structure
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
docs/
|
|
7
|
+
├── README.md # This file
|
|
8
|
+
├── prd.md # Product Requirements Document
|
|
9
|
+
├── architecture.md # System Architecture
|
|
10
|
+
│
|
|
11
|
+
├── requirements/ # Requirements gathering
|
|
12
|
+
│ └── README.md
|
|
13
|
+
│
|
|
14
|
+
├── coding-standards/ # Code conventions
|
|
15
|
+
│ ├── README.md
|
|
16
|
+
│ └── ...
|
|
17
|
+
│
|
|
18
|
+
├── architecture/ # Architecture details
|
|
19
|
+
│ ├── adr/ # Architecture Decision Records
|
|
20
|
+
│ └── diagrams/ # Architecture diagrams
|
|
21
|
+
│
|
|
22
|
+
├── api/ # API documentation
|
|
23
|
+
│ └── README.md
|
|
24
|
+
│
|
|
25
|
+
├── sprint-artifacts/ # Sprint work
|
|
26
|
+
│ ├── backlog/ # Unscheduled epics
|
|
27
|
+
│ ├── sprint-1/ # Sprint 1 epics & stories
|
|
28
|
+
│ └── sprint-status.yaml # Current status
|
|
29
|
+
│
|
|
30
|
+
└── confluence/ # Translated docs (Ukrainian)
|
|
31
|
+
└── README.md
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Key Documents
|
|
35
|
+
|
|
36
|
+
| Document | Status | Description |
|
|
37
|
+
|----------|--------|-------------|
|
|
38
|
+
| [PRD](prd.md) | 📝 Draft | Product requirements |
|
|
39
|
+
| [Architecture](architecture.md) | 📝 Draft | System design |
|
|
40
|
+
| [Coding Standards](coding-standards/) | 📝 Draft | Code conventions |
|
|
41
|
+
|
|
42
|
+
## Documentation Workflow
|
|
43
|
+
|
|
44
|
+
1. **Technical docs** → Write in English in `docs/`
|
|
45
|
+
2. **Translations** → Generate to `docs/confluence/` via `/translate`
|
|
46
|
+
3. **Updates** → Changelog at end of each document
|
|
47
|
+
|
|
48
|
+
## Templates
|
|
49
|
+
|
|
50
|
+
Templates are in `.opencode/templates/`:
|
|
51
|
+
- `prd-template.md`
|
|
52
|
+
- `architecture-template.md`
|
|
53
|
+
- `epic-template.md`
|
|
54
|
+
- `story-template.md`
|
|
55
|
+
|
|
56
|
+
## Writing Guidelines
|
|
57
|
+
|
|
58
|
+
- Use English for all technical documentation
|
|
59
|
+
- Be specific and measurable
|
|
60
|
+
- Include examples
|
|
61
|
+
- Update changelog at end of session
|
|
62
|
+
- Add TODO placeholders for incomplete sections
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# API Documentation
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This folder contains API documentation for the project.
|
|
6
|
+
|
|
7
|
+
## Files
|
|
8
|
+
|
|
9
|
+
| File | Description |
|
|
10
|
+
|------|-------------|
|
|
11
|
+
| README.md | This overview |
|
|
12
|
+
| endpoints.md | API endpoints reference |
|
|
13
|
+
| authentication.md | Auth documentation |
|
|
14
|
+
| errors.md | Error codes and handling |
|
|
15
|
+
|
|
16
|
+
## API Overview
|
|
17
|
+
|
|
18
|
+
<!-- TODO(DRAFT): Add API overview after architecture -->
|
|
19
|
+
|
|
20
|
+
Base URL: `https://api.example.com/v1`
|
|
21
|
+
|
|
22
|
+
## Authentication
|
|
23
|
+
|
|
24
|
+
<!-- TODO(DEPENDENCY): Waiting on architecture -->
|
|
25
|
+
|
|
26
|
+
## Endpoints
|
|
27
|
+
|
|
28
|
+
<!-- TODO(EXPAND): Add endpoints after implementation -->
|
|
29
|
+
|
|
30
|
+
## Error Codes
|
|
31
|
+
|
|
32
|
+
| Code | Description |
|
|
33
|
+
|------|-------------|
|
|
34
|
+
| 400 | Bad Request |
|
|
35
|
+
| 401 | Unauthorized |
|
|
36
|
+
| 403 | Forbidden |
|
|
37
|
+
| 404 | Not Found |
|
|
38
|
+
| 500 | Internal Server Error |
|
|
39
|
+
|
|
40
|
+
## Related
|
|
41
|
+
|
|
42
|
+
- [Architecture](../architecture.md)
|
|
43
|
+
- [PRD](../prd.md)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This folder contains detailed architecture documentation.
|
|
6
|
+
|
|
7
|
+
## Structure
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
architecture/
|
|
11
|
+
├── README.md # This file
|
|
12
|
+
├── adr/ # Architecture Decision Records
|
|
13
|
+
│ ├── README.md
|
|
14
|
+
│ └── 001-*.md # Individual ADRs
|
|
15
|
+
└── diagrams/ # Architecture diagrams
|
|
16
|
+
└── README.md
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Key Documents
|
|
20
|
+
|
|
21
|
+
| Document | Description |
|
|
22
|
+
|----------|-------------|
|
|
23
|
+
| [../architecture.md](../architecture.md) | Main architecture document |
|
|
24
|
+
| [adr/](adr/) | Architecture decisions |
|
|
25
|
+
| [diagrams/](diagrams/) | Visual diagrams |
|
|
26
|
+
|
|
27
|
+
## Process
|
|
28
|
+
|
|
29
|
+
1. Create architecture with `/architecture`
|
|
30
|
+
2. Document decisions with ADRs
|
|
31
|
+
3. Add diagrams for visualization
|
|
32
|
+
|
|
33
|
+
## Related
|
|
34
|
+
|
|
35
|
+
- [PRD](../prd.md)
|
|
36
|
+
- [Coding Standards](../coding-standards/)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Architecture Decision Records (ADR)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Document significant architecture decisions with context and consequences.
|
|
6
|
+
|
|
7
|
+
## Format
|
|
8
|
+
|
|
9
|
+
Each ADR follows this template:
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# ADR-NNN: Title
|
|
13
|
+
|
|
14
|
+
**Status:** Proposed | Accepted | Deprecated | Superseded
|
|
15
|
+
**Date:** YYYY-MM-DD
|
|
16
|
+
**Deciders:** [list of people]
|
|
17
|
+
|
|
18
|
+
## Context
|
|
19
|
+
|
|
20
|
+
What is the issue that we're seeing that is motivating this decision?
|
|
21
|
+
|
|
22
|
+
## Decision
|
|
23
|
+
|
|
24
|
+
What is the change that we're proposing and/or doing?
|
|
25
|
+
|
|
26
|
+
## Consequences
|
|
27
|
+
|
|
28
|
+
What becomes easier or more difficult because of this change?
|
|
29
|
+
|
|
30
|
+
### Positive
|
|
31
|
+
- ...
|
|
32
|
+
|
|
33
|
+
### Negative
|
|
34
|
+
- ...
|
|
35
|
+
|
|
36
|
+
### Neutral
|
|
37
|
+
- ...
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Index
|
|
41
|
+
|
|
42
|
+
| ADR | Title | Status | Date |
|
|
43
|
+
|-----|-------|--------|------|
|
|
44
|
+
| - | No ADRs yet | - | - |
|
|
45
|
+
|
|
46
|
+
## Creating ADRs
|
|
47
|
+
|
|
48
|
+
Use `/adr` command with @architect agent.
|
|
49
|
+
|
|
50
|
+
## References
|
|
51
|
+
|
|
52
|
+
- [ADR GitHub Organization](https://adr.github.io/)
|
|
53
|
+
- [Michael Nygard's article](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Architecture Diagrams
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Visual diagrams for system architecture.
|
|
6
|
+
|
|
7
|
+
## Diagram Types
|
|
8
|
+
|
|
9
|
+
| Type | Tool | Description |
|
|
10
|
+
|------|------|-------------|
|
|
11
|
+
| C4 Context | Mermaid/PlantUML | System context |
|
|
12
|
+
| C4 Container | Mermaid/PlantUML | Containers/services |
|
|
13
|
+
| C4 Component | Mermaid/PlantUML | Components |
|
|
14
|
+
| Sequence | Mermaid | Interactions |
|
|
15
|
+
| ER | Mermaid | Data model |
|
|
16
|
+
| Flowchart | Mermaid | Processes |
|
|
17
|
+
|
|
18
|
+
## Mermaid Examples
|
|
19
|
+
|
|
20
|
+
### C4 Context
|
|
21
|
+
|
|
22
|
+
```mermaid
|
|
23
|
+
C4Context
|
|
24
|
+
title System Context
|
|
25
|
+
|
|
26
|
+
Person(user, "User", "End user")
|
|
27
|
+
System(system, "System", "Our system")
|
|
28
|
+
System_Ext(ext, "External", "External system")
|
|
29
|
+
|
|
30
|
+
Rel(user, system, "Uses")
|
|
31
|
+
Rel(system, ext, "Calls")
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Sequence
|
|
35
|
+
|
|
36
|
+
```mermaid
|
|
37
|
+
sequenceDiagram
|
|
38
|
+
participant U as User
|
|
39
|
+
participant A as API
|
|
40
|
+
participant S as Service
|
|
41
|
+
participant D as Database
|
|
42
|
+
|
|
43
|
+
U->>A: Request
|
|
44
|
+
A->>S: Process
|
|
45
|
+
S->>D: Query
|
|
46
|
+
D-->>S: Result
|
|
47
|
+
S-->>A: Response
|
|
48
|
+
A-->>U: Response
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Files
|
|
52
|
+
|
|
53
|
+
| File | Description |
|
|
54
|
+
|------|-------------|
|
|
55
|
+
| - | No diagrams yet |
|
|
56
|
+
|
|
57
|
+
## Creating Diagrams
|
|
58
|
+
|
|
59
|
+
Use `/diagram` or include in architecture document.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Coding Standards
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This folder contains coding conventions and best practices for the project.
|
|
6
|
+
|
|
7
|
+
## Files
|
|
8
|
+
|
|
9
|
+
| File | Description |
|
|
10
|
+
|------|-------------|
|
|
11
|
+
| README.md | This overview |
|
|
12
|
+
| naming.md | Naming conventions |
|
|
13
|
+
| architecture.md | Architecture patterns |
|
|
14
|
+
| testing.md | Testing standards |
|
|
15
|
+
| git.md | Git workflow (see also CONTRIBUTING.md) |
|
|
16
|
+
|
|
17
|
+
## Quick Reference
|
|
18
|
+
|
|
19
|
+
### File Naming
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
snake_case.ext # Source files
|
|
23
|
+
PascalCase # Classes/Types
|
|
24
|
+
camelCase # Functions/variables
|
|
25
|
+
SCREAMING_SNAKE_CASE # Constants
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Directory Structure
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
src/
|
|
32
|
+
├── domain/ # Business logic
|
|
33
|
+
├── application/ # Use cases
|
|
34
|
+
├── infrastructure/ # External adapters
|
|
35
|
+
└── api/ # API layer
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Code Organization
|
|
39
|
+
|
|
40
|
+
- Single responsibility per file
|
|
41
|
+
- Explicit imports
|
|
42
|
+
- No circular dependencies
|
|
43
|
+
- Tests next to source
|
|
44
|
+
|
|
45
|
+
## Process
|
|
46
|
+
|
|
47
|
+
Generate standards with `/coding-standards` using @architect agent.
|
|
48
|
+
|
|
49
|
+
## Related
|
|
50
|
+
|
|
51
|
+
- [CONTRIBUTING.md](/CONTRIBUTING.md) - Git workflow
|
|
52
|
+
- [Architecture](../architecture.md) - System design
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Documentation Translations
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This folder contains translations of technical documentation for non-English speakers (e.g., Ukrainian for Confluence export).
|
|
6
|
+
|
|
7
|
+
## Structure
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
confluence/
|
|
11
|
+
├── README.md # This file
|
|
12
|
+
├── prd-uk.md # PRD (Ukrainian)
|
|
13
|
+
├── prd-uk.confluence # PRD (Confluence format)
|
|
14
|
+
├── architecture-uk.md # Architecture (Ukrainian)
|
|
15
|
+
└── html/ # HTML versions
|
|
16
|
+
└── *.html
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Documents
|
|
20
|
+
|
|
21
|
+
| Document | Format | Original |
|
|
22
|
+
|----------|--------|----------|
|
|
23
|
+
| - | - | - |
|
|
24
|
+
|
|
25
|
+
## Process
|
|
26
|
+
|
|
27
|
+
1. Technical documentation is written in English in `docs/`
|
|
28
|
+
2. Translations are generated via `/translate` command
|
|
29
|
+
3. Translated files are stored here
|
|
30
|
+
|
|
31
|
+
## Formats
|
|
32
|
+
|
|
33
|
+
| Format | Extension | Purpose |
|
|
34
|
+
|--------|-----------|---------|
|
|
35
|
+
| Markdown | `.md` | View in repository |
|
|
36
|
+
| Confluence | `.confluence` | Import to Confluence |
|
|
37
|
+
| HTML | `.html` | Standalone viewing |
|
|
38
|
+
|
|
39
|
+
## Notes
|
|
40
|
+
|
|
41
|
+
- Technical terms remain in English (API, endpoint, etc.)
|
|
42
|
+
- Code blocks are not translated
|
|
43
|
+
- Original in `docs/` is always the source of truth
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Requirements
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This folder contains requirements gathered from stakeholders.
|
|
6
|
+
|
|
7
|
+
## Files
|
|
8
|
+
|
|
9
|
+
| File | Description | Status |
|
|
10
|
+
|------|-------------|--------|
|
|
11
|
+
| requirements.md | Main requirements document | 📝 Draft |
|
|
12
|
+
|
|
13
|
+
## Process
|
|
14
|
+
|
|
15
|
+
1. Run `/requirements` with @analyst agent
|
|
16
|
+
2. Conduct stakeholder interviews
|
|
17
|
+
3. Document FR (Functional) and NFR (Non-Functional)
|
|
18
|
+
4. Validate with `/validate requirements`
|
|
19
|
+
|
|
20
|
+
## Template
|
|
21
|
+
|
|
22
|
+
See `.opencode/templates/requirements-template.md`
|
|
23
|
+
|
|
24
|
+
## Next Steps
|
|
25
|
+
|
|
26
|
+
After requirements are complete:
|
|
27
|
+
1. Create PRD → `/prd`
|
|
28
|
+
2. Design architecture → `/architecture`
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Sprint Artifacts
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Epics, stories, and sprint planning documents.
|
|
6
|
+
|
|
7
|
+
## Structure
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
sprint-artifacts/
|
|
11
|
+
├── README.md # This file
|
|
12
|
+
├── sprint-status.yaml # Current sprint status
|
|
13
|
+
├── backlog/ # Unscheduled epics
|
|
14
|
+
│ └── epic-*.md
|
|
15
|
+
├── sprint-1/ # Sprint 1
|
|
16
|
+
│ ├── epic-*.md
|
|
17
|
+
│ └── stories/
|
|
18
|
+
│ └── story-*.md
|
|
19
|
+
├── sprint-2/ # Sprint 2
|
|
20
|
+
│ └── ...
|
|
21
|
+
└── jira-sync-report.md # Last Jira sync
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
1. Create epics from PRD → `/epics`
|
|
27
|
+
2. Create stories for epic → `/stories {epic-id}`
|
|
28
|
+
3. Plan sprint → `/sprint-plan`
|
|
29
|
+
4. Sync to Jira → `/jira-sync`
|
|
30
|
+
5. Implement → `/dev-story`
|
|
31
|
+
|
|
32
|
+
## Naming Conventions
|
|
33
|
+
|
|
34
|
+
### Epics
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
epic-{NN}-{module}-{description}.md
|
|
38
|
+
|
|
39
|
+
Examples:
|
|
40
|
+
epic-01-auth-user-management.md
|
|
41
|
+
epic-02-catalog-products.md
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Stories
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
story-{EPIC}-{NN}-{description}.md
|
|
48
|
+
|
|
49
|
+
Examples:
|
|
50
|
+
story-01-01-user-registration.md
|
|
51
|
+
story-01-02-user-login.md
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Status Tracking
|
|
55
|
+
|
|
56
|
+
See `sprint-status.yaml` for current status:
|
|
57
|
+
|
|
58
|
+
```yaml
|
|
59
|
+
current_sprint: 1
|
|
60
|
+
sprints:
|
|
61
|
+
- number: 1
|
|
62
|
+
status: active
|
|
63
|
+
epics:
|
|
64
|
+
- id: E01
|
|
65
|
+
status: in_progress
|
|
66
|
+
stories:
|
|
67
|
+
- id: S01-01
|
|
68
|
+
status: done
|
|
69
|
+
- id: S01-02
|
|
70
|
+
status: in_progress
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Related
|
|
74
|
+
|
|
75
|
+
- [PRD](../prd.md)
|
|
76
|
+
- [Architecture](../architecture.md)
|