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
|
@@ -0,0 +1,175 @@
|
|
|
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).*
|
|
@@ -0,0 +1,143 @@
|
|
|
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
|
+
## 🎯 What is FRAIM?
|
|
8
|
+
|
|
9
|
+
FRAIM is a framework that empowers human developers to coordinate AI agents using the **RIGOR methodology**: Reviews • Isolation • GitOps • Observability • Retrospectives.
|
|
10
|
+
|
|
11
|
+
Instead of manually managing AI tools, FRAIM gives you the structure and automation to orchestrate AI agents like a professional team manager.
|
|
12
|
+
|
|
13
|
+
## 🚀 Quick Start (30 seconds)
|
|
14
|
+
|
|
15
|
+
### 1. Navigate to Your Repository
|
|
16
|
+
```bash
|
|
17
|
+
cd your-project
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### 2. Setup FRAIM
|
|
21
|
+
```bash
|
|
22
|
+
npx @fraim/setup init
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 3. Create Your Issue List in your Git Repo
|
|
26
|
+
```bash
|
|
27
|
+
gh issue create --title "Add user authentication"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### 4. Let your AI Agents do the Magic! 🎉
|
|
31
|
+
Cursor: @design 1
|
|
32
|
+
Windsurf: /start-design 1
|
|
33
|
+
Claude: @design 1
|
|
34
|
+
|
|
35
|
+
AI Agent automatically:
|
|
36
|
+
- 🔄 Labels the Git issue with phase:design
|
|
37
|
+
|
|
38
|
+
GitHub automatically:
|
|
39
|
+
- 🔄 Creates branch: `feature/1-add-user-authentication`
|
|
40
|
+
- 🔄 Creates draft PR
|
|
41
|
+
- 🔄 Sets status: `status:wip`
|
|
42
|
+
|
|
43
|
+
AI Agent automatically:
|
|
44
|
+
- 🔄 Checks out the new branch
|
|
45
|
+
- 🔄 Researches codebase, architecture, issue and writes a PRD/RFC
|
|
46
|
+
- 🔄 Commits, Syncs the branch and Labels the Git issue with status:needs-review for you to PR
|
|
47
|
+
|
|
48
|
+
You:
|
|
49
|
+
- Watch the magic happen
|
|
50
|
+
- Review the PR like you normally would, and add comments
|
|
51
|
+
- Let the AI Agent know if you want it to iterate, or proceed to @implement (Claude, Cursor), or /start-impl (Windsurf)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## 🧠 Understanding the RIGOR Methodology
|
|
55
|
+
|
|
56
|
+
FRAIM is built on five core principles that ensure reliable, scalable, continuously improving AI coordination:
|
|
57
|
+
|
|
58
|
+
- **R**eviews: Structured feedback and approval processes
|
|
59
|
+
- **I**solation: Agents don't interfere with each others' work *unless* you explicitly ask them to
|
|
60
|
+
- **G**itOps: Git as the single source of truth and the glue between you and your agents
|
|
61
|
+
- **O**bservability: Complete visibility into AI activities
|
|
62
|
+
- **R**etrospectives: Continuous learning from mistakes and positive experiences
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
## 📋 Workflow Phases
|
|
66
|
+
|
|
67
|
+
### Phase 1: Design (`phase:design`)
|
|
68
|
+
1. **You**: Tell the agent to move into this phase and give it the issue number
|
|
69
|
+
2. **AI Action**: Labels issue `phase:design`, moves to branch, creates RFC/UX/test-plan, commits and sends out PR, labels issue `status:needs-review`
|
|
70
|
+
3. **Review**: Stakeholders review and approve design
|
|
71
|
+
4. **Issue, PR State**: Git automatically changes status between wip, complete
|
|
72
|
+
|
|
73
|
+
### Phase 2: Implementation (`phase:impl`)
|
|
74
|
+
1. **You**: Tell the agent to move into this phase
|
|
75
|
+
2. **AI Action**: Labels issue `phase:impl`, moves to branch, consults issue/code/rfcs, implements code and tests, runs tests, commits and sends out PR
|
|
76
|
+
3. **Review**: Stakeholders review and approve implementation
|
|
77
|
+
4. **Issue, PR State**: Git automatically changes status between wip, complete
|
|
78
|
+
|
|
79
|
+
### Phase 3: Resolve
|
|
80
|
+
1. **You**: Tell the agent to move into this phase once totally satisfied with the implementation and tests
|
|
81
|
+
2. **AI Action**: Pulls from master, deals with merge issues (with your help if needed), confirms everything still works, pushes to master, deletes remote and local branches, cleans up local copy of the branch
|
|
82
|
+
3. **Git**: Runs CI and prevents merging if failed
|
|
83
|
+
|
|
84
|
+
## 🏷️ Label System
|
|
85
|
+
|
|
86
|
+
### Phase Labels
|
|
87
|
+
- `phase:design` - Design and RFC creation
|
|
88
|
+
- `phase:impl` - Implementation and development
|
|
89
|
+
- `phase:tests` - Testing and validation (if needed, I ask AI Agents to write tests as part of implementation)
|
|
90
|
+
|
|
91
|
+
### Status Labels
|
|
92
|
+
- `status:wip` - Work in progress
|
|
93
|
+
- `status:needs-review` - Ready for review
|
|
94
|
+
- `status:complete` - Work completed
|
|
95
|
+
|
|
96
|
+
### Agent Labels (for future, I don't use these yet)
|
|
97
|
+
- `ai-agent:cursor` - Assigned to Cursor
|
|
98
|
+
- `ai-agent:claude` - Assigned to Claude
|
|
99
|
+
- `ai-agent:windsurf` - Assigned to Windsurf
|
|
100
|
+
|
|
101
|
+
## 🔧 Advanced Setup
|
|
102
|
+
|
|
103
|
+
### Interactive Wizard
|
|
104
|
+
```bash
|
|
105
|
+
npx @fraim/setup wizard
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
The wizard will ask you:
|
|
109
|
+
- Which AI agents to enable
|
|
110
|
+
- Whether to enable deployment workflows
|
|
111
|
+
- Whether to run in dry-run mode first
|
|
112
|
+
|
|
113
|
+
### Custom Configuration
|
|
114
|
+
```bash
|
|
115
|
+
npx @fraim/setup setup owner/repository --config custom-config.json
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Partial Setup
|
|
119
|
+
```bash
|
|
120
|
+
# Only create labels
|
|
121
|
+
npx @fraim/setup setup owner/repository --labels-only
|
|
122
|
+
|
|
123
|
+
# Only setup workflows
|
|
124
|
+
npx @fraim/setup setup owner/repository --workflows-only
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## 🎯 Success Metrics - I hope these happen for you
|
|
128
|
+
|
|
129
|
+
- **Setup Time**: < 30 seconds to get started
|
|
130
|
+
- **Issue Resolution**: Faster development cycles
|
|
131
|
+
- **Code Quality**: Higher quality through AI coordination
|
|
132
|
+
- **Learning**: Better understanding of AI capabilities
|
|
133
|
+
|
|
134
|
+
## 🚀 Ready to Become an AI Manager?
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
npx @fraim/setup init
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**FRAIM: Where humans become AI managers through rigorous methodology**
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
package/index.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* FRAIM Framework - Main Entry Point
|
|
5
|
+
* Framework for Rigor-based AI Management
|
|
6
|
+
* Where humans become AI managers through rigorous methodology
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const path = require('path');
|
|
10
|
+
const fs = require('fs');
|
|
11
|
+
|
|
12
|
+
// Import the CLI
|
|
13
|
+
const { main } = require('./bin/fraim.js');
|
|
14
|
+
|
|
15
|
+
// Export the main function for programmatic use
|
|
16
|
+
module.exports = { main };
|
|
17
|
+
|
|
18
|
+
// If this file is run directly, execute the CLI
|
|
19
|
+
if (require.main === module) {
|
|
20
|
+
main();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Framework information
|
|
24
|
+
module.exports.FRAIM_INFO = {
|
|
25
|
+
name: 'FRAIM',
|
|
26
|
+
fullName: 'Framework for Rigor-based AI Management',
|
|
27
|
+
version: '1.0.0',
|
|
28
|
+
description: 'Where humans become AI managers through rigorous methodology',
|
|
29
|
+
methodology: 'RIGOR',
|
|
30
|
+
principles: [
|
|
31
|
+
'Reviews: Structured feedback and approval processes',
|
|
32
|
+
'Isolation: Agents don\'t interfere with each others\' work *unless* you explicitly ask them to',
|
|
33
|
+
'GitOps: Git as the single source of truth and the glue between you and your agents',
|
|
34
|
+
'Observability: Complete visibility into AI activities',
|
|
35
|
+
'Retrospectives: Continuous learning from mistakes and positive experiences'
|
|
36
|
+
],
|
|
37
|
+
supportedAgents: ['cursor', 'claude', 'windsurf'],
|
|
38
|
+
repository: 'https://github.com/mathursrus/Ashley-Calendar-AI/tree/master/FRAIM',
|
|
39
|
+
note: 'All rules and workflows have been tested and proven in real project environments'
|
|
40
|
+
};
|
package/install.sh
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# FRAIM One-Line Installer
|
|
4
|
+
# Framework for Rigor-based AI Management
|
|
5
|
+
# Where humans become AI managers through rigorous methodology
|
|
6
|
+
|
|
7
|
+
set -e
|
|
8
|
+
|
|
9
|
+
# Colors for output
|
|
10
|
+
RED='\033[0;31m'
|
|
11
|
+
GREEN='\033[0;32m'
|
|
12
|
+
YELLOW='\033[1;33m'
|
|
13
|
+
BLUE='\033[0;34m'
|
|
14
|
+
NC='\033[0m' # No Color
|
|
15
|
+
|
|
16
|
+
# Banner
|
|
17
|
+
echo -e "${BLUE}"
|
|
18
|
+
cat << 'EOF'
|
|
19
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
20
|
+
║ 🚀 FRAIM ║
|
|
21
|
+
║ Framework for Rigor-based AI Management ║
|
|
22
|
+
║ Where humans become AI managers ║
|
|
23
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
24
|
+
EOF
|
|
25
|
+
echo -e "${NC}"
|
|
26
|
+
|
|
27
|
+
echo -e "${GREEN}🤖 Welcome to FRAIM!${NC}"
|
|
28
|
+
echo -e "${GREEN}Where humans become AI managers through rigorous methodology${NC}\n"
|
|
29
|
+
|
|
30
|
+
# Check if we're in a git repository
|
|
31
|
+
if [ ! -d ".git" ]; then
|
|
32
|
+
echo -e "${RED}❌ Error: Not in a git repository${NC}"
|
|
33
|
+
echo "Please run this script from within a git repository."
|
|
34
|
+
exit 1
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
# Check if FRAIM is already installed
|
|
38
|
+
if [ -d "FRAIM" ]; then
|
|
39
|
+
echo -e "${YELLOW}⚠️ FRAIM appears to already be installed in this repository${NC}"
|
|
40
|
+
echo "If you want to reinstall, please remove the existing FRAIM folder first."
|
|
41
|
+
exit 1
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
echo -e "${BLUE}📥 Installing FRAIM framework...${NC}"
|
|
45
|
+
|
|
46
|
+
# Download FRAIM from GitHub
|
|
47
|
+
echo "Downloading FRAIM framework..."
|
|
48
|
+
curl -sSL https://raw.githubusercontent.com/mathursrus/Ashley-Calendar-AI/master/FRAIM/install.sh | bash -s -- --repo $(git remote get-url origin | sed 's/.*github.com[:/]\([^/]*\/[^/]*\).*/\1/' | sed 's/\.git$//')
|
|
49
|
+
|
|
50
|
+
echo -e "\n${GREEN}✅ FRAIM installation complete!${NC}"
|
|
51
|
+
echo -e "\n${BLUE}🚀 Next steps:${NC}"
|
|
52
|
+
echo "1. Review the FRAIM folder that was created"
|
|
53
|
+
echo "2. Run: npx @fraim/framework init"
|
|
54
|
+
echo "3. Start managing your AI agents with RIGOR methodology!"
|
|
55
|
+
echo -e "\n${BLUE}📚 Learn more:${NC}"
|
|
56
|
+
echo "Documentation: https://github.com/mathursrus/Ashley-Calendar-AI/tree/master/FRAIM"
|
|
57
|
+
echo -e "\n${GREEN}🎯 Ready to become an AI manager?${NC}"
|
|
58
|
+
echo "The FRAIM framework is now installed and ready to use!"
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "fraim-framework",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "FRAIM: Framework for Rigor-based AI Management - Where humans become AI managers through rigorous methodology",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"fraim": "./bin/fraim.js",
|
|
8
|
+
"fraim-setup": "./bin/fraim.js"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"setup": "node setup.js",
|
|
12
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
13
|
+
"postinstall": "echo '🚀 FRAIM installed! Run: npx fraim-framework --help'"
|
|
14
|
+
},
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/mathursrus/Ashley-Calendar-AI.git",
|
|
18
|
+
"directory": "FRAIM"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"fraim",
|
|
22
|
+
"ai-management",
|
|
23
|
+
"ai-coordination",
|
|
24
|
+
"ai-agents",
|
|
25
|
+
"multi-agent",
|
|
26
|
+
"github",
|
|
27
|
+
"workflow",
|
|
28
|
+
"automation",
|
|
29
|
+
"gitops",
|
|
30
|
+
"cursor",
|
|
31
|
+
"claude",
|
|
32
|
+
"windsurf",
|
|
33
|
+
"rigor",
|
|
34
|
+
"enterprise",
|
|
35
|
+
"framework",
|
|
36
|
+
"ai-managers"
|
|
37
|
+
],
|
|
38
|
+
"author": "Sid Mathur <sid.mathur@gmail.com>",
|
|
39
|
+
"license": "MIT",
|
|
40
|
+
"bugs": {
|
|
41
|
+
"url": "https://github.com/mathursrus/Ashley-Calendar-AI/issues"
|
|
42
|
+
},
|
|
43
|
+
"homepage": "https://github.com/mathursrus/Ashley-Calendar-AI/tree/master/FRAIM#readme",
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=16.0.0"
|
|
46
|
+
},
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public"
|
|
49
|
+
}
|
|
50
|
+
}
|
package/scripts/cli.py
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
FRAIM Python CLI
|
|
4
|
+
Framework for Rigor-based AI Management
|
|
5
|
+
Where humans become AI managers through rigorous methodology
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import sys
|
|
9
|
+
import argparse
|
|
10
|
+
|
|
11
|
+
def show_banner():
|
|
12
|
+
"""Display FRAIM banner"""
|
|
13
|
+
banner = """
|
|
14
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
15
|
+
║ 🚀 FRAIM ║
|
|
16
|
+
║ Framework for Rigor-based AI Management ║
|
|
17
|
+
║ Where humans become AI managers ║
|
|
18
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
19
|
+
"""
|
|
20
|
+
print(banner)
|
|
21
|
+
|
|
22
|
+
def show_help():
|
|
23
|
+
"""Display help information"""
|
|
24
|
+
show_banner()
|
|
25
|
+
print("🤖 Welcome to FRAIM!")
|
|
26
|
+
print("Where humans become AI managers through rigorous methodology\n")
|
|
27
|
+
|
|
28
|
+
print("🚀 Quick commands:")
|
|
29
|
+
print(" pip install fraim-framework")
|
|
30
|
+
print(" fraim init # Setup current repository")
|
|
31
|
+
print(" fraim rigor # Learn RIGOR methodology")
|
|
32
|
+
print(" fraim --help # Full documentation\n")
|
|
33
|
+
|
|
34
|
+
print("🧠 The RIGOR Methodology:")
|
|
35
|
+
print(" R - Reviews: Structured feedback and approval processes")
|
|
36
|
+
print(" I - Idempotency: Safe, repeatable operations")
|
|
37
|
+
print(" G - GitOps: Git as the single source of truth")
|
|
38
|
+
print(" O - Observability: Complete visibility into AI activities")
|
|
39
|
+
print(" R - Rollback: Safe recovery from any state\n")
|
|
40
|
+
|
|
41
|
+
print("📚 Documentation: https://github.com/mathursrus/Ashley-Calendar-AI/tree/master/FRAIM")
|
|
42
|
+
print("🎯 Ready to become an AI manager? Run: fraim init")
|
|
43
|
+
|
|
44
|
+
def show_rigor():
|
|
45
|
+
"""Display RIGOR methodology information"""
|
|
46
|
+
show_banner()
|
|
47
|
+
print("🧠 The RIGOR Methodology for AI Management\n")
|
|
48
|
+
|
|
49
|
+
print("R - Reviews:")
|
|
50
|
+
print(" • Structured feedback and approval processes")
|
|
51
|
+
print(" • Code review workflows with AI agents")
|
|
52
|
+
print(" • Automated quality gates and checks")
|
|
53
|
+
print(" • Human oversight of AI decisions\n")
|
|
54
|
+
|
|
55
|
+
print("I - Idempotency:")
|
|
56
|
+
print(" • Safe, repeatable operations")
|
|
57
|
+
print(" • No side effects from multiple runs")
|
|
58
|
+
print(" • Consistent results every time")
|
|
59
|
+
print(" • Rollback-friendly changes\n")
|
|
60
|
+
|
|
61
|
+
print("G - GitOps:")
|
|
62
|
+
print(" • Git as the single source of truth")
|
|
63
|
+
print(" • Declarative infrastructure and workflows")
|
|
64
|
+
print(" • Automated deployments from Git changes")
|
|
65
|
+
print(" • Version-controlled AI agent configurations\n")
|
|
66
|
+
|
|
67
|
+
print("O - Observability:")
|
|
68
|
+
print(" • Complete visibility into AI activities")
|
|
69
|
+
print(" • Metrics, logs, and tracing")
|
|
70
|
+
print(" • Performance monitoring and alerting")
|
|
71
|
+
print(" • Audit trails for compliance\n")
|
|
72
|
+
|
|
73
|
+
print("R - Rollback:")
|
|
74
|
+
print(" • Safe recovery from any state")
|
|
75
|
+
print(" • Automated rollback mechanisms")
|
|
76
|
+
print(" • Point-in-time recovery")
|
|
77
|
+
print(" • Zero-downtime deployments\n")
|
|
78
|
+
|
|
79
|
+
print("🎯 This methodology transforms you from a developer into an AI manager!")
|
|
80
|
+
|
|
81
|
+
def main():
|
|
82
|
+
"""Main CLI entry point"""
|
|
83
|
+
parser = argparse.ArgumentParser(
|
|
84
|
+
description="FRAIM: Framework for Rigor-based AI Management",
|
|
85
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
86
|
+
epilog="""
|
|
87
|
+
Examples:
|
|
88
|
+
fraim init # Setup FRAIM in current repository
|
|
89
|
+
fraim rigor # Learn about RIGOR methodology
|
|
90
|
+
fraim --help # Show this help message
|
|
91
|
+
"""
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
parser.add_argument(
|
|
95
|
+
"command",
|
|
96
|
+
nargs="?",
|
|
97
|
+
choices=["init", "rigor", "setup", "wizard"],
|
|
98
|
+
help="Command to execute"
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
parser.add_argument(
|
|
102
|
+
"--version",
|
|
103
|
+
action="version",
|
|
104
|
+
version="FRAIM 1.0.0"
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
args = parser.parse_args()
|
|
108
|
+
|
|
109
|
+
if not args.command or args.command == "help":
|
|
110
|
+
show_help()
|
|
111
|
+
return
|
|
112
|
+
|
|
113
|
+
if args.command == "rigor":
|
|
114
|
+
show_rigor()
|
|
115
|
+
return
|
|
116
|
+
|
|
117
|
+
if args.command in ["init", "setup"]:
|
|
118
|
+
show_banner()
|
|
119
|
+
print("🚀 Setting up FRAIM in current repository...\n")
|
|
120
|
+
print("📋 This will:")
|
|
121
|
+
print(" • Create GitHub labels for AI management")
|
|
122
|
+
print(" • Set up automated workflows")
|
|
123
|
+
print(" • Configure AI agent rules")
|
|
124
|
+
print(" • Initialize documentation\n")
|
|
125
|
+
print("💡 Run: fraim init # For full setup")
|
|
126
|
+
print("🔧 Or run: fraim wizard # For interactive setup")
|
|
127
|
+
return
|
|
128
|
+
|
|
129
|
+
if args.command == "wizard":
|
|
130
|
+
show_banner()
|
|
131
|
+
print("🔮 FRAIM Interactive Setup Wizard\n")
|
|
132
|
+
print("This wizard will guide you through:")
|
|
133
|
+
print(" 1. Repository configuration")
|
|
134
|
+
print(" 2. AI agent setup")
|
|
135
|
+
print(" 3. Workflow customization")
|
|
136
|
+
print(" 4. Team member onboarding\n")
|
|
137
|
+
print("💡 Run: fraim wizard # To start the wizard")
|
|
138
|
+
return
|
|
139
|
+
|
|
140
|
+
if __name__ == "__main__":
|
|
141
|
+
main()
|