fraim-framework 1.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/DISTRIBUTION.md +187 -0
- package/README.md +159 -0
- package/agents/claude/CLAUDE.md +42 -0
- package/agents/cursor/rules/architecture.mdc +49 -0
- package/agents/cursor/rules/continuous-learning.mdc +48 -0
- package/agents/cursor/rules/cursor-workflow.mdc +29 -0
- package/agents/cursor/rules/design.mdc +25 -0
- package/agents/cursor/rules/implement.mdc +26 -0
- package/agents/cursor/rules/local-development.mdc +104 -0
- package/agents/cursor/rules/prep.mdc +15 -0
- package/agents/cursor/rules/resolve.mdc +46 -0
- package/agents/cursor/rules/simplicity.mdc +18 -0
- package/agents/cursor/rules/software-development-lifecycle.mdc +41 -0
- package/agents/cursor/rules/test.mdc +25 -0
- package/agents/windsurf/rules/architecture.md +49 -0
- package/agents/windsurf/rules/continuous-learning.md +47 -0
- package/agents/windsurf/rules/local-development.md +103 -0
- package/agents/windsurf/rules/remote-development.md +22 -0
- package/agents/windsurf/rules/simplicity.md +17 -0
- package/agents/windsurf/rules/windsurf-workflow.md +28 -0
- package/agents/windsurf/workflows/prep.md +20 -0
- package/agents/windsurf/workflows/resolve-issue.md +47 -0
- package/agents/windsurf/workflows/start-design.md +26 -0
- package/agents/windsurf/workflows/start-impl.md +27 -0
- package/agents/windsurf/workflows/start-tests.md +26 -0
- package/bin/fraim.js +117 -0
- package/docs/guides/getting-started.md +175 -0
- package/getting-started.md +143 -0
- package/index.js +40 -0
- package/install.sh +58 -0
- package/package.json +50 -0
- package/scripts/__init__.py +10 -0
- package/scripts/cli.py +141 -0
- package/setup.js +86 -0
- package/setup.py +0 -0
- package/test-config.json +32 -0
- package/workflows/setup-fraim.yml +147 -0
package/DISTRIBUTION.md
ADDED
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# 🚀 FRAIM Distribution Guide
|
|
2
|
+
|
|
3
|
+
**Framework for Rigor-based AI Management - Where humans become AI managers through rigorous methodology**
|
|
4
|
+
|
|
5
|
+
This guide covers all the ways to distribute and adopt the FRAIM framework.
|
|
6
|
+
|
|
7
|
+
P.S. I have only tested #1 so far
|
|
8
|
+
|
|
9
|
+
## 📦 Distribution Methods
|
|
10
|
+
|
|
11
|
+
### 1. **NPX (Recommended)**
|
|
12
|
+
```bash
|
|
13
|
+
npx @fraim/framework init
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**Benefits:**
|
|
17
|
+
- Instant execution without installation
|
|
18
|
+
- Always uses latest version
|
|
19
|
+
- No global dependencies
|
|
20
|
+
- Cross-platform compatibility
|
|
21
|
+
|
|
22
|
+
**Package Details:**
|
|
23
|
+
- Name: `@fraim/framework`
|
|
24
|
+
- Scope: `@fraim`
|
|
25
|
+
- Registry: npmjs.com
|
|
26
|
+
|
|
27
|
+
### 2. **Python Package (pip)**
|
|
28
|
+
```bash
|
|
29
|
+
pip install fraim-framework
|
|
30
|
+
fraim init
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Benefits:**
|
|
34
|
+
- Python ecosystem integration
|
|
35
|
+
- Virtual environment support
|
|
36
|
+
- Easy dependency management
|
|
37
|
+
- Cross-platform compatibility
|
|
38
|
+
|
|
39
|
+
**Package Details:**
|
|
40
|
+
- Name: `fraim-framework`
|
|
41
|
+
- Registry: PyPI
|
|
42
|
+
- Python: >=3.8
|
|
43
|
+
|
|
44
|
+
### 3. **One-Line Installer**
|
|
45
|
+
```bash
|
|
46
|
+
curl -sSL https://fraim.dev/install.sh | bash -s -- --repo owner/repository
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
**Benefits:**
|
|
50
|
+
- No package manager required
|
|
51
|
+
- Works on any Unix-like system
|
|
52
|
+
- Direct GitHub integration
|
|
53
|
+
- Customizable installation
|
|
54
|
+
|
|
55
|
+
### 4. **GitHub Action**
|
|
56
|
+
```yaml
|
|
57
|
+
- uses: mathursrus/fraim-setup@v1
|
|
58
|
+
with:
|
|
59
|
+
repository: ${{ github.repository }}
|
|
60
|
+
config: fraim-config.json
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Benefits:**
|
|
64
|
+
- Automated setup in CI/CD
|
|
65
|
+
- Repository integration
|
|
66
|
+
- Team collaboration
|
|
67
|
+
- Version control
|
|
68
|
+
|
|
69
|
+
## 🎯 Quick Start Snippets
|
|
70
|
+
|
|
71
|
+
### For New Repositories
|
|
72
|
+
```bash
|
|
73
|
+
# Create new repo and setup FRAIM
|
|
74
|
+
gh repo create my-ai-project --public
|
|
75
|
+
cd my-ai-project
|
|
76
|
+
npx @fraim/framework init
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### For Existing Repositories
|
|
80
|
+
```bash
|
|
81
|
+
# Add FRAIM to existing project
|
|
82
|
+
cd existing-project
|
|
83
|
+
npx @fraim/framework init
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## 🔧 Configuration Options
|
|
87
|
+
|
|
88
|
+
### Basic Setup
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"repository": {
|
|
92
|
+
"owner": "your-org",
|
|
93
|
+
"name": "your-repo"
|
|
94
|
+
},
|
|
95
|
+
"features": {
|
|
96
|
+
"labels": true,
|
|
97
|
+
"workflows": true,
|
|
98
|
+
"agentRules": ["cursor", "claude", "windsurf"]
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Advanced Setup
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"features": {
|
|
107
|
+
"deployments": {
|
|
108
|
+
"enabled": true,
|
|
109
|
+
"environments": ["staging", "production"]
|
|
110
|
+
},
|
|
111
|
+
"notifications": {
|
|
112
|
+
"slack": "webhook-url",
|
|
113
|
+
"teams": "webhook-url"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"phases": {
|
|
117
|
+
"design": { "required_approvals": 2 },
|
|
118
|
+
"implementation": { "required_approvals": 3 },
|
|
119
|
+
"testing": { "auto_deploy": true }
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## 🚀 Launch Strategy
|
|
125
|
+
|
|
126
|
+
### Phase 1: Early Adopters
|
|
127
|
+
- **Target**: Individual developers and small teams
|
|
128
|
+
- **Distribution**: NPX and GitHub releases
|
|
129
|
+
- **Focus**: Core functionality and documentation
|
|
130
|
+
|
|
131
|
+
### Phase 2: Team Adoption
|
|
132
|
+
- **Target**: Development teams and organizations
|
|
133
|
+
- **Distribution**: Python package and GitHub Actions
|
|
134
|
+
- **Focus**: Team coordination and advanced features
|
|
135
|
+
|
|
136
|
+
### Phase 3: Enterprise
|
|
137
|
+
- **Target**: Large organizations and enterprises
|
|
138
|
+
- **Distribution**: Enterprise packages and support
|
|
139
|
+
- **Focus**: Compliance, security, and scalability
|
|
140
|
+
|
|
141
|
+
## 📊 Success Metrics
|
|
142
|
+
|
|
143
|
+
### Adoption Metrics
|
|
144
|
+
- **Downloads**: NPX executions, pip installs
|
|
145
|
+
- **Repositories**: GitHub stars, forks, usage
|
|
146
|
+
- **Community**: Issues, PRs, discussions
|
|
147
|
+
|
|
148
|
+
### Usage Metrics
|
|
149
|
+
- **Active Users**: Monthly active repositories
|
|
150
|
+
- **Feature Usage**: Workflow executions, label usage
|
|
151
|
+
- **Retention**: Repeat usage, long-term adoption
|
|
152
|
+
|
|
153
|
+
### Quality Metrics
|
|
154
|
+
- **Satisfaction**: User ratings, feedback scores
|
|
155
|
+
- **Support**: Issue resolution time, documentation quality
|
|
156
|
+
- **Performance**: Setup time, workflow success rates
|
|
157
|
+
|
|
158
|
+
## 🔗 Distribution URLs
|
|
159
|
+
|
|
160
|
+
### Primary
|
|
161
|
+
- **NPX**: `npx @fraim/framework`
|
|
162
|
+
- **Python**: `pip install fraim-framework`
|
|
163
|
+
- **GitHub**: `https://github.com/mathursrus/Ashley-Calendar-AI/tree/master/FRAIM`
|
|
164
|
+
|
|
165
|
+
### Documentation
|
|
166
|
+
- **Main Docs**: `https://fraim.dev`
|
|
167
|
+
- **GitHub Wiki**: `https://github.com/mathursrus/Ashley-Calendar-AI/wiki`
|
|
168
|
+
- **Examples**: `https://github.com/mathursrus/Ashley-Calendar-AI/tree/master/FRAIM/examples`
|
|
169
|
+
|
|
170
|
+
### Support
|
|
171
|
+
- **Issues**: `https://github.com/mathursrus/Ashley-Calendar-AI/issues`
|
|
172
|
+
- **Discussions**: `https://github.com/mathursrus/Ashley-Calendar-AI/discussions`
|
|
173
|
+
- **Community**: `https://github.com/mathursrus/Ashley-Calendar-AI/community`
|
|
174
|
+
|
|
175
|
+
## 🎯 Next Steps
|
|
176
|
+
|
|
177
|
+
1. **Choose Distribution Method**: Select the best option for your use case
|
|
178
|
+
2. **Setup FRAIM**: Follow the [quick start guide](docs/guides/getting-started.md)
|
|
179
|
+
3. **Configure Agents**: Customize AI agent rules and workflows
|
|
180
|
+
4. **Start Managing**: Begin coordinating AI agents with RIGOR methodology
|
|
181
|
+
5. **Share Feedback**: Contribute to the community and framework improvement
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
**Ready to become an AI manager?** 🚀
|
|
186
|
+
|
|
187
|
+
Start your FRAIM journey today with any of the distribution methods above!
|
package/README.md
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# 🚀 FRAIM: Framework for Rigor-based AI Management
|
|
2
|
+
|
|
3
|
+
**Where humans become AI managers through rigorous methodology**
|
|
4
|
+
|
|
5
|
+
FRAIM is a framework that empowers human developers to coordinate AI agents using **proven, tested practices** that have been refined through real project experience. This isn't theory - these are the actual rules that have been battle-tested in production environments.
|
|
6
|
+
|
|
7
|
+
## 🎯 What is FRAIM?
|
|
8
|
+
|
|
9
|
+
FRAIM transforms you from a solo developer into an **AI manager** who orchestrates multiple AI agents (Cursor, Claude, Windsurf) with enterprise-grade discipline. It's not just about using AI—it's about managing AI teams with the same rigor you'd apply to human teams.
|
|
10
|
+
|
|
11
|
+
**Key Difference**: FRAIM contains **tested rules from real projects**, not theoretical best practices. Every rule, workflow, and coordination pattern has been proven to work in actual development environments.
|
|
12
|
+
|
|
13
|
+
## 🧠 The RIGOR Methodology
|
|
14
|
+
|
|
15
|
+
**R**eviews: Structured feedback and approval processes
|
|
16
|
+
**I**solation: Agents don't interfere with each others' work *unless* you explicitly ask them to
|
|
17
|
+
**G**itOps: Git as the single source of truth and the glue between you and your agents
|
|
18
|
+
**O**bservability: Complete visibility into AI activities
|
|
19
|
+
**R**etrospectives: Continuous learning from mistakes and positive experiences
|
|
20
|
+
|
|
21
|
+
## 🚀 Quick Start
|
|
22
|
+
|
|
23
|
+
### Option 1: NPX (Recommended)
|
|
24
|
+
```bash
|
|
25
|
+
npx fraim-framework init
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Option 2: One-Line Installer
|
|
29
|
+
```bash
|
|
30
|
+
curl -sSL https://fraim.dev/install.sh | bash -s -- --repo owner/repository
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Option 3: Python Package
|
|
34
|
+
```bash
|
|
35
|
+
pip install fraim-framework
|
|
36
|
+
fraim init
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Option 4: GitHub Action
|
|
40
|
+
Add the FRAIM setup workflow to your repository and run it manually.
|
|
41
|
+
|
|
42
|
+
## 📁 Framework Structure
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
FRAIM/
|
|
46
|
+
├── README.md # This file - framework overview
|
|
47
|
+
├── package.json # Node.js package configuration
|
|
48
|
+
├── setup.py # Python package configuration
|
|
49
|
+
├── index.js # Main entry point
|
|
50
|
+
├── setup.js # Cross-platform setup script
|
|
51
|
+
├── install.sh # One-line bash installer
|
|
52
|
+
├── test-config.json # Example configuration
|
|
53
|
+
│
|
|
54
|
+
├── bin/ # Command-line interface
|
|
55
|
+
│ └── fraim.js # FRAIM CLI with full functionality
|
|
56
|
+
│
|
|
57
|
+
├── agents/ # AI agent configurations
|
|
58
|
+
│ ├── cursor/ # Cursor IDE rules (TESTED)
|
|
59
|
+
│ │ ├── .cursorrules # Main configuration
|
|
60
|
+
│ │ └── rules/ # Modular rule files
|
|
61
|
+
│ ├── claude/ # Claude agent configuration (TESTED)
|
|
62
|
+
│ │ ├── CLAUDE.md # Main configuration
|
|
63
|
+
│ │ └── rules/ # Modular rule files
|
|
64
|
+
│ └── windsurf/ # Windsurf agent configuration (TESTED)
|
|
65
|
+
│ ├── .windsurfrules # Main configuration
|
|
66
|
+
│ └── rules/ # Modular rule files
|
|
67
|
+
│
|
|
68
|
+
├── workflows/ # GitHub Actions workflows
|
|
69
|
+
│ └── setup-fraim.yml # Automated FRAIM setup
|
|
70
|
+
│
|
|
71
|
+
├── scripts/ # Python package scripts
|
|
72
|
+
│ ├── __init__.py # Package initialization
|
|
73
|
+
│ ├── cli.py # Python CLI implementation
|
|
74
|
+
│ └── setup.py # Python setup module
|
|
75
|
+
│
|
|
76
|
+
├── docs/ # Documentation and guides
|
|
77
|
+
│ ├── rfcs/ # RFC documents
|
|
78
|
+
│ └── guides/ # Getting started guides
|
|
79
|
+
│
|
|
80
|
+
└── examples/ # Example implementations
|
|
81
|
+
└── simple-webapp/ # Sample project with FRAIM config
|
|
82
|
+
├── README.md # Project documentation
|
|
83
|
+
└── fraim-config.json # Sample configuration
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## 🤖 Supported AI Agents
|
|
87
|
+
|
|
88
|
+
- **Cursor**: IDE-integrated development and testing (with tested rules)
|
|
89
|
+
- **Claude**: Conversational AI and design assistance (with tested rules)
|
|
90
|
+
- **Windsurf**: Advanced code understanding and optimization (with tested rules)
|
|
91
|
+
|
|
92
|
+
## 🔧 Core Features
|
|
93
|
+
|
|
94
|
+
- **Proven Rules**: Every rule has been tested in real projects
|
|
95
|
+
- **Automated Setup**: Single command to bootstrap FRAIM in any repository
|
|
96
|
+
- **GitHub Integration**: Native GitHub workflows, labels, and automation
|
|
97
|
+
- **Agent Coordination**: Seamless coordination between multiple AI agents
|
|
98
|
+
- **Phase Management**: Structured design → implementation → testing workflows
|
|
99
|
+
- **Enterprise Ready**: Observability, rollbacks, and audit trails built-in
|
|
100
|
+
|
|
101
|
+
## 📚 Documentation
|
|
102
|
+
|
|
103
|
+
- **Getting Started**: `/docs/guides/getting-started.md`
|
|
104
|
+
- **RFC Template**: `/docs/rfcs/`
|
|
105
|
+
- **Distribution Guide**: `DISTRIBUTION.md`
|
|
106
|
+
- **Agent Rules**: `/agents/` directory (all tested and proven)
|
|
107
|
+
|
|
108
|
+
## 🚀 Usage Examples
|
|
109
|
+
|
|
110
|
+
### Basic Setup
|
|
111
|
+
```bash
|
|
112
|
+
# Initialize FRAIM in current repository
|
|
113
|
+
npx fraim-framework init
|
|
114
|
+
|
|
115
|
+
# Learn about RIGOR methodology
|
|
116
|
+
npx fraim-framework rigor
|
|
117
|
+
|
|
118
|
+
# Interactive setup wizard
|
|
119
|
+
npx fraim-framework wizard
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Agent Coordination
|
|
123
|
+
```bash
|
|
124
|
+
# Create issue with phase labels
|
|
125
|
+
gh issue create --title "Add user auth" --label "phase:design,ai-agent:claude"
|
|
126
|
+
|
|
127
|
+
# AI agents automatically coordinate through GitHub state
|
|
128
|
+
# Claude creates RFC → Cursor implements → Windsurf optimizes
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## 🎯 Success Metrics
|
|
132
|
+
|
|
133
|
+
- **Setup Time**: < 5 minutes from zero to production-ready
|
|
134
|
+
- **Agent Coordination**: Zero conflicts between multiple AI agents
|
|
135
|
+
- **Workflow Efficiency**: 50% reduction in development cycle time
|
|
136
|
+
- **Quality**: Built-in reviews and validation at every phase
|
|
137
|
+
- **Reliability**: Tested rules prevent common coordination failures
|
|
138
|
+
|
|
139
|
+
## 🔗 Quick Links
|
|
140
|
+
|
|
141
|
+
- **Repository**: [GitHub](https://github.com/mathursrus/Ashley-Calendar-AI/tree/master/FRAIM)
|
|
142
|
+
- **Issues**: [GitHub Issues](https://github.com/mathursrus/Ashley-Calendar-AI/issues)
|
|
143
|
+
- **Documentation**: [Framework Docs](https://github.com/mathursrus/Ashley-Calendar-AI/tree/master/FRAIM/docs)
|
|
144
|
+
- **Distribution**: [DISTRIBUTION.md](DISTRIBUTION.md)
|
|
145
|
+
|
|
146
|
+
## 🚀 Ready to Become an AI Manager?
|
|
147
|
+
|
|
148
|
+
FRAIM transforms the way you work with AI agents. Instead of managing code, you'll be managing AI teams with enterprise-grade discipline.
|
|
149
|
+
|
|
150
|
+
**Start your journey today:**
|
|
151
|
+
```bash
|
|
152
|
+
npx fraim-framework init
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
*FRAIM: Where humans become AI managers through rigorous methodology*
|
|
158
|
+
|
|
159
|
+
**Note**: All rules and workflows in FRAIM have been tested and proven in real project environments. This isn't theory - it's battle-tested practice.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Claude Code Configuration for Ashley Calendar AI
|
|
2
|
+
|
|
3
|
+
## Always-On Rules
|
|
4
|
+
The following rules from `.cursor/rules/` should ALWAYS be followed by Claude Code instances:
|
|
5
|
+
|
|
6
|
+
- **architecture.mdc** - Core architecture principles (BAML for LLM tasks, TypeScript for deterministic logic)
|
|
7
|
+
- **continuous-learning.mdc** - Always review retrospectives and RFCs before starting work
|
|
8
|
+
- **cursor-workflow.mdc** - Standard Claude Code development workflow
|
|
9
|
+
- **local-development.mdc** - Local development guidelines and tool usage
|
|
10
|
+
- **resolve.mdc** - Issue resolution process
|
|
11
|
+
- **software-development-lifecycle.mdc** - Complete SDLC process
|
|
12
|
+
|
|
13
|
+
## Phase-Specific Rules (Manual Trigger Only)
|
|
14
|
+
These rules should only be applied when explicitly requested:
|
|
15
|
+
|
|
16
|
+
- **prep.md** - Apply when user says "prep issue" or similar
|
|
17
|
+
- **design.md** - Apply when user says "design phase" or similar
|
|
18
|
+
- **implement.md** - Apply when user says "implementation phase" or similar
|
|
19
|
+
- **test.md** - Apply when user says "test phase" or similar
|
|
20
|
+
|
|
21
|
+
## Key Behavioral Requirements
|
|
22
|
+
1. **Never commit** unless explicitly asked
|
|
23
|
+
2. **Use TodoWrite** tool for all multi-step tasks
|
|
24
|
+
3. **Review retrospectives** before starting similar work
|
|
25
|
+
4. **Follow architecture principles** - BAML for natural language, TypeScript for deterministic logic
|
|
26
|
+
5. **Verify working directory** before file operations
|
|
27
|
+
6. **Promise to follow these rules** when asked
|
|
28
|
+
|
|
29
|
+
## Project Structure Awareness
|
|
30
|
+
- BAML sources: `/baml_src/**/*.baml`
|
|
31
|
+
- Generated client: `/baml_client/**`
|
|
32
|
+
- Deterministic logic: `/src/**`
|
|
33
|
+
- Design docs: `/docs/rfcs/*.md`
|
|
34
|
+
- Retrospectives: `/retrospectives/`
|
|
35
|
+
- Scripts: `/scripts/`
|
|
36
|
+
|
|
37
|
+
## Tool Usage Guidelines
|
|
38
|
+
- Use Read, Edit, Write tools for file operations
|
|
39
|
+
- Use Grep, Glob for searching
|
|
40
|
+
- Use Bash for commands and tests
|
|
41
|
+
- Use TodoWrite for progress tracking
|
|
42
|
+
- Always verify working directory before file operations
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Architecture principles and guidelines
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Architecture
|
|
7
|
+
|
|
8
|
+
## Intent
|
|
9
|
+
Keep the architecture clean: use BAML (LLM) for any natural-language understanding, fuzzy matching, or semantic comparison. Use deterministic TypeScript only for side-effectful or strictly rule-based work (APIs, DB, validation, formatting, scheduling, retries).
|
|
10
|
+
|
|
11
|
+
## Principles (follow in this order)
|
|
12
|
+
1. Parse (LLM/BAML) → 2. Normalize (deterministic) → 3. Validate (deterministic) → 4. Decide (LLM if subjective; code if rules) → 5. Act (deterministic side effects)
|
|
13
|
+
|
|
14
|
+
## LLM/BAML Usage
|
|
15
|
+
- Entity/intent extraction, timezone/place inference, date/time range interpretation
|
|
16
|
+
- Participant role classification, preference inference, text similarity
|
|
17
|
+
- De-dupe by meaning, natural language understanding
|
|
18
|
+
|
|
19
|
+
## Deterministic TypeScript Usage
|
|
20
|
+
- ISO date math, schema validation, authZ/authN, idempotency keys
|
|
21
|
+
- OpenAPI I/O, DB writes, calendar invites, retries/timeouts
|
|
22
|
+
- Metrics/telemetry, side effects
|
|
23
|
+
|
|
24
|
+
## Do / Don't
|
|
25
|
+
|
|
26
|
+
### Do (LLM/BAML)
|
|
27
|
+
- NLP; Anything that needs understanding from user unstructured input
|
|
28
|
+
|
|
29
|
+
### Do (Deterministic TS)
|
|
30
|
+
- Ensure structure through interfaces, folder management, test cases
|
|
31
|
+
|
|
32
|
+
### Don't
|
|
33
|
+
- Don't hand-roll regex/heuristics for dates/locations/intent
|
|
34
|
+
- Don't duplicate LLM functionality
|
|
35
|
+
- Don't call BAML for pure formatting (e.g., toISOString, trimming)
|
|
36
|
+
|
|
37
|
+
## Project Structure
|
|
38
|
+
- **BAML sources**: `/baml_src/**/*.baml`
|
|
39
|
+
- **Generated client**: `/baml_client/**` (run `baml-cli generate`)
|
|
40
|
+
- **Deterministic logic**: `/src/**`
|
|
41
|
+
- **Design docs + Test plans**: `/docs/rfcs/*.md`
|
|
42
|
+
- **Random utility scripts**: `/scripts`
|
|
43
|
+
- **Test cases**: `/` (at root level, these are the most important artifacts)
|
|
44
|
+
|
|
45
|
+
## Local Development Notes
|
|
46
|
+
- Test deterministic logic with unit tests before integrating with LLM components
|
|
47
|
+
- Write test cases for each change. Tag representative ones with 'smoke'
|
|
48
|
+
- Keep architecture boundaries clear between LLM and deterministic code
|
|
49
|
+
- Document any architectural decisions in your RFC or implementation notes
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Continuous learning from retrospectives and past work
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Continuous Learning
|
|
7
|
+
|
|
8
|
+
## Retrospectives Review
|
|
9
|
+
- **Always review** the `/retrospectives/` folder before starting work on similar issues
|
|
10
|
+
- **Learn from past problems** - understand root cause analysis and lessons learned
|
|
11
|
+
- **Apply previous solutions** - don't repeat mistakes that have already been solved
|
|
12
|
+
|
|
13
|
+
## Knowledge Integration
|
|
14
|
+
- **Read related RFCs** in `/docs/rfcs/` to understand design decisions
|
|
15
|
+
- **Review test cases** to see how similar problems were approached
|
|
16
|
+
- **Check issue history** for patterns in failures and solutions
|
|
17
|
+
|
|
18
|
+
## Local Development Benefits
|
|
19
|
+
- **Avoid known pitfalls** by learning from retrospectives
|
|
20
|
+
- **Build on existing solutions** rather than starting from scratch
|
|
21
|
+
- **Understand system constraints** from past architectural decisions
|
|
22
|
+
|
|
23
|
+
## Before Starting Work
|
|
24
|
+
1. **Search retrospectives** for related issues or similar problems
|
|
25
|
+
2. **Read relevant RFCs** to understand the design context
|
|
26
|
+
3. **Review test cases** to see expected behavior
|
|
27
|
+
4. **Check issue comments** for previous attempts and solutions
|
|
28
|
+
|
|
29
|
+
## Document Your Learning
|
|
30
|
+
- **Update retrospectives** if you discover new insights
|
|
31
|
+
- **Add to RFCs** if you find better approaches
|
|
32
|
+
- **Share solutions** with other agents through issue comments
|
|
33
|
+
|
|
34
|
+
## Retrospective Triggers
|
|
35
|
+
|
|
36
|
+
### **Automatic Retrospective Requirements**
|
|
37
|
+
- **Complex Issues (>3 iterations)**: Must create retrospective before issue closure
|
|
38
|
+
- **Process Violations**: Any workflow rule violations require retrospectives
|
|
39
|
+
- **Work Loss Incidents**: Any incidents where work is lost require detailed retrospectives
|
|
40
|
+
|
|
41
|
+
### **Retrospective Creation Process**
|
|
42
|
+
1. **Stop Current Work**: Pause issue resolution if retrospective is required
|
|
43
|
+
2. **Create Retrospective**: Use standard template in retrospectives folder
|
|
44
|
+
3. **Root Cause Analysis**: Identify underlying causes, not just symptoms
|
|
45
|
+
4. **Prevention Measures**: Document specific actions to prevent recurrence
|
|
46
|
+
5. **Process Updates**: Update rules and workflows based on learnings
|
|
47
|
+
|
|
48
|
+
Remember: The best code is often written by those who learn from history rather than repeat it.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Cursor development workflow and output guidelines
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Cursor Development Workflow
|
|
7
|
+
|
|
8
|
+
## Goal
|
|
9
|
+
Work efficiently in local environment while maintaining coordination with remote repository and other agents.
|
|
10
|
+
|
|
11
|
+
## Behavior
|
|
12
|
+
- Use local file system for development work
|
|
13
|
+
- ***NEVER*** commit unless asked to do so
|
|
14
|
+
- Produce clear progress updates with:
|
|
15
|
+
1. Actions executed (imperative, past tense)
|
|
16
|
+
2. Local progress (files modified, tests run)
|
|
17
|
+
3. Remote artifacts (branch, PR status)
|
|
18
|
+
4. Next steps for this issue
|
|
19
|
+
5. Blocking issues (if any)
|
|
20
|
+
|
|
21
|
+
## Stop Criteria
|
|
22
|
+
- When the assigned work is complete
|
|
23
|
+
- When tests pass and PR is ready for review
|
|
24
|
+
- When waiting for reviewer feedback
|
|
25
|
+
|
|
26
|
+
## Output Template
|
|
27
|
+
- Summary:
|
|
28
|
+
- Local progress: [what you accomplished locally]
|
|
29
|
+
- Remote status: [branch/PR status]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start designing the solution
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
Step 1: Ask for {issue_number} (and optional {slug})
|
|
6
|
+
|
|
7
|
+
Step 2: Label the issue 'phase:design' (GitHub Action will automatically create a branch, label the issue `status:wip`, create a draft PR)
|
|
8
|
+
|
|
9
|
+
Step 3: Using GitHub MCP, wait for the branch to get created, then do a checkout to start your work.
|
|
10
|
+
|
|
11
|
+
*** IMPORTANT IF YOU ARE WORKING LOCALLY **** switch into your branch and ensure you work in your own folder.
|
|
12
|
+
|
|
13
|
+
Step 4: Do your work either remotely or locally as defined by the user. If unsure, ask the user. Once sure, let the user know.
|
|
14
|
+
|
|
15
|
+
Step 5: Your work entails the following
|
|
16
|
+
|
|
17
|
+
- Create docs/rfcs/{issue_number}-{slug}.md.
|
|
18
|
+
|
|
19
|
+
- If the issue requires a small fix or bug fix, use this template - docs/rfcs/BUG-TEMPLATE.md
|
|
20
|
+
|
|
21
|
+
- If the issue requires major changes, use this template - docs/rfcs/RFC-TEMPLATE.md
|
|
22
|
+
|
|
23
|
+
- When ready for review, flip issue to 'status:needs-review' and remove 'status:wip'
|
|
24
|
+
|
|
25
|
+
Step 6: If workflow actions or reviewer feedback indicates more work is needed, ensure the issue is set back to `status:wip` and continue working as above.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start implementing the solution
|
|
3
|
+
alwaysApply: false
|
|
4
|
+
---
|
|
5
|
+
Step 1: Ask for {issue_number} (and optional {slug}); confirm target branch feature/{issue_number}-{slug}.
|
|
6
|
+
|
|
7
|
+
Step 2: Ensure the branch exists (your GitHub Action will usually auto-create it) and checkout it.
|
|
8
|
+
|
|
9
|
+
Step 3: Label the issue 'phase:impl'. (GitHub Action will automatically label the issue `status:wip`, create a draft PR)
|
|
10
|
+
|
|
11
|
+
Step 4: Do your work either remotely or locally as defined by the user. If unsure, ask the user. Once sure, let the user know.
|
|
12
|
+
|
|
13
|
+
Step 5: Your work entails the following
|
|
14
|
+
|
|
15
|
+
- Review the RFC associated with this issue.
|
|
16
|
+
|
|
17
|
+
- Determine whether changes need to be made to existing code, or brand new code needs to be written.
|
|
18
|
+
|
|
19
|
+
- Write the minimal set of code and test cases needed for this issue.
|
|
20
|
+
|
|
21
|
+
- **Test cases must inherit from test-utils and follow the structure of the rest of the test suite**
|
|
22
|
+
- Ensure test cases pass.
|
|
23
|
+
|
|
24
|
+
- When ready for review, flip issue to 'status:needs-review' and remove 'status:wip'
|
|
25
|
+
|
|
26
|
+
Step 6: If workflow actions or reviewer feedback indicates more work is needed, ensure the issue is set back to `status:wip` and continue working as above.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Local development with remote coordination guidelines
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Local Development with Remote Coordination
|
|
7
|
+
|
|
8
|
+
- Use local file system for development work in your own cloned repository folder
|
|
9
|
+
- Push to feature branches only; never push to master
|
|
10
|
+
- Do NOT open PRs; push and let Actions open/update Draft PRs
|
|
11
|
+
- Always work in your own cloned repository folder: `git clone <repo> "<repo> - Issue {issue_number}"`
|
|
12
|
+
- After you create the clone, do not forget to change into that working directory. All your work **MUST** be in your working directory.
|
|
13
|
+
- Coordinate with other agents through GitHub issues and PRs
|
|
14
|
+
- Each agent works independently in their own folder to enable true parallel development
|
|
15
|
+
|
|
16
|
+
## CRITICAL RULE: Absolute Workspace Separation
|
|
17
|
+
|
|
18
|
+
### Local Clone: WORK-ONLY
|
|
19
|
+
- **Directory**: `<repo> - Issue <issue number>`
|
|
20
|
+
- **Purpose**: All development work happens here exclusively
|
|
21
|
+
- **Rule**: ALL file operations must be within this directory
|
|
22
|
+
|
|
23
|
+
## Mandatory Pre-File-Operation Checklist
|
|
24
|
+
|
|
25
|
+
**Before ANY file operation (edit_file, delete_file, etc.), verify:**
|
|
26
|
+
|
|
27
|
+
1. ✅ **Directory Check**: `pwd` shows local clone with issue number in path
|
|
28
|
+
2. ✅ **Path Verification**: File path is relative (no "../" or main workspace name)
|
|
29
|
+
3. ✅ **Branch Check**: `git branch` shows correct feature branch
|
|
30
|
+
4. ❌ **If ANY check fails**: STOP immediately and fix location
|
|
31
|
+
|
|
32
|
+
**This checklist is MANDATORY, not optional.**
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Enhanced Stop Conditions
|
|
36
|
+
|
|
37
|
+
**Stop ALL work immediately if:**
|
|
38
|
+
- You create a file and it appears in main workspace
|
|
39
|
+
- You use edit_file with "../" paths
|
|
40
|
+
- You work in directory without issue number in name
|
|
41
|
+
- `pwd` shows main workspace path
|
|
42
|
+
- Any file operation targets main workspace
|
|
43
|
+
|
|
44
|
+
**Take corrective action before continuing.**
|
|
45
|
+
|
|
46
|
+
## Workspace Validation Commands
|
|
47
|
+
|
|
48
|
+
**Before starting work, run:**
|
|
49
|
+
```bash
|
|
50
|
+
echo "Working in: $(pwd)"
|
|
51
|
+
echo "Should contain issue number in path"
|
|
52
|
+
git branch
|
|
53
|
+
echo "Should show feature branch"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**If output doesn't match expectations, fix before proceeding.**
|
|
57
|
+
|
|
58
|
+
## Tool Usage Restrictions
|
|
59
|
+
|
|
60
|
+
### File Operations - Local Only
|
|
61
|
+
- `edit_file()` - ONLY with relative paths in local repo
|
|
62
|
+
- `delete_file()` - ONLY within local repo
|
|
63
|
+
- `search_replace()` - ONLY on local repo files
|
|
64
|
+
|
|
65
|
+
### Reference Operations - Main Workspace OK
|
|
66
|
+
- `read_file()` - OK to read from main workspace for reference
|
|
67
|
+
- `list_dir()` - OK to explore main workspace structure
|
|
68
|
+
- `grep()` - OK to search main workspace for patterns
|
|
69
|
+
|
|
70
|
+
## Violation Recovery Process
|
|
71
|
+
|
|
72
|
+
**If you violate workspace boundaries:**
|
|
73
|
+
|
|
74
|
+
1. **Stop immediately** - Do not continue file operations
|
|
75
|
+
2. **Assess damage** - Check what was created in wrong location
|
|
76
|
+
3. **Clean up** - Delete files created in main workspace
|
|
77
|
+
4. **Recreate correctly** - Recreate files in local repo only
|
|
78
|
+
5. **Document violation** - Update post-mortem with details
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
## Enhanced Output Template
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Summary:
|
|
85
|
+
- Work completed in local repository: [path]
|
|
86
|
+
- Files created/modified: [list with relative paths]
|
|
87
|
+
- Workspace violations: [none/details if any occurred]
|
|
88
|
+
|
|
89
|
+
Artifacts:
|
|
90
|
+
- Branch: [URL]
|
|
91
|
+
- Local directory: [full path to local clone]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Emergency Safeguards
|
|
95
|
+
|
|
96
|
+
**If assistant shows signs of workspace confusion:**
|
|
97
|
+
- User should immediately clarify working directory
|
|
98
|
+
- Assistant should run `pwd` and verify location
|
|
99
|
+
- All file operations should pause until location confirmed
|
|
100
|
+
- Assistant should explicitly state file paths being used
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
**Bottom Line**: The local development workflow requires absolute discipline about workspace boundaries.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Step 1: Ask for {issue_number}
|
|
2
|
+
|
|
3
|
+
Step 2: Clone the repo to "<repo> - Issue {issue_number}"
|
|
4
|
+
- **CRITICAL**: Clone ONE LEVEL ABOVE the current workspace directory
|
|
5
|
+
- **DO NOT** clone inside the current workspace folder
|
|
6
|
+
- **VERIFY LOCATION**: Use `pwd` to confirm you're in the parent directory before cloning
|
|
7
|
+
|
|
8
|
+
Step 3: Confirm items in the checklist and say "Huzzah!"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Safety Checklist
|
|
12
|
+
- [ ] Confirmed current workspace path with `pwd`
|
|
13
|
+
- [ ] Changed to parent directory (`cd ..`) before cloning
|
|
14
|
+
- [ ] Verified clone location is outside current workspace
|
|
15
|
+
- [ ] Successfully changed into cloned repository
|