@tgoodington/intuition 8.1.2 → 8.1.3
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/package.json +1 -1
- package/skills/intuition-initialize/references/design_brief_template.md +0 -64
- package/skills/intuition-initialize/references/discovery_output_template.json +0 -19
- package/skills/intuition-initialize/references/execution_brief_template.md +0 -160
- package/skills/intuition-initialize/references/planning_brief_template.md +0 -101
- package/skills/intuition-initialize/references/project_plan_template.md +0 -151
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tgoodington/intuition",
|
|
3
|
-
"version": "8.1.
|
|
3
|
+
"version": "8.1.3",
|
|
4
4
|
"description": "Trunk-and-branch workflow system for Claude Code: prompt, plan, design, engineer, build with iterative branching. Code spec creation, domain-agnostic design exploration with ECD framework, and file-based handoffs through project memory.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# Design Brief Template
|
|
2
|
-
|
|
3
|
-
> **Path note:** `{context_path}` resolves to `docs/project_notes/trunk/` for the trunk context, or `docs/project_notes/branches/{name}/` for a branch context. Shared files (`key_facts.md`, `decisions.md`, `issues.md`, `bugs.md`) always remain at `docs/project_notes/`.
|
|
4
|
-
|
|
5
|
-
> **Generated by:** `/intuition-handoff` (Planning→Design transition, updated per design item)
|
|
6
|
-
> **Consumed by:** `/intuition-design`
|
|
7
|
-
> **Overwritten for:** each design item in the loop
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Current Item
|
|
12
|
-
|
|
13
|
-
**[Item Name]** — [Brief description from plan]
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Plan Context
|
|
18
|
-
|
|
19
|
-
[1-2 paragraph summary of what the plan says about this item]
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## Task Details
|
|
24
|
-
|
|
25
|
-
- **Plan Tasks**: [Task numbers from plan.md]
|
|
26
|
-
- **Description**: [From plan.md]
|
|
27
|
-
- **Acceptance Criteria**: [From plan.md]
|
|
28
|
-
- **Dependencies**: [From plan.md]
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Design Rationale
|
|
33
|
-
|
|
34
|
-
[Why plan flagged this for design — what needs elaboration before execution can proceed]
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## Prior Design Context
|
|
39
|
-
|
|
40
|
-
[If this is not the first design item: 1-2 sentences about what was designed in previous items that may be relevant. If first item, omit this section.]
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Constraints
|
|
45
|
-
|
|
46
|
-
- [From plan's architectural decisions]
|
|
47
|
-
- [From discovery constraints]
|
|
48
|
-
- [From prior design decisions, if any]
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Design Queue
|
|
53
|
-
|
|
54
|
-
- [x] Item 1 (completed) -> design_spec_item_1.md
|
|
55
|
-
- **Item 2 (current)**
|
|
56
|
-
- [ ] Item 3 (pending)
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## References
|
|
61
|
-
|
|
62
|
-
- Plan: `{context_path}/plan.md`
|
|
63
|
-
- Discovery: `{context_path}/discovery_brief.md`
|
|
64
|
-
- Prior design specs: [list completed spec files, if any]
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_comment": "Discovery output template - structured analysis from Waldo's discovery dialogue",
|
|
3
|
-
"_description": "This template defines the shape of discovery_output.json, generated by /intuition-discovery and consumed by /intuition-handoff. It captures key findings, assumptions, constraints, and decisions that inform planning.",
|
|
4
|
-
|
|
5
|
-
"key_facts_to_add": [],
|
|
6
|
-
"_key_facts_to_add_description": "Array of important facts discovered. Each entry: { category (string), fact (string), source (string) }. Example: { \"category\": \"Architecture\", \"fact\": \"API uses GraphQL\", \"source\": \"codebase review\" }",
|
|
7
|
-
|
|
8
|
-
"assumptions": [],
|
|
9
|
-
"_assumptions_description": "Array of assumptions made during discovery. Each entry: { statement (string), confidence (string: 'high'/'medium'/'low'), source (string) }. Example: { \"statement\": \"Users expect real-time updates\", \"confidence\": \"medium\", \"source\": \"user interviews\" }",
|
|
10
|
-
|
|
11
|
-
"new_constraints": [],
|
|
12
|
-
"_new_constraints_description": "Array of constraints or limitations discovered. Each entry: { constraint (string), impact (string), source (string) }. Example: { \"constraint\": \"Legacy database schema is immutable\", \"impact\": \"Must use adapter pattern\", \"source\": \"technical audit\" }",
|
|
13
|
-
|
|
14
|
-
"suggested_decisions": [],
|
|
15
|
-
"_suggested_decisions_description": "Array of strategic decisions Waldo recommends for planning. Each entry: { topic (string), recommendation (string), rationale (string) }. Example: { \"topic\": \"State Management\", \"recommendation\": \"Use Redux\", \"rationale\": \"Existing patterns in codebase\" }",
|
|
16
|
-
|
|
17
|
-
"follow_up_for_planning": [],
|
|
18
|
-
"_follow_up_for_planning_description": "Array of topics that planning should investigate further. Each entry: { topic (string), priority (string: 'high'/'medium'/'low'), context (string) }. Example: { \"topic\": \"Performance bottlenecks\", \"priority\": \"high\", \"context\": \"Mobile users experiencing slow load times\" }"
|
|
19
|
-
}
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
# Engineering Brief Template
|
|
2
|
-
|
|
3
|
-
> **Path note:** `{context_path}` resolves to `docs/project_notes/trunk/` for the trunk context, or `docs/project_notes/branches/{name}/` for a branch context. Shared files (`key_facts.md`, `decisions.md`, `issues.md`, `bugs.md`) always remain at `docs/project_notes/`.
|
|
4
|
-
|
|
5
|
-
> **Generated by:** `/intuition-handoff` (Design→Engineer or Planning→Engineer transition)
|
|
6
|
-
> **Consumed by:** `/intuition-engineer`
|
|
7
|
-
> **Frozen for:** engineering phase (don't modify during engineering)
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Plan Title
|
|
12
|
-
|
|
13
|
-
**[One-line summary of what will be implemented]**
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Plan Summary
|
|
18
|
-
|
|
19
|
-
**Overview:** [2-3 sentence summary of what the plan accomplishes]
|
|
20
|
-
|
|
21
|
-
**Scope:** [What's included and excluded from this plan]
|
|
22
|
-
|
|
23
|
-
**Key changes:**
|
|
24
|
-
- Change 1
|
|
25
|
-
- Change 2
|
|
26
|
-
- Change 3
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Objective
|
|
31
|
-
|
|
32
|
-
**What will be different after execution:** [Concrete outcome]
|
|
33
|
-
|
|
34
|
-
**Measurable impact:** [How success is measured]
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## Discovery Context
|
|
39
|
-
|
|
40
|
-
**Problem solved:** [Reference the original problem from discovery]
|
|
41
|
-
|
|
42
|
-
**User value:** [What users gain]
|
|
43
|
-
|
|
44
|
-
**Technical rationale:** [Why this approach was chosen]
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## Design Specifications
|
|
49
|
-
|
|
50
|
-
[List all design specs produced during the design phase, if any:]
|
|
51
|
-
- `design_spec_[item1].md` — [One-line summary]
|
|
52
|
-
- `design_spec_[item2].md` — [One-line summary]
|
|
53
|
-
|
|
54
|
-
**IMPORTANT:** Execute agents MUST read these specs before implementing flagged tasks. Implement exactly what's specified. If ambiguity is found, escalate to user — do not make design decisions autonomously.
|
|
55
|
-
|
|
56
|
-
[If no design phase was run, omit this section.]
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Plan Overview
|
|
61
|
-
|
|
62
|
-
**Architecture approach:** [High-level design strategy]
|
|
63
|
-
|
|
64
|
-
**Implementation phases:**
|
|
65
|
-
1. Phase 1: [Major milestone]
|
|
66
|
-
2. Phase 2: [Major milestone]
|
|
67
|
-
3. Phase 3: [Major milestone]
|
|
68
|
-
|
|
69
|
-
**Key dependencies:** [What must happen before what]
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## Task Summary
|
|
74
|
-
|
|
75
|
-
**Total tasks:** [Number]
|
|
76
|
-
|
|
77
|
-
**Task categories:**
|
|
78
|
-
- Infrastructure/Setup: [Count]
|
|
79
|
-
- Feature Implementation: [Count]
|
|
80
|
-
- Testing: [Count]
|
|
81
|
-
- Documentation: [Count]
|
|
82
|
-
|
|
83
|
-
[Mark which tasks have associated design specs]
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Acceptance Criteria
|
|
88
|
-
|
|
89
|
-
**Functional requirements met:**
|
|
90
|
-
- [ ] Requirement 1
|
|
91
|
-
- [ ] Requirement 2
|
|
92
|
-
- [ ] Requirement 3
|
|
93
|
-
|
|
94
|
-
**Non-functional requirements:**
|
|
95
|
-
- [ ] Performance target 1
|
|
96
|
-
- [ ] Reliability target 1
|
|
97
|
-
- [ ] Maintainability target 1
|
|
98
|
-
|
|
99
|
-
**Testing complete:**
|
|
100
|
-
- [ ] Unit tests pass
|
|
101
|
-
- [ ] Integration tests pass
|
|
102
|
-
- [ ] Manual testing verified
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Quality Gates
|
|
107
|
-
|
|
108
|
-
**Code quality:**
|
|
109
|
-
- [ ] No linting errors
|
|
110
|
-
- [ ] Test coverage > [X%]
|
|
111
|
-
- [ ] No console errors in target environments
|
|
112
|
-
|
|
113
|
-
**Documentation:**
|
|
114
|
-
- [ ] Code comments added for non-obvious logic
|
|
115
|
-
- [ ] README updated
|
|
116
|
-
- [ ] Related docs updated
|
|
117
|
-
|
|
118
|
-
**Deployment readiness:**
|
|
119
|
-
- [ ] Backwards compatibility verified (or migration plan documented)
|
|
120
|
-
- [ ] Performance verified
|
|
121
|
-
- [ ] Error handling tested
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## Known Risks
|
|
126
|
-
|
|
127
|
-
**Risk 1:** [Description]
|
|
128
|
-
- Likelihood: [high/medium/low]
|
|
129
|
-
- Impact: [high/medium/low]
|
|
130
|
-
- Mitigation: [What will be done]
|
|
131
|
-
|
|
132
|
-
**Risk 2:** [Description]
|
|
133
|
-
- Likelihood: [high/medium/low]
|
|
134
|
-
- Impact: [high/medium/low]
|
|
135
|
-
- Mitigation: [What will be done]
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## Architectural Decisions
|
|
140
|
-
|
|
141
|
-
**Decision 1:** [What was decided]
|
|
142
|
-
- Rationale: [Why this choice]
|
|
143
|
-
- Alternatives considered: [What else could have been done]
|
|
144
|
-
- Trade-offs: [What's given up]
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## References
|
|
149
|
-
|
|
150
|
-
- Plan file: `{context_path}/plan.md`
|
|
151
|
-
- Planning brief: `{context_path}/planning_brief.md`
|
|
152
|
-
- Design specs: `{context_path}/design_spec_*.md`
|
|
153
|
-
- State file: `docs/project_notes/.project-memory-state.json`
|
|
154
|
-
- Related docs: [Links to relevant documentation]
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## Notes for Executor
|
|
159
|
-
|
|
160
|
-
[Any guidance for execution — context about approach, team norms, debugging strategies, or gotchas to watch for]
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
# Planning Brief Template
|
|
2
|
-
|
|
3
|
-
> **Path note:** `{context_path}` resolves to `docs/project_notes/trunk/` for the trunk context, or `docs/project_notes/branches/{name}/` for a branch context. Shared files (`key_facts.md`, `decisions.md`, `issues.md`, `bugs.md`) always remain at `docs/project_notes/`.
|
|
4
|
-
|
|
5
|
-
> **Generated by:** `/intuition-handoff` (Prompt→Planning transition)
|
|
6
|
-
> **Consumed by:** `/intuition-plan`
|
|
7
|
-
> **Frozen for:** planning phase (don't modify during plan approval or execution)
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Problem Title
|
|
12
|
-
|
|
13
|
-
**[One-line problem statement]**
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Discovery Summary
|
|
18
|
-
|
|
19
|
-
**Key findings from prompt refinement:**
|
|
20
|
-
- Fact 1
|
|
21
|
-
- Fact 2
|
|
22
|
-
- Fact 3
|
|
23
|
-
|
|
24
|
-
**Assumptions made:**
|
|
25
|
-
- Assumption 1 (confidence: high/medium/low)
|
|
26
|
-
- Assumption 2 (confidence: high/medium/low)
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Problem Statement
|
|
31
|
-
|
|
32
|
-
**Context:** [Background and how we got here]
|
|
33
|
-
|
|
34
|
-
**The problem:** [Clear, specific description of what needs to be solved]
|
|
35
|
-
|
|
36
|
-
**Why it matters:** [Business or technical impact]
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Goals & Success Criteria
|
|
41
|
-
|
|
42
|
-
**Primary goal:** [What success looks like]
|
|
43
|
-
|
|
44
|
-
**Success criteria:**
|
|
45
|
-
- [ ] Criterion 1 (measurable)
|
|
46
|
-
- [ ] Criterion 2 (measurable)
|
|
47
|
-
- [ ] Criterion 3 (measurable)
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## User Context
|
|
52
|
-
|
|
53
|
-
**Affected users:** [Who is impacted]
|
|
54
|
-
|
|
55
|
-
**User needs:** [What users expect or require]
|
|
56
|
-
|
|
57
|
-
**Current experience:** [How it works now, what's broken]
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## Key Constraints
|
|
62
|
-
|
|
63
|
-
- **Constraint 1:** [Description and impact]
|
|
64
|
-
- **Constraint 2:** [Description and impact]
|
|
65
|
-
- **Constraint 3:** [Description and impact]
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## Architectural Context
|
|
70
|
-
|
|
71
|
-
**Current architecture:** [Relevant systems, patterns, technologies]
|
|
72
|
-
|
|
73
|
-
**Integration points:** [Where this connects to existing code]
|
|
74
|
-
|
|
75
|
-
**Technology stack:** [Relevant languages, frameworks, libraries]
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## Assumptions & Risks
|
|
80
|
-
|
|
81
|
-
**Key assumptions:**
|
|
82
|
-
- Assumption 1 (confidence level)
|
|
83
|
-
- Assumption 2 (confidence level)
|
|
84
|
-
|
|
85
|
-
**Known risks:**
|
|
86
|
-
- Risk 1: [Description, likelihood, impact]
|
|
87
|
-
- Risk 2: [Description, likelihood, impact]
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## References
|
|
92
|
-
|
|
93
|
-
- Discovery output: `{context_path}/discovery_output.json`
|
|
94
|
-
- Discovery brief: `{context_path}/discovery_brief.md`
|
|
95
|
-
- Related docs: [Links to relevant documentation]
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## Notes for Planner
|
|
100
|
-
|
|
101
|
-
[Any guidance for the planning phase when approaching this problem - context that shapes how the plan should be structured]
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
# Project Plan Template
|
|
2
|
-
|
|
3
|
-
This file demonstrates the format for creating a comprehensive project plan. Use this template during first-time activation to collaboratively build a shared understanding of the project with the user.
|
|
4
|
-
|
|
5
|
-
## Format
|
|
6
|
-
|
|
7
|
-
A project plan should include:
|
|
8
|
-
- Metadata (creation date, current status)
|
|
9
|
-
- Project overview (brief description of what you're building)
|
|
10
|
-
- Goals (primary objectives)
|
|
11
|
-
- Current phase (where you are in the development lifecycle)
|
|
12
|
-
- Architecture overview (high-level technical approach)
|
|
13
|
-
- Completed milestones (what's been done)
|
|
14
|
-
- Next steps (actionable items)
|
|
15
|
-
- Open questions (unresolved decisions)
|
|
16
|
-
- Notes (additional context)
|
|
17
|
-
|
|
18
|
-
## Example Structure
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
# Project Plan: [Project Name]
|
|
23
|
-
|
|
24
|
-
**Created:** 2025-01-15
|
|
25
|
-
**Last Updated:** 2025-01-20
|
|
26
|
-
**Status:** Planning / In Implementation / Complete
|
|
27
|
-
|
|
28
|
-
## Project Overview
|
|
29
|
-
|
|
30
|
-
[2-3 sentence description of what you're building and why]
|
|
31
|
-
|
|
32
|
-
**Example:**
|
|
33
|
-
Building a contact management API using FastAPI and AlloyDB on GCP. The API will provide CRUD operations for contacts with authentication and will be deployed to Cloud Run with CI/CD via GitHub Actions.
|
|
34
|
-
|
|
35
|
-
## Goals
|
|
36
|
-
|
|
37
|
-
[Primary objectives for this project - what success looks like]
|
|
38
|
-
|
|
39
|
-
**Example:**
|
|
40
|
-
- Create a production-ready REST API for contact management
|
|
41
|
-
- Implement secure authentication and authorization
|
|
42
|
-
- Deploy to GCP Cloud Run with automated CI/CD
|
|
43
|
-
- Achieve <100ms response time for read operations
|
|
44
|
-
- Support 1000+ concurrent users
|
|
45
|
-
|
|
46
|
-
## Current Phase
|
|
47
|
-
|
|
48
|
-
[Where you are in the development lifecycle]
|
|
49
|
-
|
|
50
|
-
**Possible phases:**
|
|
51
|
-
- Discovery / Planning
|
|
52
|
-
- Initial Setup / Scaffolding
|
|
53
|
-
- MVP Development
|
|
54
|
-
- Feature Enhancement
|
|
55
|
-
- Testing & Refinement
|
|
56
|
-
- Production Deployment
|
|
57
|
-
- Maintenance & Support
|
|
58
|
-
|
|
59
|
-
**Example:**
|
|
60
|
-
MVP Development - Core CRUD operations implemented, working on authentication integration.
|
|
61
|
-
|
|
62
|
-
## Architecture Overview
|
|
63
|
-
|
|
64
|
-
[High-level technical approach - key technologies and how they fit together]
|
|
65
|
-
|
|
66
|
-
**Example:**
|
|
67
|
-
- **Backend:** FastAPI (Python 3.11) with Pydantic validation
|
|
68
|
-
- **Database:** AlloyDB for PostgreSQL with Alembic migrations
|
|
69
|
-
- **Authentication:** OAuth 2.0 with Google Sign-In
|
|
70
|
-
- **Deployment:** Cloud Run (containerized with Docker)
|
|
71
|
-
- **CI/CD:** GitHub Actions with Workload Identity Federation
|
|
72
|
-
- **Infrastructure:** Pulumi for IaC
|
|
73
|
-
- **Monitoring:** Cloud Logging and Cloud Monitoring
|
|
74
|
-
|
|
75
|
-
## Completed Milestones
|
|
76
|
-
|
|
77
|
-
[What's been accomplished so far - include dates for context]
|
|
78
|
-
|
|
79
|
-
**Example:**
|
|
80
|
-
- **2025-01-10:** Initial project setup and repository creation
|
|
81
|
-
- Created FastAPI project structure
|
|
82
|
-
- Set up development environment with Poetry
|
|
83
|
-
- Configured pre-commit hooks and linting
|
|
84
|
-
|
|
85
|
-
- **2025-01-12:** Database setup completed
|
|
86
|
-
- Provisioned AlloyDB cluster in GCP
|
|
87
|
-
- Implemented Alembic migrations
|
|
88
|
-
- Created Contact model with SQLAlchemy
|
|
89
|
-
|
|
90
|
-
- **2025-01-15:** Core CRUD operations implemented
|
|
91
|
-
- Added POST /contacts endpoint
|
|
92
|
-
- Added GET /contacts and GET /contacts/{id} endpoints
|
|
93
|
-
- Added PUT and DELETE endpoints
|
|
94
|
-
- Implemented input validation with Pydantic
|
|
95
|
-
|
|
96
|
-
## Next Steps
|
|
97
|
-
|
|
98
|
-
[Actionable checklist items - what needs to be done next]
|
|
99
|
-
|
|
100
|
-
**Example:**
|
|
101
|
-
- [ ] Implement OAuth 2.0 authentication
|
|
102
|
-
- [ ] Set up Google OAuth client credentials
|
|
103
|
-
- [ ] Add authentication middleware to FastAPI
|
|
104
|
-
- [ ] Protect endpoints with auth decorators
|
|
105
|
-
- [ ] Write unit tests for CRUD operations
|
|
106
|
-
- [ ] Set up pytest with coverage
|
|
107
|
-
- [ ] Test happy paths and error cases
|
|
108
|
-
- [ ] Achieve 80%+ code coverage
|
|
109
|
-
- [ ] Create Dockerfile and container image
|
|
110
|
-
- [ ] Write optimized multi-stage Dockerfile
|
|
111
|
-
- [ ] Test local container build
|
|
112
|
-
- [ ] Push to Artifact Registry
|
|
113
|
-
- [ ] Set up CI/CD pipeline
|
|
114
|
-
- [ ] Configure GitHub Actions workflow
|
|
115
|
-
- [ ] Set up Workload Identity Federation
|
|
116
|
-
- [ ] Automate deployments to Cloud Run
|
|
117
|
-
|
|
118
|
-
## Open Questions
|
|
119
|
-
|
|
120
|
-
[Unresolved items that need decisions or clarification]
|
|
121
|
-
|
|
122
|
-
**Example:**
|
|
123
|
-
- How should we handle rate limiting? (per-user vs. global)
|
|
124
|
-
- Do we need pagination for GET /contacts? What page size?
|
|
125
|
-
- Should we implement soft deletes or hard deletes?
|
|
126
|
-
- What monitoring alerts do we need to set up?
|
|
127
|
-
- Do we need a staging environment or just dev/prod?
|
|
128
|
-
|
|
129
|
-
## Notes
|
|
130
|
-
|
|
131
|
-
[Additional context, constraints, or important information]
|
|
132
|
-
|
|
133
|
-
**Example:**
|
|
134
|
-
- AlloyDB cluster is in `us-central1` - all other resources should use same region
|
|
135
|
-
- OAuth client ID is approved for company domain only
|
|
136
|
-
- Cloud Run quotas: max 10 instances to control costs
|
|
137
|
-
- Database backup retention: 7 days (configured in AlloyDB)
|
|
138
|
-
- Team timezone: PST - schedule deployments accordingly
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## Tips
|
|
143
|
-
|
|
144
|
-
- Update the plan regularly as the project evolves
|
|
145
|
-
- Move completed next steps to the milestones section with dates
|
|
146
|
-
- Keep the overview concise - details go in other memory files
|
|
147
|
-
- Use open questions to track decisions that need to be made
|
|
148
|
-
- Reference architectural decisions by ADR number (e.g., "See ADR-003")
|
|
149
|
-
- Mark deprecated goals or cancelled features clearly
|
|
150
|
-
- Keep next steps actionable and specific
|
|
151
|
-
- Break large tasks into smaller checklist items
|