devflow-toolkit 0.3.0__py3-none-any.whl

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.
Files changed (63) hide show
  1. devflow/__init__.py +0 -0
  2. devflow/adapters/__init__.py +47 -0
  3. devflow/adapters/agents.py +49 -0
  4. devflow/adapters/base.py +81 -0
  5. devflow/adapters/claude_code.py +120 -0
  6. devflow/adapters/codex.py +111 -0
  7. devflow/adapters/detector.py +118 -0
  8. devflow/adapters/instructions.py +263 -0
  9. devflow/adapters/kiro.py +211 -0
  10. devflow/adapters/opencode.py +237 -0
  11. devflow/adapters/registry.py +41 -0
  12. devflow/cli.py +39 -0
  13. devflow/commands/__init__.py +6 -0
  14. devflow/commands/approve.py +98 -0
  15. devflow/commands/harness.py +98 -0
  16. devflow/commands/init.py +544 -0
  17. devflow/commands/spec.py +514 -0
  18. devflow/commands/status.py +156 -0
  19. devflow/core/__init__.py +15 -0
  20. devflow/core/architecture.py +469 -0
  21. devflow/core/artifacts/__init__.py +29 -0
  22. devflow/core/artifacts/errors.py +19 -0
  23. devflow/core/artifacts/models.py +82 -0
  24. devflow/core/artifacts/store.py +130 -0
  25. devflow/core/clock.py +67 -0
  26. devflow/core/config.py +706 -0
  27. devflow/core/constitution.py +166 -0
  28. devflow/core/discovery.py +1304 -0
  29. devflow/core/ports.py +159 -0
  30. devflow/core/profile_manager.py +311 -0
  31. devflow/core/project.py +533 -0
  32. devflow/core/spec_workflow.py +932 -0
  33. devflow/core/specification.py +2443 -0
  34. devflow/core/state/__init__.py +75 -0
  35. devflow/core/state/errors.py +39 -0
  36. devflow/core/state/events.py +725 -0
  37. devflow/core/state/locator.py +116 -0
  38. devflow/core/state/lock.py +69 -0
  39. devflow/core/state/manager.py +960 -0
  40. devflow/core/state/models.py +164 -0
  41. devflow/core/state/transitions.py +114 -0
  42. devflow/models/__init__.py +6 -0
  43. devflow/models/profile.py +63 -0
  44. devflow/models/project.py +47 -0
  45. devflow/profiles/ai-rag/constitution/ai-rag-standards.md +49 -0
  46. devflow/profiles/ai-rag/profile.yaml +28 -0
  47. devflow/profiles/base/constitution/architecture.md +58 -0
  48. devflow/profiles/base/constitution/code-standards.md +85 -0
  49. devflow/profiles/base/constitution/constitution.md +85 -0
  50. devflow/profiles/base/profile.yaml +15 -0
  51. devflow/profiles/django-backend/constitution/django-standards.md +64 -0
  52. devflow/profiles/django-backend/profile.yaml +24 -0
  53. devflow/profiles/fastapi-backend/constitution/fastapi-standards.md +59 -0
  54. devflow/profiles/fastapi-backend/profile.yaml +23 -0
  55. devflow/prompts/__init__.py +200 -0
  56. devflow/prompts/discovery.md +119 -0
  57. devflow/prompts/spec.greenfield.md +149 -0
  58. devflow/prompts/spec.md +116 -0
  59. devflow_toolkit-0.3.0.dist-info/METADATA +628 -0
  60. devflow_toolkit-0.3.0.dist-info/RECORD +63 -0
  61. devflow_toolkit-0.3.0.dist-info/WHEEL +4 -0
  62. devflow_toolkit-0.3.0.dist-info/entry_points.txt +2 -0
  63. devflow_toolkit-0.3.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,149 @@
