tyrex-framework 0.1.1
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/LICENSE +21 -0
- package/README.md +274 -0
- package/bin/tyrex.js +445 -0
- package/package.json +33 -0
- package/templates/AGENTS.md +74 -0
- package/templates/CHANGELOG.md +11 -0
- package/templates/CLAUDE.md +74 -0
- package/templates/TYREX.md +60 -0
- package/templates/adr.md +20 -0
- package/templates/commands/unified/tyrex-context.md +107 -0
- package/templates/commands/unified/tyrex-discuss.md +141 -0
- package/templates/commands/unified/tyrex-do.md +133 -0
- package/templates/commands/unified/tyrex-evolve.md +31 -0
- package/templates/commands/unified/tyrex-handoff.md +215 -0
- package/templates/commands/unified/tyrex-help.md +293 -0
- package/templates/commands/unified/tyrex-init.md +134 -0
- package/templates/commands/unified/tyrex-new.md +156 -0
- package/templates/commands/unified/tyrex-openapi.md +168 -0
- package/templates/commands/unified/tyrex-plan.md +152 -0
- package/templates/commands/unified/tyrex-quick.md +31 -0
- package/templates/commands/unified/tyrex-readme.md +154 -0
- package/templates/commands/unified/tyrex-resume.md +75 -0
- package/templates/commands/unified/tyrex-review.md +157 -0
- package/templates/commands/unified/tyrex-settings.md +67 -0
- package/templates/commands/unified/tyrex-skills.md +150 -0
- package/templates/commands/unified/tyrex-status.md +158 -0
- package/templates/commands/unified/tyrex-wiki.md +116 -0
- package/templates/constitution.md +60 -0
- package/templates/cursor.yml +29 -0
- package/templates/feature.md +40 -0
- package/templates/prd.md +30 -0
- package/templates/review-checklist.md +37 -0
- package/templates/rfc.md +19 -0
- package/templates/roadmap.yml +16 -0
- package/templates/skill.md +16 -0
- package/templates/spec.md +33 -0
- package/templates/srs.md +27 -0
- package/templates/tyrex.yml +54 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Generate or update project wiki pages in docs/wiki/"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /tyrex-wiki - Generate/Update Project Wiki
|
|
6
|
+
|
|
7
|
+
You are the Tyrex Framework orchestrator. Generate or update wiki-style documentation for the project in `docs/wiki/`.
|
|
8
|
+
|
|
9
|
+
## Agent Mode
|
|
10
|
+
|
|
11
|
+
This command runs in **plan** mode. Set `agent_mode: "plan"` in `cursor.yml` as the FIRST action.
|
|
12
|
+
You MUST NOT write source code. You may create/modify only `docs/wiki/` and `.tyrex/` files.
|
|
13
|
+
|
|
14
|
+
## Behavior
|
|
15
|
+
|
|
16
|
+
### Step 1: Project analysis
|
|
17
|
+
|
|
18
|
+
Read the project to understand what needs documenting:
|
|
19
|
+
|
|
20
|
+
1. `.tyrex/TYREX.md` — project context, architecture, patterns
|
|
21
|
+
2. `.tyrex/map/` — project mapping (if exists)
|
|
22
|
+
3. Source code structure — identify major modules/areas
|
|
23
|
+
4. Existing wiki pages in `docs/wiki/` — understand what's already documented
|
|
24
|
+
5. ADRs in `docs/adrs/` — architecture decisions that need wiki context
|
|
25
|
+
6. Feature specs in `.tyrex/features/` — completed features that may need documentation
|
|
26
|
+
|
|
27
|
+
### Step 2: Propose wiki structure
|
|
28
|
+
|
|
29
|
+
Present a proposed wiki structure based on the project:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
docs/wiki/
|
|
33
|
+
├── index.md # Wiki home (table of contents)
|
|
34
|
+
├── getting-started.md # Onboarding guide for new developers
|
|
35
|
+
├── architecture.md # System architecture overview with diagrams
|
|
36
|
+
├── [area-1].md # e.g., authentication.md, payments.md
|
|
37
|
+
├── [area-2].md # One page per major feature/domain area
|
|
38
|
+
├── deployment.md # Deployment guide
|
|
39
|
+
├── troubleshooting.md # Common issues and solutions
|
|
40
|
+
└── glossary.md # Project-specific terminology
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
For each proposed page, show:
|
|
44
|
+
- Title
|
|
45
|
+
- Brief description of what it would cover
|
|
46
|
+
- Whether it already exists (update) or is new (create)
|
|
47
|
+
|
|
48
|
+
Ask: "Generate all pages? Or select individually?"
|
|
49
|
+
|
|
50
|
+
### Step 3: Generate wiki pages
|
|
51
|
+
|
|
52
|
+
For each selected page, generate content following these rules:
|
|
53
|
+
|
|
54
|
+
**index.md:**
|
|
55
|
+
- Table of contents with links to all wiki pages
|
|
56
|
+
- Brief project description
|
|
57
|
+
- Quick navigation guide
|
|
58
|
+
|
|
59
|
+
**getting-started.md:**
|
|
60
|
+
- Prerequisites and setup steps
|
|
61
|
+
- Key concepts a new developer needs to know
|
|
62
|
+
- First tasks / where to start
|
|
63
|
+
- Links to relevant wiki pages
|
|
64
|
+
|
|
65
|
+
**architecture.md:**
|
|
66
|
+
- System overview with Mermaid diagrams
|
|
67
|
+
- Component descriptions
|
|
68
|
+
- Data flow
|
|
69
|
+
- Key design decisions (link to ADRs)
|
|
70
|
+
|
|
71
|
+
**[area].md (domain pages):**
|
|
72
|
+
- What this area does
|
|
73
|
+
- Key files and their responsibilities
|
|
74
|
+
- How to modify / extend this area
|
|
75
|
+
- Testing approach for this area
|
|
76
|
+
- Common patterns used
|
|
77
|
+
|
|
78
|
+
**deployment.md:**
|
|
79
|
+
- Environment setup
|
|
80
|
+
- Deployment steps
|
|
81
|
+
- Rollback procedures
|
|
82
|
+
- Monitoring / health checks
|
|
83
|
+
|
|
84
|
+
**troubleshooting.md:**
|
|
85
|
+
- Common errors and solutions
|
|
86
|
+
- Debugging tips
|
|
87
|
+
- Known issues and workarounds
|
|
88
|
+
|
|
89
|
+
**glossary.md:**
|
|
90
|
+
- Project-specific terms and their definitions
|
|
91
|
+
- Abbreviations used in the codebase
|
|
92
|
+
|
|
93
|
+
### Step 4: Handle existing pages
|
|
94
|
+
|
|
95
|
+
If wiki pages already exist:
|
|
96
|
+
1. Compare existing content with generated content
|
|
97
|
+
2. For each page, show what would change
|
|
98
|
+
3. Ask: "Update? [Y/n/merge]"
|
|
99
|
+
- Y: Replace entirely
|
|
100
|
+
- n: Skip this page
|
|
101
|
+
- merge: Keep user-written sections, update generated sections
|
|
102
|
+
|
|
103
|
+
### Step 5: Commit
|
|
104
|
+
|
|
105
|
+
Update CHANGELOG.md with the wiki change.
|
|
106
|
+
Handle commit based on configured mode (auto/approve).
|
|
107
|
+
|
|
108
|
+
## Rules
|
|
109
|
+
- Every wiki page MUST include Mermaid diagrams where architecture or flow is described
|
|
110
|
+
- Pages should be self-contained — a developer should be able to read one page and understand that area
|
|
111
|
+
- Cross-reference between pages using relative links
|
|
112
|
+
- Do NOT document implementation details that change frequently — focus on concepts and patterns
|
|
113
|
+
- Keep each page under 200 lines — split into sub-pages if needed
|
|
114
|
+
- Do NOT invent features or capabilities — only document what exists in the code
|
|
115
|
+
- Include code examples from the actual codebase when illustrating patterns
|
|
116
|
+
- Date each page with "Last updated: YYYY-MM-DD" at the bottom
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Constitution - {{PROJECT_NAME}}
|
|
2
|
+
|
|
3
|
+
> Inviolable principles. The AI agent MUST follow these at all times.
|
|
4
|
+
> The human can update this document. The AI cannot ignore it.
|
|
5
|
+
|
|
6
|
+
## Rules
|
|
7
|
+
|
|
8
|
+
1. **Every commit passes CI** (lint + tests + security scan)
|
|
9
|
+
2. **TDD**: write tests alongside or before code
|
|
10
|
+
3. **No hardcoded secrets** in code or commits
|
|
11
|
+
4. **No unnecessary dependencies** - justify every addition
|
|
12
|
+
5. **Simplicity > Cleverness** - the simplest solution that works wins
|
|
13
|
+
6. **CHANGELOG is mandatory** - every change updates docs/CHANGELOG.md
|
|
14
|
+
7. **Small commits** - one task = one commit, atomic and revertible
|
|
15
|
+
8. **Documentation first** - when configured, generate docs before code
|
|
16
|
+
|
|
17
|
+
## The Agent MUST
|
|
18
|
+
|
|
19
|
+
- Ask when in doubt instead of assuming
|
|
20
|
+
- Propose the simplest solution first
|
|
21
|
+
- Warn when something seems over-engineered
|
|
22
|
+
- Follow patterns documented in TYREX.md
|
|
23
|
+
- Update CHANGELOG.md after every change
|
|
24
|
+
- Run tests before considering a task complete
|
|
25
|
+
- Respect task dependencies defined in feature specs
|
|
26
|
+
- Update cursor.yml after completing each task
|
|
27
|
+
|
|
28
|
+
## The Agent MUST NOT
|
|
29
|
+
|
|
30
|
+
- Implement without human approval of the plan
|
|
31
|
+
- Add features, libraries, or tools not requested
|
|
32
|
+
- Make commits that break CI
|
|
33
|
+
- Skip tests
|
|
34
|
+
- Generate specs or plans longer than 50 lines per feature
|
|
35
|
+
- Modify constitution.md without explicit human approval
|
|
36
|
+
- Ignore the "Out of Scope" section in feature specs
|
|
37
|
+
- Push to remote without explicit human approval
|
|
38
|
+
|
|
39
|
+
## On Agent Mode
|
|
40
|
+
|
|
41
|
+
- The `agent_mode` field in `cursor.yml` controls what the agent can do
|
|
42
|
+
- Each `/tyrex-*` command sets `agent_mode` as its FIRST action before any other work
|
|
43
|
+
- The agent MUST read `agent_mode` from `cursor.yml` before taking any action
|
|
44
|
+
- **`plan` mode**: the agent MUST NOT create, edit, or delete source code files. Only `.tyrex/`, `docs/`, and configuration files may be modified. Analysis, planning, discussion, and documentation only.
|
|
45
|
+
- **`build` mode**: the agent may create, edit, and delete source code files following all other rules (TDD, small commits, CI, etc.)
|
|
46
|
+
- If the agent detects `agent_mode: "plan"` and is asked to write source code, it MUST refuse and suggest running `/tyrex-do` or `/tyrex-quick` instead
|
|
47
|
+
|
|
48
|
+
## On Parallelization
|
|
49
|
+
|
|
50
|
+
- Sub-agents receive ONLY their task context + TYREX.md + constitution.md
|
|
51
|
+
- Sub-agents write ONLY to their own task state file
|
|
52
|
+
- Sub-agents do NOT modify cursor.yml (only the orchestrator does)
|
|
53
|
+
- Sub-agents do NOT modify CHANGELOG.md (done after wave completion)
|
|
54
|
+
- Conflicts in file modifications = those tasks CANNOT be parallelized
|
|
55
|
+
|
|
56
|
+
## On Commits
|
|
57
|
+
|
|
58
|
+
- Mode "approve": write commit message + changelog entry, present to human, wait for approval
|
|
59
|
+
- Mode "auto": commit automatically with conventional commit message, update changelog
|
|
60
|
+
- Branch naming: agent suggests based on feature, human approves (or auto if configured)
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# .tyrex/state/cursor.yml - Session pointer for quick recovery
|
|
2
|
+
# This file enables fast session resumption without re-reading the entire codebase.
|
|
3
|
+
# Updated by the orchestrator agent after each task completion.
|
|
4
|
+
|
|
5
|
+
last_updated: "{{DATE}}T00:00:00Z"
|
|
6
|
+
session_id: null
|
|
7
|
+
|
|
8
|
+
# Agent mode controls what the agent can do.
|
|
9
|
+
# "plan" — read, analyze, discuss, plan. MUST NOT write source code.
|
|
10
|
+
# "build" — implement, test, commit. May write source code following TDD and commit rules.
|
|
11
|
+
# Each /tyrex-* command sets this field as its FIRST action.
|
|
12
|
+
agent_mode: "plan"
|
|
13
|
+
|
|
14
|
+
active_feature: null
|
|
15
|
+
active_feature_file: null
|
|
16
|
+
|
|
17
|
+
last_task_completed: null
|
|
18
|
+
last_commit: null
|
|
19
|
+
last_action: "tyrex_initialized"
|
|
20
|
+
|
|
21
|
+
tasks_summary:
|
|
22
|
+
total: 0
|
|
23
|
+
completed: 0
|
|
24
|
+
in_progress: 0
|
|
25
|
+
pending: 0
|
|
26
|
+
failed: 0
|
|
27
|
+
blocked: 0
|
|
28
|
+
|
|
29
|
+
next_tasks: []
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Feature: [NAME]
|
|
2
|
+
|
|
3
|
+
## Objective
|
|
4
|
+
<!-- 1-2 sentences: WHAT and WHY -->
|
|
5
|
+
|
|
6
|
+
## Acceptance Criteria
|
|
7
|
+
- [ ] ...
|
|
8
|
+
- [ ] ...
|
|
9
|
+
|
|
10
|
+
## Out of Scope
|
|
11
|
+
<!-- What NOT to do. Critical to prevent over-engineering. -->
|
|
12
|
+
- ...
|
|
13
|
+
|
|
14
|
+
## Technical Notes
|
|
15
|
+
<!-- Added during /tyrex-plan phase -->
|
|
16
|
+
|
|
17
|
+
## Tasks
|
|
18
|
+
<!-- Added during /tyrex-plan phase. Each task has dependency, parallelism, skill, and quality attributes. -->
|
|
19
|
+
<!--
|
|
20
|
+
### Task 1: [description]
|
|
21
|
+
- **Type:** sequential | parallel
|
|
22
|
+
- **Depends on:** [] (task numbers)
|
|
23
|
+
- **Unlocks:** [] (task numbers)
|
|
24
|
+
- **Estimate:** small | medium | large
|
|
25
|
+
- **Files:** [files to create or modify]
|
|
26
|
+
- **Skill:** none | [skill name from .tyrex/skills/]
|
|
27
|
+
- **Quality:** required | recommended | optional
|
|
28
|
+
- **Status:** pending | in_progress | completed | failed
|
|
29
|
+
-->
|
|
30
|
+
|
|
31
|
+
## Configuration
|
|
32
|
+
<!-- Set during /tyrex-new -->
|
|
33
|
+
<!--
|
|
34
|
+
- Commits: approve | auto
|
|
35
|
+
- Branch: feat/...
|
|
36
|
+
- Docs: [changelog, spec, srs, prd, adr, rfc, wiki, diagrams]
|
|
37
|
+
-->
|
|
38
|
+
|
|
39
|
+
## Status: spec
|
|
40
|
+
<!-- spec | planned | in_progress | done -->
|
package/templates/prd.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# PRD: [PRODUCT/FEATURE TITLE]
|
|
2
|
+
|
|
3
|
+
## Date
|
|
4
|
+
{{DATE}}
|
|
5
|
+
|
|
6
|
+
## Project
|
|
7
|
+
{{PROJECT_NAME}}
|
|
8
|
+
|
|
9
|
+
## Problem Statement
|
|
10
|
+
<!-- What problem are we solving? Who is affected? -->
|
|
11
|
+
|
|
12
|
+
## Goals & Success Metrics
|
|
13
|
+
<!-- Desired outcomes and how we measure success. -->
|
|
14
|
+
|
|
15
|
+
## User Personas
|
|
16
|
+
<!-- Who are the target users? Brief descriptions. -->
|
|
17
|
+
|
|
18
|
+
## Requirements
|
|
19
|
+
|
|
20
|
+
### Must-Have
|
|
21
|
+
- ...
|
|
22
|
+
|
|
23
|
+
### Nice-to-Have
|
|
24
|
+
- ...
|
|
25
|
+
|
|
26
|
+
## Out of Scope
|
|
27
|
+
<!-- What is explicitly NOT part of this effort? -->
|
|
28
|
+
|
|
29
|
+
## Timeline / Milestones
|
|
30
|
+
<!-- Optional. Key dates or phases if applicable. -->
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Review Checklist
|
|
2
|
+
|
|
3
|
+
## Functionality
|
|
4
|
+
- [ ] All acceptance criteria met
|
|
5
|
+
- [ ] Edge cases handled
|
|
6
|
+
- [ ] Error handling in place
|
|
7
|
+
|
|
8
|
+
## Code Quality
|
|
9
|
+
- [ ] No code duplication (DRY)
|
|
10
|
+
- [ ] Functions/methods < 50 lines
|
|
11
|
+
- [ ] Files < 300 lines
|
|
12
|
+
- [ ] Clear naming conventions
|
|
13
|
+
- [ ] Consistent with project patterns (TYREX.md)
|
|
14
|
+
|
|
15
|
+
## Tests
|
|
16
|
+
- [ ] Tests cover critical paths
|
|
17
|
+
- [ ] Tests cover edge cases
|
|
18
|
+
- [ ] All tests passing
|
|
19
|
+
- [ ] Test-to-code ratio reasonable (aim for > 1.0x)
|
|
20
|
+
|
|
21
|
+
## Security
|
|
22
|
+
- [ ] No hardcoded secrets
|
|
23
|
+
- [ ] Input validation present
|
|
24
|
+
- [ ] No SQL injection vectors
|
|
25
|
+
- [ ] No path traversal vectors
|
|
26
|
+
- [ ] Dependencies audited
|
|
27
|
+
|
|
28
|
+
## Documentation
|
|
29
|
+
- [ ] CHANGELOG.md updated
|
|
30
|
+
- [ ] ADR created (if architecture decision was made)
|
|
31
|
+
- [ ] TYREX.md updated (if new patterns emerged)
|
|
32
|
+
- [ ] Code comments where non-obvious
|
|
33
|
+
|
|
34
|
+
## Git
|
|
35
|
+
- [ ] Atomic commits (one task = one commit)
|
|
36
|
+
- [ ] Conventional commit messages
|
|
37
|
+
- [ ] No broken commits in history
|
package/templates/rfc.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# RFC-[NUMBER]: [TITLE]
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
<!-- One paragraph explanation of the proposal -->
|
|
5
|
+
|
|
6
|
+
## Motivation
|
|
7
|
+
<!-- Why are we doing this? What problem does it solve? -->
|
|
8
|
+
|
|
9
|
+
## Detailed Design
|
|
10
|
+
<!-- Technical details of the implementation -->
|
|
11
|
+
|
|
12
|
+
## Drawbacks
|
|
13
|
+
<!-- Why should we NOT do this? -->
|
|
14
|
+
|
|
15
|
+
## Alternatives
|
|
16
|
+
<!-- What other designs have been considered? -->
|
|
17
|
+
|
|
18
|
+
## Unresolved Questions
|
|
19
|
+
<!-- What parts of the design are still TBD? -->
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# .tyrex/roadmap.yml - Project roadmap and feature backlog
|
|
2
|
+
# Tracks planned, in-progress, and completed features.
|
|
3
|
+
# Updated by /tyrex-new (planned -> in_progress), /tyrex-review (-> done).
|
|
4
|
+
# Read by /tyrex-status for project-wide visibility.
|
|
5
|
+
#
|
|
6
|
+
# Status values: planned | in_progress | done | cancelled
|
|
7
|
+
#
|
|
8
|
+
# To add a planned feature manually:
|
|
9
|
+
# - id: "NNN"
|
|
10
|
+
# name: "feature-name"
|
|
11
|
+
# description: "Short description of the feature"
|
|
12
|
+
# status: planned
|
|
13
|
+
# referenced_in: []
|
|
14
|
+
# depends_on: []
|
|
15
|
+
|
|
16
|
+
features: []
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Skill: {{SKILL_NAME}}
|
|
2
|
+
|
|
3
|
+
## Role
|
|
4
|
+
{{ROLE_DESCRIPTION}}
|
|
5
|
+
|
|
6
|
+
## Expertise
|
|
7
|
+
{{EXPERTISE_AREAS}}
|
|
8
|
+
|
|
9
|
+
## Guidelines
|
|
10
|
+
{{BEHAVIORAL_GUIDELINES}}
|
|
11
|
+
|
|
12
|
+
## Patterns
|
|
13
|
+
<!-- Project-specific patterns learned over time. Initially empty, enriched after /tyrex-review. -->
|
|
14
|
+
|
|
15
|
+
## Review Criteria
|
|
16
|
+
{{REVIEW_CRITERIA}}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Spec: [TASK TITLE]
|
|
2
|
+
|
|
3
|
+
## Feature
|
|
4
|
+
<!-- Reference to parent feature, e.g. Feature 001 -->
|
|
5
|
+
|
|
6
|
+
## Date
|
|
7
|
+
{{DATE}}
|
|
8
|
+
|
|
9
|
+
## Project
|
|
10
|
+
{{PROJECT_NAME}}
|
|
11
|
+
|
|
12
|
+
## Objective
|
|
13
|
+
<!-- What does this task achieve technically? One or two sentences. -->
|
|
14
|
+
|
|
15
|
+
## Technical Approach
|
|
16
|
+
<!-- How will this be implemented? Key steps, algorithms, patterns. -->
|
|
17
|
+
|
|
18
|
+
## Constraints & Trade-offs
|
|
19
|
+
<!-- Known limitations, performance budgets, compatibility concerns. -->
|
|
20
|
+
|
|
21
|
+
## Dependencies
|
|
22
|
+
<!-- Libraries, services, or other tasks this depends on. -->
|
|
23
|
+
|
|
24
|
+
## Files Affected
|
|
25
|
+
<!-- List of files to create or modify. -->
|
|
26
|
+
- ...
|
|
27
|
+
|
|
28
|
+
## Edge Cases
|
|
29
|
+
<!-- Scenarios that need special handling. -->
|
|
30
|
+
|
|
31
|
+
## Testing Strategy
|
|
32
|
+
<!-- What tests will be written? Unit, integration, e2e? -->
|
|
33
|
+
- [ ] ...
|
package/templates/srs.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# SRS: [FEATURE TITLE]
|
|
2
|
+
|
|
3
|
+
## Feature
|
|
4
|
+
<!-- Reference to parent feature, e.g. Feature 001 -->
|
|
5
|
+
|
|
6
|
+
## Date
|
|
7
|
+
{{DATE}}
|
|
8
|
+
|
|
9
|
+
## Project
|
|
10
|
+
{{PROJECT_NAME}}
|
|
11
|
+
|
|
12
|
+
## Functional Requirements
|
|
13
|
+
<!-- Numbered list of what the system must do. -->
|
|
14
|
+
1. ...
|
|
15
|
+
|
|
16
|
+
## Non-Functional Requirements
|
|
17
|
+
<!-- Performance, security, scalability, accessibility, etc. -->
|
|
18
|
+
- ...
|
|
19
|
+
|
|
20
|
+
## User Stories
|
|
21
|
+
<!-- Optional. Format: As a [role], I want [goal], so that [benefit]. -->
|
|
22
|
+
|
|
23
|
+
## Constraints
|
|
24
|
+
<!-- Technical, regulatory, or business constraints. -->
|
|
25
|
+
|
|
26
|
+
## Assumptions
|
|
27
|
+
<!-- What are we assuming to be true for this specification? -->
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# .tyrex/tyrex.yml - Tyrex Framework Configuration
|
|
2
|
+
# Docs: https://github.com/tyrex-framework/tyrex
|
|
3
|
+
|
|
4
|
+
project:
|
|
5
|
+
name: "{{PROJECT_NAME}}"
|
|
6
|
+
created: "{{DATE}}"
|
|
7
|
+
|
|
8
|
+
# Operation mode
|
|
9
|
+
mode:
|
|
10
|
+
commits: "{{COMMIT_MODE}}" # "auto" | "approve"
|
|
11
|
+
branches: "{{BRANCH_MODE}}" # "auto" | "approve"
|
|
12
|
+
changelog: "always" # LOCKED - always enabled
|
|
13
|
+
documentation: "{{DOC_MODE}}" # "always" | "suggest" | "minimal"
|
|
14
|
+
|
|
15
|
+
# Documentation defaults for new demands (/tyrex-new)
|
|
16
|
+
docs:
|
|
17
|
+
spec: true # LOCKED - always true (technical specification per task)
|
|
18
|
+
srs: true # Software Requirements Specification per demand
|
|
19
|
+
prd: true # Product Requirements Document per demand
|
|
20
|
+
adr: true
|
|
21
|
+
rfc: false
|
|
22
|
+
wiki: true
|
|
23
|
+
diagrams: true
|
|
24
|
+
changelog: true # LOCKED - always true
|
|
25
|
+
|
|
26
|
+
# Quality guardrails
|
|
27
|
+
quality:
|
|
28
|
+
lint: true
|
|
29
|
+
security_scan: true
|
|
30
|
+
review_checklist: true
|
|
31
|
+
# Adaptive quality strategy per area type
|
|
32
|
+
# Values: "required" (TDD mandatory) | "recommended" (tests suggested) | "optional" (ask user)
|
|
33
|
+
strategy:
|
|
34
|
+
default: "required" # Fallback for areas not listed below
|
|
35
|
+
api: "required" # API endpoints, controllers
|
|
36
|
+
workers: "required" # Background jobs, queue processors
|
|
37
|
+
data: "required" # Models, migrations, data layer
|
|
38
|
+
security: "required" # Auth, encryption, access control
|
|
39
|
+
frontend: "recommended" # UI components, views
|
|
40
|
+
mobile: "recommended" # Mobile-specific code
|
|
41
|
+
infra: "optional" # Docker, CI/CD, config files
|
|
42
|
+
docs: "optional" # Documentation generation
|
|
43
|
+
|
|
44
|
+
# Parallelization
|
|
45
|
+
parallel:
|
|
46
|
+
enabled: true
|
|
47
|
+
max_agents: {{MAX_AGENTS}}
|
|
48
|
+
auto_suggest: true # Suggest parallelization when possible
|
|
49
|
+
|
|
50
|
+
# Git
|
|
51
|
+
git:
|
|
52
|
+
branch_prefix: "{{BRANCH_PREFIX}}"
|
|
53
|
+
commit_style: "{{COMMIT_STYLE}}" # "conventional" | "descriptive"
|
|
54
|
+
auto_push: false # Never auto-push by default
|