fraim-framework 1.0.7 → 1.0.8

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fraim-framework",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "FRAIM: Framework for Rigor-based AI Management - Where humans become AI managers through rigorous methodology",
5
5
  "main": "index.js",
6
6
  "bin": {
package/setup.js CHANGED
@@ -94,6 +94,79 @@ function askQuestion(question, defaultValue = 'y') {
94
94
  });
95
95
  }
96
96
 
97
+ function createProjectStructure() {
98
+ // Create retrospectives folder
99
+ ensureDirectory('retrospectives');
100
+ logSuccess('Created retrospectives folder');
101
+
102
+ // Create docs/rfcs folder
103
+ ensureDirectory('docs/rfcs');
104
+ logSuccess('Created docs/rfcs folder');
105
+
106
+ // Create BUGFIX template
107
+ const bugfixTemplate = `Issue: #<issue>
108
+
109
+ ## Impact of the Bug
110
+
111
+ ## Repro Steps
112
+
113
+ ## Root Cause
114
+
115
+ ## Fix
116
+
117
+ ## Tests
118
+ - Could be existing tests that are failing and need to be fixed
119
+ - Could be new tests that need to be added into an existing test suite
120
+ - Could be a new test suite
121
+ `;
122
+ writeFile('docs/rfcs/BUGFIX-TEMPLATE.md', bugfixTemplate);
123
+ logSuccess('Created BUGFIX-TEMPLATE.md');
124
+
125
+ // Create RFC template
126
+ const rfcTemplate = `# RFC: <Title>
127
+
128
+ Issue: #<issue>
129
+ Owner: <agent>
130
+
131
+ ## Customer
132
+
133
+ ## Customer Outcome
134
+
135
+ ## Customer Problem being solved
136
+
137
+ ## Solution
138
+
139
+ ## Alternatives
140
+
141
+ ## Design Details
142
+ - User Experience changes (incl. all modalities currently supported: see codebase to know which ones)
143
+ - API surface (OpenAPI) changes
144
+ - Data model / schema changes
145
+ - Failure modes & timeouts
146
+ - Telemetry & analytics
147
+
148
+ ## Test Matrix
149
+ - Unit: modules & edge cases
150
+ - Integration: API <-> DB <-> external
151
+ - E2E: user flows (happy/sad)
152
+
153
+ ## Risks & Mitigations
154
+
155
+ ## Observability (logs, metrics, alerts)
156
+
157
+ ## Phased Delivery Plan
158
+ - Do not incude timelines
159
+ - Do include the following for each phase:
160
+ - Deliverable
161
+ - Value delivered by deliverable
162
+ - What will be tested
163
+ `;
164
+ writeFile('docs/rfcs/RFC-TEMPLATE.md', rfcTemplate);
165
+ logSuccess('Created RFC-TEMPLATE.md');
166
+
167
+ logSuccess('Project structure created');
168
+ }
169
+
97
170
  function createGitHubLabels() {
98
171
  const labels = [
99
172
  { name: 'phase:design', color: '0e8a16', description: 'Design phase - RFC creation and review' },
@@ -311,8 +384,18 @@ async function runWizard() {
311
384
  return;
312
385
  }
313
386
 
314
- // Step 2: AI Agent Setup
315
- logStep('Step 2: AI Agent Configuration');
387
+ // Step 2: Project Structure
388
+ logStep('Step 2: Project Structure');
389
+ const setupStructure = await askQuestion('Would you like to create project structure (retrospectives, docs/rfcs with templates)?', 'y');
390
+
391
+ if (setupStructure === 'y' || setupStructure === 'yes') {
392
+ createProjectStructure();
393
+ } else {
394
+ logInfo('Skipping project structure setup');
395
+ }
396
+
397
+ // Step 3: AI Agent Setup
398
+ logStep('Step 3: AI Agent Configuration');
316
399
  const setupAgents = await askQuestion('Would you like to set up AI agent configurations (.cursor, .windsurf, CLAUDE.md)?', 'y');
317
400
 
318
401
  if (setupAgents === 'y' || setupAgents === 'yes') {
@@ -321,8 +404,8 @@ async function runWizard() {
321
404
  logInfo('Skipping AI agent setup');
322
405
  }
323
406
 
324
- // Step 3: GitHub Workflows
325
- logStep('Step 3: GitHub Workflows');
407
+ // Step 4: GitHub Workflows
408
+ logStep('Step 4: GitHub Workflows');
326
409
  const setupWorkflows = await askQuestion('Would you like to set up GitHub workflows for automation?', 'y');
327
410
 
328
411
  if (setupWorkflows === 'y' || setupWorkflows === 'yes') {
@@ -332,8 +415,8 @@ async function runWizard() {
332
415
  logInfo('Skipping GitHub workflow setup');
333
416
  }
334
417
 
335
- // Step 4: GitHub Labels
336
- logStep('Step 4: GitHub Labels');
418
+ // Step 5: GitHub Labels
419
+ logStep('Step 5: GitHub Labels');
337
420
  if (ghAvailable) {
338
421
  const setupLabels = await askQuestion('Would you like to create GitHub labels for FRAIM?', 'y');
339
422
 
@@ -347,8 +430,8 @@ async function runWizard() {
347
430
  createLabelsConfigFile();
348
431
  }
349
432
 
350
- // Step 5: Summary
351
- logStep('Step 5: Setup Summary');
433
+ // Step 6: Summary
434
+ logStep('Step 6: Setup Summary');
352
435
  logHeader('🎉 Setup Complete!');
353
436
  logSuccess('FRAIM has been successfully set up in your repository!');
354
437
  logInfo('Next steps:');
@@ -398,6 +481,7 @@ function runSetup() {
398
481
  }
399
482
 
400
483
  // Create everything at once
484
+ createProjectStructure();
401
485
  ensureDirectory('.github/workflows');
402
486
  createAgentFolders();
403
487
  createGitHubWorkflows();
@@ -428,4 +512,4 @@ if (require.main === module) {
428
512
  runSetup();
429
513
  }
430
514
 
431
- module.exports = { runSetup, runWizard };
515
+ module.exports = { runSetup, runWizard, createProjectStructure };
@@ -1,175 +0,0 @@
1
- # 🚀 Getting Started with FRAIM
2
-
3
- **Framework for Rigor-based AI Management**
4
-
5
- Welcome to FRAIM! This guide will transform you from a developer into an AI manager in under 30 seconds.
6
-
7
- ## 🚀 Quick Start (30 seconds)
8
-
9
- ### 1. Navigate to Your Repository
10
- ```bash
11
- cd your-project
12
- ```
13
-
14
- ### 2. Setup FRAIM
15
- ```bash
16
- npx @fraim/framework init
17
- ```
18
-
19
- ### 3. Create Your First AI-Managed Issue
20
- ```bash
21
- gh issue create --title "Add user authentication" --label "phase:design,ai-agent:claude"
22
- ```
23
-
24
- ### 4. Watch the Magic Happen! 🎉
25
-
26
- GitHub automatically:
27
- - 🔄 Creates branch: `feature/1-add-user-authentication`
28
- - 🔄 Creates draft PR
29
- - 🔄 Sets status: `status:wip`
30
- - 🤖 Claude starts working on RFC
31
-
32
- ## 🤖 AI Agent Coordination
33
-
34
- FRAIM coordinates three types of AI agents, each with specific roles:
35
-
36
- ### Cursor (IDE Development)
37
- - **Role**: Implementation and testing
38
- - **Strengths**: Code generation, testing, IDE integration
39
- - **Best For**: `phase:impl` tasks
40
-
41
- ### Claude (Conversational AI)
42
- - **Role**: Design and RFC creation
43
- - **Strengths**: Natural language, documentation, architecture
44
- - **Best For**: `phase:design` tasks
45
-
46
- ### Windsurf (Code Understanding)
47
- - **Role**: Performance and integration
48
- - **Strengths**: Code analysis, optimization, system integration
49
- - **Best For**: `phase:tests` and optimization tasks
50
-
51
- ## 📋 Workflow Phases
52
-
53
- ### Phase 1: Design (`phase:design`)
54
- 1. **Create Issue**: Describe the feature or bug
55
- 2. **Add Labels**: `phase:design` + `ai-agent:claude`
56
- 3. **AI Action**: Claude creates RFC and architecture docs
57
- 4. **Review**: Stakeholders review and approve design
58
- 5. **Transition**: Change to `phase:impl` + `ai-agent:cursor`
59
-
60
- ### Phase 2: Implementation (`phase:impl`)
61
- 1. **AI Action**: Cursor implements the feature
62
- 2. **Testing**: Comprehensive test coverage
63
- 3. **Documentation**: Code comments and updates
64
- 4. **Review**: Code review and validation
65
- 5. **Transition**: Change to `phase:tests` + `ai-agent:windsurf`
66
-
67
- ### Phase 3: Testing (`phase:tests`)
68
- 1. **AI Action**: Windsurf validates implementation
69
- 2. **Performance**: Performance testing and optimization
70
- 3. **Integration**: System integration testing
71
- 4. **Validation**: Final validation against requirements
72
- 5. **Completion**: Mark as `status:complete`
73
-
74
- ## 🏷️ Label System
75
-
76
- ### Phase Labels
77
- - `phase:design` - Design and RFC creation
78
- - `phase:impl` - Implementation and development
79
- - `phase:tests` - Testing and validation
80
-
81
- ### Status Labels
82
- - `status:wip` - Work in progress
83
- - `status:needs-review` - Ready for review
84
- - `status:complete` - Work completed
85
-
86
- ### Agent Labels
87
- - `ai-agent:cursor` - Assigned to Cursor
88
- - `ai-agent:claude` - Assigned to Claude
89
- - `ai-agent:windsurf` - Assigned to Windsurf
90
-
91
- ### Priority Labels (Optional)
92
- - `priority:critical` - Critical priority
93
- - `priority:high` - High priority
94
- - `priority:medium` - Medium priority
95
- - `priority:low` - Low priority
96
-
97
- ## 🔧 Advanced Setup
98
-
99
- ### Interactive Wizard
100
- ```bash
101
- npx @fraim/framework wizard
102
- ```
103
-
104
- The wizard will ask you:
105
- - Which AI agents to enable
106
- - Whether to enable deployment workflows
107
- - Whether to run in dry-run mode first
108
-
109
- ### Custom Configuration
110
- ```bash
111
- npx @fraim/framework setup owner/repository --config custom-config.json
112
- ```
113
-
114
- ### Partial Setup
115
- ```bash
116
- # Only create labels
117
- npx @fraim/framework setup owner/repository --labels-only
118
-
119
- # Only setup workflows
120
- npx @fraim/framework setup owner/repository --workflows-only
121
- ```
122
-
123
- ## 📚 Next Steps
124
-
125
- ### 1. Explore Documentation
126
- - [🧠 RIGOR Methodology](../../README.md#-the-rigor-methodology)
127
- - [🤖 AI Agent Rules](../../agents/)
128
- - [🏗️ Framework Overview](../../README.md#-framework-structure)
129
-
130
- ### 2. Try Different Workflows
131
- - Create issues with different phase/agent combinations
132
- - Experiment with the label system
133
- - Practice phase transitions
134
-
135
- ### 3. Customize for Your Team
136
- - Adjust agent assignments based on team strengths
137
- - Customize workflows for your development process
138
- - Add team-specific labels and processes
139
-
140
- ### 4. Scale Up
141
- - Apply FRAIM to multiple repositories
142
- - Train your team on the methodology
143
- - Integrate with existing CI/CD pipelines
144
-
145
- ## 🎯 Success Metrics
146
-
147
- ### Individual Level
148
- - **Setup Time**: < 30 seconds to get started
149
- - **Issue Resolution**: Faster development cycles
150
- - **Code Quality**: Higher quality through AI coordination
151
- - **Learning**: Better understanding of AI capabilities
152
-
153
- ### Team Level
154
- - **Coordination**: Seamless AI agent collaboration
155
- - **Consistency**: Standardized development processes
156
- - **Visibility**: Clear progress tracking and status
157
- - **Efficiency**: Reduced manual coordination overhead
158
-
159
- ### Organization Level
160
- - **Scalability**: Framework grows with your organization
161
- - **Compliance**: Audit trails and process documentation
162
- - **Innovation**: Faster adoption of new AI capabilities
163
- - **Competitive Advantage**: Professional AI management capabilities
164
-
165
- ## 🚀 Ready to Become an AI Manager?
166
-
167
- ```bash
168
- npx @fraim/framework init
169
- ```
170
-
171
- **FRAIM: Where humans become AI managers through rigorous methodology**
172
-
173
- ---
174
-
175
- *Need help? Check the [main README](../../README.md) or [contact the team](https://github.com/mathursrus/Ashley-Calendar-AI/issues).*