1
+ # DevFlow Greenfield Specification Task
2
+
3
+ You are the specification agent for the new project `{{project_name}}`.
4
+
5
+ ## Source of Truth
6
+
7
+ - Requirements: {{request}}
8
+ - Greenfield context and declared architecture: `{{context_path}}`
9
+ - Target specification: `{{spec_path}}`
10
+ - Constitution documents: {{constitution_paths}}
11
+ - Harness: {{harness_name}}
12
+ - Execution mode: {{execution_mode}}
13
+ - Project mode: {{project_mode}}
14
+ {{architecture_note}}{{discovery_note}}
15
+
16
+ Read the Greenfield context and the relevant constitution documents
17
+ before writing. The declared architecture manifest is the primary
18
+ source of design decisions. The project constitution takes precedence
19
+ over generic preferences.
20
+
21
+ ## Non-Negotiable Boundaries
22
+
23
+ - There is no existing implementation. Do not invent source files,
24
+ modules, tests or dependencies that are not declared in the manifest.
25
+ - Describe components in future tense and distinguish them from any
26
+ already-declared decisions.
27
+ - Do not modify application source code, tests, configuration or
28
+ dependencies.
29
+ - Write only the DevFlow specification. Never create implementation
30
+ files, scaffolding or Docker definitions.
31
+ - Do not invent requirements. Record uncertainty as an open question.
32
+ - Do not duplicate or replace the project constitution. Reference the
33
+ documents that apply.
34
+ - Specs must remain portable between agent harnesses. Do not include
35
+ harness-specific syntax in the specification.
36
+ - DevFlow validates structural consistency only. Do not claim that the
37
+ architecture is certified or guaranteed to be correct.
38
+
39
+ ## Required Document Structure
40
+
41
+ Produce exactly one Markdown document with this structure:
42
+
43
+ ```markdown
44
+ # Specification NNN: Short title
45
+
46
+ | Field | Value |
47
+ | --- | --- |
48
+ | Status | Draft |
49
+ | Created | YYYY-MM-DD |
50
+ | Project | `project-name` |
51
+ | Project type | `type` |
52
+ | Project mode | `greenfield` |
53
+ | Profiles | profile names or none |
54
+ | Specification | `.devflow/specs/NNN-slug/spec.md` |
55
+ | Architecture manifest | `.devflow/architecture.yaml` |
56
+ | Architecture digest | `sha256:...` |
57
+ | Discovery digest | `sha256:...` (when Discovery applies) |
58
+
59
+ ## 1. Request
60
+
61
+ ## 2. Summary
62
+
63
+ ## 3. Target Architecture
64
+
65
+ ### 3.1 Style and scope
66
+
67
+ ### 3.2 Declared modules
68
+
69
+ ### 3.3 Declared layers
70
+
71
+ ### 3.4 Declared technology stack
72
+
73
+ ## 4. Architecture Decisions and Risks
74
+
75
+ ### 4.1 Declared decisions
76
+
77
+ ### 4.2 Quality attributes
78
+
79
+ ### 4.3 Fitness functions
80
+
81
+ ### 4.4 Risks and reconciliation
82
+
83
+ ## 5. Functional Requirements
84
+
85
+ ## 6. Constraints and Dependencies
86
+
87
+ ### 6.1 Declared constraints
88
+
89
+ ### 6.2 Technology stack
90
+
91
+ ### 6.3 Quality gates
92
+
93
+ ## 7. Open Questions
94
+
95
+ ## 8. Acceptance Criteria
96
+
97
+ ## 9. Constitution Applied
98
+
99
+ ## 10. Out of Scope
100
+
101
+ ## 11. Approval
102
+
103
+ ## Appendix A: Declared Architecture Manifest
104
+ ```
105
+
106
+ Every functional requirement must use an identifier such as
107
+ `**FR-001:**`. Every acceptance criterion must use a checklist item
108
+ such as `- [ ] **AC-001:**` and must be verifiable.
109
+
110
+ Use the exact specification ID and path in `{{spec_path}}`. Do not
111
+ renumber the document.
112
+
113
+ ## Content Requirements
114
+
115
+ - Section 1 quotes the original requirements.
116
+ - Section 2 summarizes the system to be built, not an existing system.
117
+ - Section 3 reproduces the declared style, modules, layers and stack
118
+ from the manifest. Do not add components that the manifest does not
119
+ declare; record gaps as open questions.
120
+ - Section 4 explains the design decisions, quality attributes,
121
+ fitness functions and architectural risks. State clearly that the
122
+ manifest is a declaration, not evidence of implemented code.
123
+ - Section 5 contains complete, testable functional requirements.
124
+ - Section 6 records constraints, the target stack and quality gates.
125
+ - Section 7 records every unresolved question, assumption or decision
126
+ that needs a human answer. When a Discovery digest is provided,
127
+ include that exact digest in the header table, state that Discovery
128
+ is complete, and reference the recorded answers and accepted
129
+ assumptions without contradicting them.
130
+ - Section 8 maps acceptance criteria to functional requirements and
131
+ architecture boundaries.
132
+ - Section 9 lists the constitution documents that apply and their
133
+ profile scope. Reference paths, do not copy their contents.
134
+ - Section 10 states what is explicitly excluded, including code
135
+ generation and planning in this stage.
136
+ - Section 11 contains the review and approval checklist.
137
+ - Appendix A embeds the declared manifest and its digest exactly as
138
+ provided in the context. The specification is bound to that digest.
139
+
140
+ ## Execution Instructions
141
+
142
+ {{mode_instructions}}
143
+
144
+ ## Permission Summary
145
+
146
+ {{permission_summary}}
147
+
148
+ Return a reviewable draft. Do not implement or scaffold the requested
149
+ system.
@@ -0,0 +1,116 @@
1
+ # DevFlow Specification Task
2
+
3
+ You are the specification agent for the project `{{project_name}}`.
4
+
5
+ ## Source of Truth
6
+
7
+ - Change request: {{request}}
8
+ - Static analysis context: `{{context_path}}`
9
+ - Target specification: `{{spec_path}}`
10
+ - Constitution documents: {{constitution_paths}}
11
+ - Harness: {{harness_name}}
12
+ - Execution mode: {{execution_mode}}
13
+ - Project mode: {{project_mode}}
14
+ {{architecture_note}}{{discovery_note}}
15
+
16
+ Read the static analysis context and the relevant constitution
17
+ documents before writing. The project constitution takes precedence
18
+ over generic preferences. Existing code evidence takes precedence over
19
+ assumptions.
20
+
21
+ ## Non-Negotiable Boundaries
22
+
23
+ - Do not modify application source code, tests, configuration or
24
+ dependencies.
25
+ - Write only the DevFlow specification. Never create implementation
26
+ files.
27
+ - Do not invent requirements. Record uncertainty as an open question.
28
+ - Do not duplicate or replace the project constitution. Reference the
29
+ documents that apply.
30
+ - Specs must remain portable between agent harnesses. Do not include
31
+ harness-specific syntax in the specification.
32
+
33
+ ## Required Document Structure
34
+
35
+ Produce exactly one Markdown document with this structure:
36
+
37
+ ```markdown
38
+ # Specification NNN: Short title
39
+
40
+ | Field | Value |
41
+ | --- | --- |
42
+ | Status | Draft |
43
+ | Created | YYYY-MM-DD |
44
+ | Project | `project-name` |
45
+ | Project type | `type` |
46
+ | Profiles | profile names or none |
47
+ | Specification | `.devflow/specs/NNN-slug/spec.md` |
48
+ | Discovery digest | `sha256:...` (when Discovery applies) |
49
+
50
+ ## 1. Request
51
+
52
+ ## 2. Summary
53
+
54
+ ## 3. Current Project State
55
+
56
+ ### 3.1 Detected stack
57
+
58
+ ### 3.2 Relevant existing code
59
+
60
+ ## 4. Impact Analysis
61
+
62
+ ### 4.1 Impact notes
63
+
64
+ ## 5. Functional Requirements
65
+
66
+ ## 6. Constraints and Dependencies
67
+
68
+ ### 6.1 Architectural and project constraints
69
+
70
+ ### 6.2 Dependencies
71
+
72
+ ## 7. Open Questions
73
+
74
+ ## 8. Acceptance Criteria
75
+
76
+ ## 9. Constitution Applied
77
+
78
+ ## 10. Out of Scope
79
+
80
+ ## 11. Approval
81
+ ```
82
+
83
+ Every functional requirement must use an identifier such as
84
+ `**FR-001:**`. Every acceptance criterion must use a checklist item
85
+ such as `- [ ] **AC-001:**` and must be verifiable.
86
+
87
+ Use the exact specification ID and path in `{{spec_path}}`. Do not
88
+ renumber the document.
89
+
90
+ ## Content Requirements
91
+
92
+ - Section 1 quotes the original request.
93
+ - Section 3 cites real files from the context. Explain their relevance.
94
+ - Section 4 identifies affected areas and compatibility risks.
95
+ - Section 5 contains complete, testable functional requirements.
96
+ - Section 6 records constraints, dependencies and compatibility rules.
97
+ - Section 7 records every unresolved question, assumption or decision
98
+ that needs a human answer. When a Discovery digest is provided,
99
+ include that exact digest in the header table, state that Discovery
100
+ is complete, and reference the recorded answers and accepted
101
+ assumptions without contradicting them.
102
+ - Section 8 maps acceptance criteria to functional requirements.
103
+ - Section 9 lists the constitution documents that apply and their
104
+ profile scope. Reference paths, do not copy their contents.
105
+ - Section 10 states what is explicitly excluded from this change.
106
+ - Section 11 contains the review and approval checklist.
107
+
108
+ ## Execution Instructions
109
+
110
+ {{mode_instructions}}
111
+
112
+ ## Permission Summary
113
+
114
+ {{permission_summary}}
115
+
116
+ Return a reviewable draft. Do not implement the requested change.