aios-core 2.2.1 → 2.2.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.
package/bin/aios-init.js
CHANGED
|
@@ -289,11 +289,12 @@ async function main() {
|
|
|
289
289
|
}
|
|
290
290
|
|
|
291
291
|
// Step 2: Install AIOS CORE agents and tasks for Claude Code
|
|
292
|
+
// v2.1: Agents and tasks are in development/ module
|
|
292
293
|
if (ides.includes('claude')) {
|
|
293
|
-
const coreAgentsSource = path.join(targetCoreDir, 'agents');
|
|
294
|
+
const coreAgentsSource = path.join(targetCoreDir, 'development', 'agents');
|
|
294
295
|
const coreAgentsTarget = path.join(context.projectRoot, '.claude', 'commands', 'AIOS', 'agents');
|
|
295
296
|
|
|
296
|
-
const coreTasksSource = path.join(targetCoreDir, 'tasks');
|
|
297
|
+
const coreTasksSource = path.join(targetCoreDir, 'development', 'tasks');
|
|
297
298
|
const coreTasksTarget = path.join(context.projectRoot, '.claude', 'commands', 'AIOS', 'tasks');
|
|
298
299
|
|
|
299
300
|
if (fs.existsSync(coreAgentsSource)) {
|
|
@@ -325,8 +326,9 @@ See .aios-core/user-guide.md for complete documentation.
|
|
|
325
326
|
}
|
|
326
327
|
|
|
327
328
|
// Step 3: Install AIOS CORE agents for Cursor
|
|
329
|
+
// v2.1: Agents are in development/ module
|
|
328
330
|
if (ides.includes('cursor')) {
|
|
329
|
-
const coreAgentsSource = path.join(targetCoreDir, 'agents');
|
|
331
|
+
const coreAgentsSource = path.join(targetCoreDir, 'development', 'agents');
|
|
330
332
|
const cursorRulesTarget = path.join(context.projectRoot, '.cursor', 'rules', 'AIOS', 'agents');
|
|
331
333
|
|
|
332
334
|
if (fs.existsSync(coreAgentsSource)) {
|
|
@@ -360,10 +362,11 @@ See .aios-core/user-guide.md for complete documentation.
|
|
|
360
362
|
}
|
|
361
363
|
|
|
362
364
|
// Step 4: Install AIOS CORE agents for other IDEs (Trae, Cline, Gemini, AntiGravity)
|
|
365
|
+
// v2.1: Agents are in development/ module
|
|
363
366
|
const otherIdeInstalls = ['trae', 'cline', 'gemini', 'antigravity'];
|
|
364
367
|
for (const ide of otherIdeInstalls) {
|
|
365
368
|
if (ides.includes(ide)) {
|
|
366
|
-
const coreAgentsSource = path.join(targetCoreDir, 'agents');
|
|
369
|
+
const coreAgentsSource = path.join(targetCoreDir, 'development', 'agents');
|
|
367
370
|
const ideRulesDir = ide === 'gemini' ? '.gemini' : `.${ide}`;
|
|
368
371
|
const ideRulesTarget = path.join(context.projectRoot, ideRulesDir, 'rules', 'AIOS', 'agents');
|
|
369
372
|
|
|
@@ -385,8 +388,9 @@ See .aios-core/user-guide.md for complete documentation.
|
|
|
385
388
|
}
|
|
386
389
|
|
|
387
390
|
// Step 5: Install Roo Code modes
|
|
391
|
+
// v2.1: Agents are in development/ module
|
|
388
392
|
if (ides.includes('roo')) {
|
|
389
|
-
const coreAgentsSource = path.join(targetCoreDir, 'agents');
|
|
393
|
+
const coreAgentsSource = path.join(targetCoreDir, 'development', 'agents');
|
|
390
394
|
const rooModesPath = path.join(context.projectRoot, '.roomodes');
|
|
391
395
|
|
|
392
396
|
if (fs.existsSync(coreAgentsSource)) {
|
|
@@ -412,8 +416,9 @@ See .aios-core/user-guide.md for complete documentation.
|
|
|
412
416
|
}
|
|
413
417
|
|
|
414
418
|
// Step 6: Install GitHub Copilot chat modes
|
|
419
|
+
// v2.1: Agents are in development/ module
|
|
415
420
|
if (ides.includes('github-copilot')) {
|
|
416
|
-
const coreAgentsSource = path.join(targetCoreDir, 'agents');
|
|
421
|
+
const coreAgentsSource = path.join(targetCoreDir, 'development', 'agents');
|
|
417
422
|
const copilotModesDir = path.join(context.projectRoot, '.github', 'chatmodes');
|
|
418
423
|
|
|
419
424
|
if (fs.existsSync(coreAgentsSource)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aios-core",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.2",
|
|
4
4
|
"description": "Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "index.esm.js",
|
|
@@ -93,6 +93,7 @@
|
|
|
93
93
|
"glob": "^11.0.3",
|
|
94
94
|
"handlebars": "^4.7.8",
|
|
95
95
|
"inquirer": "^8.2.6",
|
|
96
|
+
"isolated-vm": "^5.0.4",
|
|
96
97
|
"js-yaml": "^4.1.0",
|
|
97
98
|
"ora": "^5.4.1",
|
|
98
99
|
"picocolors": "^1.1.1",
|
|
@@ -9,7 +9,6 @@ const fs = require('fs-extra');
|
|
|
9
9
|
const path = require('path');
|
|
10
10
|
const os = require('os');
|
|
11
11
|
const { configureEnvironment, updateGitignore } = require('../../src/config/configure-environment');
|
|
12
|
-
const pkg = require('../../../../package.json');
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* Cleanup helper with retry logic for flaky file system operations
|
|
@@ -73,7 +72,8 @@ describe('Environment Configuration Integration', () => {
|
|
|
73
72
|
|
|
74
73
|
const content = await fs.readFile(envPath, 'utf8');
|
|
75
74
|
expect(content).toContain('NODE_ENV=development');
|
|
76
|
-
|
|
75
|
+
// Version-agnostic: check AIOS_VERSION exists with valid semver format
|
|
76
|
+
expect(content).toMatch(/AIOS_VERSION=\d+\.\d+\.\d+/);
|
|
77
77
|
});
|
|
78
78
|
|
|
79
79
|
it('should create .env.example file', async () => {
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
const { generateEnvContent, generateEnvExample } = require('../../src/config/templates/env-template');
|
|
9
|
-
const pkg = require('../../../../package.json');
|
|
10
9
|
|
|
11
10
|
describe('.env Template Generator', () => {
|
|
12
11
|
describe('generateEnvContent', () => {
|
|
@@ -14,7 +13,8 @@ describe('.env Template Generator', () => {
|
|
|
14
13
|
const content = generateEnvContent();
|
|
15
14
|
|
|
16
15
|
expect(content).toContain('NODE_ENV=development');
|
|
17
|
-
|
|
16
|
+
// Version-agnostic: check AIOS_VERSION exists with valid semver format
|
|
17
|
+
expect(content).toMatch(/AIOS_VERSION=\d+\.\d+\.\d+/);
|
|
18
18
|
expect(content).toContain('OPENAI_API_KEY=');
|
|
19
19
|
expect(content).toContain('ANTHROPIC_API_KEY=');
|
|
20
20
|
expect(content).toContain('# Synkra AIOS Environment Configuration');
|
|
@@ -84,7 +84,8 @@ describe('.env Template Generator', () => {
|
|
|
84
84
|
const content = generateEnvExample();
|
|
85
85
|
|
|
86
86
|
expect(content).toContain('NODE_ENV=development');
|
|
87
|
-
|
|
87
|
+
// Version-agnostic: check AIOS_VERSION exists with valid semver format
|
|
88
|
+
expect(content).toMatch(/AIOS_VERSION=\d+\.\d+\.\d+/);
|
|
88
89
|
expect(content).toContain('OPENAI_API_KEY=');
|
|
89
90
|
expect(content).toContain('ANTHROPIC_API_KEY=');
|
|
90
91
|
expect(content).toContain('CLICKUP_API_KEY=');
|