fraim-framework 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/setup.js +31 -60
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fraim-framework",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
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
@@ -134,8 +134,9 @@ jobs:
134
134
  }
135
135
 
136
136
  function createAgentConfigs() {
137
- // Cursor rules
138
- const cursorRules = `# FRAIM Cursor Rules
137
+ // Cursor rules - only create if it doesn't exist
138
+ if (!fs.existsSync('.cursorrules')) {
139
+ const cursorRules = `# FRAIM Cursor Rules
139
140
 
140
141
  ## Core Rules (Always Apply)
141
142
  - **ashley-architecture.mdc** - Follow the established architecture patterns
@@ -178,8 +179,15 @@ function createAgentConfigs() {
178
179
  - Enable observability through clear documentation
179
180
  `;
180
181
 
181
- // Claude rules
182
- const claudeRules = `# FRAIM Claude Rules
182
+ writeFile('.cursorrules', cursorRules);
183
+ logSuccess('Cursor rules created');
184
+ } else {
185
+ logInfo('Cursor rules already exist, skipping');
186
+ }
187
+
188
+ // Claude rules - only create if it doesn't exist
189
+ if (!fs.existsSync('CLAUDE.md')) {
190
+ const claudeRules = `# FRAIM Claude Rules
183
191
 
184
192
  ## Always-On Rules
185
193
  - **ashley-architecture.mdc** - Follow the established architecture patterns
@@ -216,8 +224,15 @@ function createAgentConfigs() {
216
224
  - Enable observability through clear documentation
217
225
  `;
218
226
 
219
- // Windsurf rules
220
- const windsurfRules = `# FRAIM Windsurf Rules
227
+ writeFile('CLAUDE.md', claudeRules);
228
+ logSuccess('Claude rules created');
229
+ } else {
230
+ logInfo('Claude rules already exist, skipping');
231
+ }
232
+
233
+ // Windsurf rules - only create if it doesn't exist
234
+ if (!fs.existsSync('.windsurfrules')) {
235
+ const windsurfRules = `# FRAIM Windsurf Rules
221
236
 
222
237
  ## Core Rules (Always Apply)
223
238
  - **ashley-architecture.mdc** - Follow the established architecture patterns
@@ -258,55 +273,14 @@ function createAgentConfigs() {
258
273
  - Support other agents with technical guidance
259
274
  `;
260
275
 
261
- writeFile('.cursorrules', cursorRules);
262
- writeFile('CLAUDE.md', claudeRules);
263
- writeFile('.windsurfrules', windsurfRules);
264
-
265
- logSuccess('AI agent configurations created');
276
+ writeFile('.windsurfrules', windsurfRules);
277
+ logSuccess('Windsurf rules created');
278
+ } else {
279
+ logInfo('Windsurf rules already exist, skipping');
280
+ }
266
281
  }
267
282
 
268
- function createDocumentation() {
269
- const readme = `# FRAIM-Enabled Repository
270
-
271
- This repository is configured with FRAIM (Framework for Rigor-based AI Management) to enable coordinated AI agent development.
272
-
273
- ## 🚀 Quick Start
274
-
275
- 1. **Create an issue** with appropriate phase labels:
276
- \`\`\`bash
277
- gh issue create --title "Add user authentication" --label "phase:design,ai-agent:claude"
278
- \`\`\`
279
-
280
- 2. **AI agents will automatically coordinate** through GitHub state:
281
- - Claude creates RFC → Cursor implements → Windsurf optimizes
282
-
283
- 3. **Use phase labels** to manage workflow:
284
- - \`phase:design\` → \`phase:impl\` → \`phase:tests\`
285
-
286
- ## 🏷️ Available Labels
287
-
288
- - **Phase Labels**: \`phase:design\`, \`phase:impl\`, \`phase:tests\`
289
- - **Status Labels**: \`status:wip\`, \`status:needs-review\`, \`status:complete\`
290
- - **Agent Labels**: \`ai-agent:cursor\`, \`ai-agent:claude\`, \`ai-agent:windsurf\`
291
-
292
- ## 📚 Learn More
293
-
294
- - [FRAIM Framework](https://github.com/mathursrus/Ashley-Calendar-AI/tree/master/FRAIM)
295
- - [RIGOR Methodology](https://github.com/mathursrus/Ashley-Calendar-AI/tree/master/FRAIM#the-rigor-methodology)
296
- - [Getting Started Guide](https://github.com/mathursrus/Ashley-Calendar-AI/tree/master/FRAIM/docs/guides/getting-started.md)
297
-
298
- ## 🤖 AI Agent Rules
299
-
300
- Each AI agent has specific rules and configurations:
301
- - **Cursor**: \`.cursorrules\`
302
- - **Claude**: \`CLAUDE.md\`
303
- - **Windsurf**: \`.windsurfrules\`
304
-
305
- ---
306
-
307
- *Powered by FRAIM: Where humans become AI managers through rigorous methodology*
308
- `;
309
-
283
+ function createFRAIMConfig() {
310
284
  const fraimConfig = {
311
285
  version: "1.0.0",
312
286
  framework: "FRAIM",
@@ -329,10 +303,8 @@ Each AI agent has specific rules and configurations:
329
303
  ]
330
304
  };
331
305
 
332
- writeFile('README.md', readme);
333
306
  writeFile('fraim-config.json', JSON.stringify(fraimConfig, null, 2));
334
-
335
- logSuccess('Documentation created');
307
+ logSuccess('FRAIM configuration created');
336
308
  }
337
309
 
338
310
  function runSetup() {
@@ -340,15 +312,14 @@ function runSetup() {
340
312
  log('Setting up FRAIM in current repository...\n');
341
313
 
342
314
  try {
343
- // Create directory structure
315
+ // Create only essential directory structure
344
316
  ensureDirectory('.github/workflows');
345
- ensureDirectory('examples');
346
317
 
347
- // Create all components
318
+ // Create only essential components
348
319
  createGitHubLabels();
349
320
  createGitHubWorkflows();
350
321
  createAgentConfigs();
351
- createDocumentation();
322
+ createFRAIMConfig();
352
323
 
353
324
  logHeader('🎉 Setup Complete!');
354
325
  logSuccess('FRAIM has been successfully set up in your repository!');