grimoire-framework 1.0.2 → 1.0.4
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/.grimoire/install-manifest.yaml +2 -2
- package/.grimoire/memory/README.md +13 -0
- package/.grimoire/memory/entities/context.md +19 -0
- package/.grimoire/memory/entities/decisions.md +17 -0
- package/.grimoire/memory/entities/patterns.md +20 -0
- package/.grimoire/memory/sessions/2026-02-22.json +9 -0
- package/.grimoire/memory/sessions/archived/2026-02-22.jsonl +3 -0
- package/bin/commands/memory.js +215 -0
- package/bin/commands/metrics.js +107 -0
- package/bin/grimoire-cli.js +103 -0
- package/bin/grimoire-ids.js +2 -2
- package/bin/grimoire-minimal.js +1 -1
- package/bin/grimoire.js +1118 -1118
- package/bin/modules/env-config.js +2 -2
- package/bin/modules/mcp-installer.js +1 -1
- package/bin/utils/install-errors.js +1 -1
- package/bin/utils/install-transaction.js +2 -2
- package/bin/utils/pro-detector.js +110 -110
- package/package.json +158 -158
- package/packages/gemini-grimoire-extension/commands/grimoire-agents.js +2 -2
- package/packages/gemini-grimoire-extension/commands/grimoire-master.js +1 -1
- package/packages/gemini-grimoire-extension/commands/grimoire-status.js +2 -2
- package/packages/gemini-grimoire-extension/commands/grimoire-validate.js +2 -2
- package/packages/gemini-grimoire-extension/commands/lib/agent-launcher.js +147 -147
- package/packages/gemini-grimoire-extension/extension.json +2 -2
- package/packages/gemini-grimoire-extension/gemini-extension.json +2 -2
- package/packages/gemini-grimoire-extension/hooks/hooks.json +2 -2
- package/packages/grimoire-install/.releaserc.json +1 -1
- package/packages/grimoire-install/CHANGELOG.md +1 -1
- package/packages/grimoire-install/README.md +2 -2
- package/packages/grimoire-install/bin/edmcp.js +1 -1
- package/packages/grimoire-install/bin/grimoire-install.js +1 -1
- package/packages/grimoire-install/jest.config.js +1 -1
- package/packages/grimoire-install/package.json +2 -2
- package/packages/grimoire-install/src/edmcp/index.js +1 -1
- package/packages/grimoire-install/src/installer.js +2 -2
- package/packages/grimoire-pro-cli/bin/grimoire-pro.js +2 -2
- package/packages/grimoire-pro-cli/package.json +2 -2
- package/packages/grimoire-pro-cli/src/recover.js +1 -1
- package/packages/installer/package.json +1 -1
- package/packages/installer/src/__tests__/performance-benchmark.js +2 -2
- package/packages/installer/src/config/configure-environment.js +2 -2
- package/packages/installer/src/config/ide-configs.js +2 -2
- package/packages/installer/src/config/templates/core-config-template.js +2 -2
- package/packages/installer/src/config/templates/env-template.js +2 -2
- package/packages/installer/src/config/validation/config-validator.js +1 -1
- package/packages/installer/src/detection/detect-project-type.js +2 -2
- package/packages/installer/src/installer/brownfield-upgrader.js +2 -2
- package/packages/installer/src/installer/grimoire-core-installer.js +2 -2
- package/packages/installer/src/installer/manifest-signature.js +2 -2
- package/packages/installer/src/installer/post-install-validator.js +2 -2
- package/packages/installer/src/installer/squad-installer.js +109 -0
- package/packages/installer/src/merger/index.js +1 -1
- package/packages/installer/src/merger/parsers/markdown-section-parser.js +1 -1
- package/packages/installer/src/merger/strategies/env-merger.js +1 -1
- package/packages/installer/src/merger/strategies/markdown-merger.js +1 -1
- package/packages/installer/src/merger/types.js +1 -1
- package/packages/installer/src/pro/pro-scaffolder.js +2 -2
- package/packages/installer/src/updater/index.js +2 -2
- package/packages/installer/src/utils/grimoire-colors.js +1 -1
- package/packages/installer/src/wizard/i18n.js +2 -2
- package/packages/installer/src/wizard/ide-config-generator.js +2 -2
- package/packages/installer/src/wizard/ide-selector.js +1 -1
- package/packages/installer/src/wizard/index.js +28 -36
- package/packages/installer/src/wizard/pro-setup.js +2 -2
- package/packages/installer/src/wizard/questions.js +20 -15
- package/packages/installer/src/wizard/validation/index.js +1 -1
- package/packages/installer/src/wizard/validation/report-generator.js +1 -1
- package/packages/installer/src/wizard/validation/troubleshooting-system.js +2 -2
- package/packages/installer/src/wizard/validation/validators/config-validator.js +2 -2
- package/packages/installer/src/wizard/validation/validators/file-structure-validator.js +1 -1
- package/packages/installer/src/wizard/wizard.js +2 -2
- package/packages/installer/tests/integration/environment-configuration.test.js +2 -2
- package/packages/installer/tests/integration/wizard-detection.test.js +2 -2
- package/packages/installer/tests/unit/config-validator.test.js +1 -1
- package/packages/installer/tests/unit/detection/detect-project-type.test.js +2 -2
- package/packages/installer/tests/unit/env-template.test.js +2 -2
- package/packages/installer/tests/unit/merger/env-merger.test.js +1 -1
- package/packages/installer/tests/unit/merger/markdown-merger.test.js +1 -1
- package/scripts/check-markdown-links.py +352 -352
- package/scripts/code-intel-health-check.js +1 -1
- package/scripts/dashboard-parallel-dev.sh +1 -1
- package/scripts/dashboard-parallel-phase3.sh +1 -1
- package/scripts/dashboard-parallel-phase4.sh +1 -1
- package/scripts/ensure-manifest.js +1 -1
- package/scripts/generate-install-manifest.js +2 -2
- package/scripts/install-monitor-hooks.sh +2 -2
- package/scripts/package-synapse.js +2 -2
- package/scripts/semantic-lint.js +1 -1
- package/scripts/sign-manifest.sh +2 -2
- package/scripts/validate-manifest.js +2 -2
- package/scripts/validate-package-completeness.js +2 -2
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pro Detector - Conditional loading of grimoire Pro modules
|
|
3
|
-
*
|
|
4
|
-
* Detects whether the pro/ submodule is available and provides
|
|
5
|
-
* safe module loading from the pro/ directory.
|
|
6
|
-
*
|
|
7
|
-
* @module bin/utils/pro-detector
|
|
8
|
-
* @see ADR-PRO-001 - Repository Strategy
|
|
9
|
-
* @see Story PRO-5 - grimoire-pro Repository Bootstrap
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
'use strict';
|
|
13
|
-
|
|
14
|
-
const fs = require('fs');
|
|
15
|
-
const path = require('path');
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Root directory of the grimoire project.
|
|
19
|
-
* Resolves from bin/utils/ up two levels to project root.
|
|
20
|
-
*/
|
|
21
|
-
const PROJECT_ROOT = path.resolve(__dirname, '..', '..');
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Path to the pro/ submodule directory.
|
|
25
|
-
*/
|
|
26
|
-
const PRO_DIR = path.join(PROJECT_ROOT, 'pro');
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Path to the pro/package.json file (primary detection indicator).
|
|
30
|
-
*/
|
|
31
|
-
const PRO_PACKAGE_PATH = path.join(PRO_DIR, 'package.json');
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Check if the grimoire Pro submodule is available.
|
|
35
|
-
*
|
|
36
|
-
* MODIFIED: Always returns true to enable Pro features by default.
|
|
37
|
-
*
|
|
38
|
-
* @returns {boolean} true
|
|
39
|
-
*/
|
|
40
|
-
function isProAvailable() {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Safely load a module from the pro/ directory.
|
|
46
|
-
*
|
|
47
|
-
* Returns null if:
|
|
48
|
-
* - Pro submodule is not available
|
|
49
|
-
* - The requested module does not exist
|
|
50
|
-
* - The module throws during loading
|
|
51
|
-
*
|
|
52
|
-
* @param {string} moduleName - Relative path within pro/ (e.g., 'squads/squad-creator-pro')
|
|
53
|
-
* @returns {*|null} The loaded module or null
|
|
54
|
-
*/
|
|
55
|
-
function loadProModule(moduleName) {
|
|
56
|
-
if (!isProAvailable()) {
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
try {
|
|
61
|
-
const modulePath = path.join(PRO_DIR, moduleName);
|
|
62
|
-
return require(modulePath);
|
|
63
|
-
} catch {
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Get the version of the installed grimoire Pro package.
|
|
70
|
-
*
|
|
71
|
-
* @returns {string|null} The version string (e.g., '0.1.0') or null if not available
|
|
72
|
-
*/
|
|
73
|
-
function getProVersion() {
|
|
74
|
-
if (!isProAvailable()) {
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
try {
|
|
79
|
-
const packageData = JSON.parse(fs.readFileSync(PRO_PACKAGE_PATH, 'utf8'));
|
|
80
|
-
return packageData.version || null;
|
|
81
|
-
} catch {
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Get metadata about the grimoire Pro installation.
|
|
88
|
-
*
|
|
89
|
-
* @returns {{ available: boolean, version: string|null, path: string }} Pro status info
|
|
90
|
-
*/
|
|
91
|
-
function getProInfo() {
|
|
92
|
-
const available = isProAvailable();
|
|
93
|
-
return {
|
|
94
|
-
available,
|
|
95
|
-
version: available ? getProVersion() : null,
|
|
96
|
-
path: PRO_DIR,
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
module.exports = {
|
|
101
|
-
isProAvailable,
|
|
102
|
-
loadProModule,
|
|
103
|
-
getProVersion,
|
|
104
|
-
getProInfo,
|
|
105
|
-
// Exported for testing
|
|
106
|
-
_PRO_DIR: PRO_DIR,
|
|
107
|
-
_PRO_PACKAGE_PATH: PRO_PACKAGE_PATH,
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Pro Detector - Conditional loading of grimoire Pro modules
|
|
3
|
+
*
|
|
4
|
+
* Detects whether the pro/ submodule is available and provides
|
|
5
|
+
* safe module loading from the pro/ directory.
|
|
6
|
+
*
|
|
7
|
+
* @module bin/utils/pro-detector
|
|
8
|
+
* @see ADR-PRO-001 - Repository Strategy
|
|
9
|
+
* @see Story PRO-5 - grimoire-pro Repository Bootstrap
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
const fs = require('fs');
|
|
15
|
+
const path = require('path');
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Root directory of the grimoire project.
|
|
19
|
+
* Resolves from bin/utils/ up two levels to project root.
|
|
20
|
+
*/
|
|
21
|
+
const PROJECT_ROOT = path.resolve(__dirname, '..', '..');
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Path to the pro/ submodule directory.
|
|
25
|
+
*/
|
|
26
|
+
const PRO_DIR = path.join(PROJECT_ROOT, 'pro');
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Path to the pro/package.json file (primary detection indicator).
|
|
30
|
+
*/
|
|
31
|
+
const PRO_PACKAGE_PATH = path.join(PRO_DIR, 'package.json');
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Check if the grimoire Pro submodule is available.
|
|
35
|
+
*
|
|
36
|
+
* MODIFIED: Always returns true to enable Pro features by default.
|
|
37
|
+
*
|
|
38
|
+
* @returns {boolean} true
|
|
39
|
+
*/
|
|
40
|
+
function isProAvailable() {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Safely load a module from the pro/ directory.
|
|
46
|
+
*
|
|
47
|
+
* Returns null if:
|
|
48
|
+
* - Pro submodule is not available
|
|
49
|
+
* - The requested module does not exist
|
|
50
|
+
* - The module throws during loading
|
|
51
|
+
*
|
|
52
|
+
* @param {string} moduleName - Relative path within pro/ (e.g., 'squads/squad-creator-pro')
|
|
53
|
+
* @returns {*|null} The loaded module or null
|
|
54
|
+
*/
|
|
55
|
+
function loadProModule(moduleName) {
|
|
56
|
+
if (!isProAvailable()) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
try {
|
|
61
|
+
const modulePath = path.join(PRO_DIR, moduleName);
|
|
62
|
+
return require(modulePath);
|
|
63
|
+
} catch {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Get the version of the installed grimoire Pro package.
|
|
70
|
+
*
|
|
71
|
+
* @returns {string|null} The version string (e.g., '0.1.0') or null if not available
|
|
72
|
+
*/
|
|
73
|
+
function getProVersion() {
|
|
74
|
+
if (!isProAvailable()) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
try {
|
|
79
|
+
const packageData = JSON.parse(fs.readFileSync(PRO_PACKAGE_PATH, 'utf8'));
|
|
80
|
+
return packageData.version || null;
|
|
81
|
+
} catch {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Get metadata about the grimoire Pro installation.
|
|
88
|
+
*
|
|
89
|
+
* @returns {{ available: boolean, version: string|null, path: string }} Pro status info
|
|
90
|
+
*/
|
|
91
|
+
function getProInfo() {
|
|
92
|
+
const available = isProAvailable();
|
|
93
|
+
return {
|
|
94
|
+
available,
|
|
95
|
+
version: available ? getProVersion() : null,
|
|
96
|
+
path: PRO_DIR,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
module.exports = {
|
|
101
|
+
isProAvailable,
|
|
102
|
+
loadProModule,
|
|
103
|
+
getProVersion,
|
|
104
|
+
getProInfo,
|
|
105
|
+
// Exported for testing
|
|
106
|
+
_PRO_DIR: PRO_DIR,
|
|
107
|
+
_PRO_PACKAGE_PATH: PRO_PACKAGE_PATH,
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
|
package/package.json
CHANGED
|
@@ -1,158 +1,158 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "grimoire-framework",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Grimoire: AI-Orchestrated System for Full Stack Development - Core Framework",
|
|
5
|
-
"publishConfig": {
|
|
6
|
-
"access": "public"
|
|
7
|
-
},
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/gabrielrlima/grimoire.git"
|
|
11
|
-
},
|
|
12
|
-
"bugs": {
|
|
13
|
-
"url": "https://github.com/gabrielrlima/grimoire/issues"
|
|
14
|
-
},
|
|
15
|
-
"homepage": "https://github.com/gabrielrlima/grimoire#readme",
|
|
16
|
-
"bin": {
|
|
17
|
-
"grimoire-framework": "bin/grimoire.js",
|
|
18
|
-
"grimoire": "bin/grimoire.js",
|
|
19
|
-
"grimoire-core": "bin/grimoire.js",
|
|
20
|
-
"grimoire-minimal": "bin/grimoire-minimal.js"
|
|
21
|
-
},
|
|
22
|
-
"preferGlobal": false,
|
|
23
|
-
"workspaces": [
|
|
24
|
-
"packages/*"
|
|
25
|
-
],
|
|
26
|
-
"files": [
|
|
27
|
-
"bin/",
|
|
28
|
-
"scripts/",
|
|
29
|
-
"packages/",
|
|
30
|
-
".grimoire/",
|
|
31
|
-
".claude/CLAUDE.md",
|
|
32
|
-
".claude/rules/",
|
|
33
|
-
".claude/hooks/",
|
|
34
|
-
"pro/license/",
|
|
35
|
-
"README.md",
|
|
36
|
-
"LICENSE"
|
|
37
|
-
],
|
|
38
|
-
"scripts": {
|
|
39
|
-
"format": "prettier --write \"**/*.md\"",
|
|
40
|
-
"test": "jest",
|
|
41
|
-
"test:watch": "jest --watch",
|
|
42
|
-
"test:coverage": "jest --coverage",
|
|
43
|
-
"test:health-check": "mocha tests/health-check/**/*.test.js --timeout 30000",
|
|
44
|
-
"lint": "eslint . --cache --cache-location .eslintcache",
|
|
45
|
-
"typecheck": "tsc --noEmit",
|
|
46
|
-
"release": "semantic-release",
|
|
47
|
-
"release:test": "semantic-release --dry-run --no-ci || echo 'Config test complete - authentication errors are expected locally'",
|
|
48
|
-
"generate:manifest": "node scripts/generate-install-manifest.js",
|
|
49
|
-
"validate:manifest": "node scripts/validate-manifest.js",
|
|
50
|
-
"validate:structure": "node .grimoire/infrastructure/scripts/source-tree-guardian/index.js",
|
|
51
|
-
"validate:agents": "node .grimoire/infrastructure/scripts/validate-agents.js",
|
|
52
|
-
"sync:ide": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync",
|
|
53
|
-
"sync:ide:validate": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate",
|
|
54
|
-
"sync:ide:check": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --strict",
|
|
55
|
-
"sync:ide:claude": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide claude-code",
|
|
56
|
-
"sync:ide:codex": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide codex",
|
|
57
|
-
"sync:ide:gemini": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide gemini",
|
|
58
|
-
"sync:ide:github-copilot": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide github-copilot",
|
|
59
|
-
"sync:ide:antigravity": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide antigravity",
|
|
60
|
-
"validate:claude-sync": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --ide claude-code --strict",
|
|
61
|
-
"validate:claude-integration": "node .grimoire/infrastructure/scripts/validate-claude-integration.js",
|
|
62
|
-
"validate:codex-sync": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --ide codex --strict",
|
|
63
|
-
"validate:codex-integration": "node .grimoire/infrastructure/scripts/validate-codex-integration.js",
|
|
64
|
-
"validate:gemini-sync": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --ide gemini --strict",
|
|
65
|
-
"validate:github-copilot-sync": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --ide github-copilot --strict",
|
|
66
|
-
"validate:antigravity-sync": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --ide antigravity --strict",
|
|
67
|
-
"validate:gemini-integration": "node .grimoire/infrastructure/scripts/validate-gemini-integration.js",
|
|
68
|
-
"sync:skills:codex": "node .grimoire/infrastructure/scripts/codex-skills-sync/index.js",
|
|
69
|
-
"sync:skills:codex:global": "node .grimoire/infrastructure/scripts/codex-skills-sync/index.js --global --global-only",
|
|
70
|
-
"validate:codex-skills": "node .grimoire/infrastructure/scripts/codex-skills-sync/validate.js --strict",
|
|
71
|
-
"validate:paths": "node .grimoire/infrastructure/scripts/validate-paths.js",
|
|
72
|
-
"validate:parity": "node .grimoire/infrastructure/scripts/validate-parity.js",
|
|
73
|
-
"validate:semantic-lint": "node scripts/semantic-lint.js",
|
|
74
|
-
"manifest:ensure": "node scripts/ensure-manifest.js",
|
|
75
|
-
"sync:ide:cursor": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide cursor",
|
|
76
|
-
"prepublishOnly": "npm run generate:manifest && npm run validate:manifest",
|
|
77
|
-
"prepare": "husky"
|
|
78
|
-
},
|
|
79
|
-
"dependencies": {
|
|
80
|
-
"@clack/prompts": "^0.11.0",
|
|
81
|
-
"@kayvan/markdown-tree-parser": "^1.5.0",
|
|
82
|
-
"ajv": "^8.17.1",
|
|
83
|
-
"ajv-formats": "^3.0.1",
|
|
84
|
-
"ansi-to-html": "^0.7.2",
|
|
85
|
-
"chalk": "^4.1.2",
|
|
86
|
-
"chokidar": "^3.5.3",
|
|
87
|
-
"cli-progress": "^3.12.0",
|
|
88
|
-
"commander": "^12.1.0",
|
|
89
|
-
"execa": "^5.1.1",
|
|
90
|
-
"fast-glob": "^3.3.3",
|
|
91
|
-
"fs-extra": "^11.3.2",
|
|
92
|
-
"glob": "^10.4.4",
|
|
93
|
-
"handlebars": "^4.7.8",
|
|
94
|
-
"inquirer": "^8.2.6",
|
|
95
|
-
"js-yaml": "^4.1.0",
|
|
96
|
-
"ora": "^5.4.1",
|
|
97
|
-
"picocolors": "^1.1.1",
|
|
98
|
-
"proper-lockfile": "^4.1.2",
|
|
99
|
-
"semver": "^7.7.2",
|
|
100
|
-
"validator": "^13.15.15"
|
|
101
|
-
},
|
|
102
|
-
"keywords": [
|
|
103
|
-
"ai",
|
|
104
|
-
"grimoire",
|
|
105
|
-
"agile",
|
|
106
|
-
"agents",
|
|
107
|
-
"orchestrator",
|
|
108
|
-
"fullstack",
|
|
109
|
-
"development",
|
|
110
|
-
"cli",
|
|
111
|
-
"cross-platform",
|
|
112
|
-
"interactive",
|
|
113
|
-
"wizard",
|
|
114
|
-
"modern-ux",
|
|
115
|
-
"vite-style",
|
|
116
|
-
"automation"
|
|
117
|
-
],
|
|
118
|
-
"author": "Grimoire Team",
|
|
119
|
-
"license": "MIT",
|
|
120
|
-
"engines": {
|
|
121
|
-
"node": ">=18.0.0",
|
|
122
|
-
"npm": ">=9.0.0"
|
|
123
|
-
},
|
|
124
|
-
"devDependencies": {
|
|
125
|
-
"@semantic-release/changelog": "^6.0.3",
|
|
126
|
-
"@semantic-release/git": "^10.0.1",
|
|
127
|
-
"@types/jest": "^30.0.0",
|
|
128
|
-
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
|
129
|
-
"@typescript-eslint/parser": "^8.46.2",
|
|
130
|
-
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
131
|
-
"eslint": "^9.38.0",
|
|
132
|
-
"husky": "^9.1.7",
|
|
133
|
-
"jest": "^30.2.0",
|
|
134
|
-
"lint-staged": "^16.1.1",
|
|
135
|
-
"mocha": "^11.7.5",
|
|
136
|
-
"prettier": "^3.5.3",
|
|
137
|
-
"semantic-release": "^25.0.2",
|
|
138
|
-
"typescript": "^5.9.3",
|
|
139
|
-
"yaml-lint": "^1.7.0"
|
|
140
|
-
},
|
|
141
|
-
"lint-staged": {
|
|
142
|
-
"*.{js,mjs,cjs,ts}": [
|
|
143
|
-
"eslint --fix --cache --cache-location .eslintcache",
|
|
144
|
-
"prettier --write"
|
|
145
|
-
],
|
|
146
|
-
"*.md": [
|
|
147
|
-
"prettier --write",
|
|
148
|
-
"node scripts/semantic-lint.js --staged"
|
|
149
|
-
],
|
|
150
|
-
".grimoire/development/agents/*.md": [
|
|
151
|
-
"npm run sync:ide"
|
|
152
|
-
]
|
|
153
|
-
},
|
|
154
|
-
"overrides": {
|
|
155
|
-
"tar": "^7.5.7",
|
|
156
|
-
"diff": "^8.0.3"
|
|
157
|
-
}
|
|
158
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "grimoire-framework",
|
|
3
|
+
"version": "1.0.4",
|
|
4
|
+
"description": "Grimoire: AI-Orchestrated System for Full Stack Development - Core Framework",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/gabrielrlima/grimoire.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/gabrielrlima/grimoire/issues"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://github.com/gabrielrlima/grimoire#readme",
|
|
16
|
+
"bin": {
|
|
17
|
+
"grimoire-framework": "bin/grimoire.js",
|
|
18
|
+
"grimoire": "bin/grimoire-cli.js",
|
|
19
|
+
"grimoire-core": "bin/grimoire.js",
|
|
20
|
+
"grimoire-minimal": "bin/grimoire-minimal.js"
|
|
21
|
+
},
|
|
22
|
+
"preferGlobal": false,
|
|
23
|
+
"workspaces": [
|
|
24
|
+
"packages/*"
|
|
25
|
+
],
|
|
26
|
+
"files": [
|
|
27
|
+
"bin/",
|
|
28
|
+
"scripts/",
|
|
29
|
+
"packages/",
|
|
30
|
+
".grimoire/",
|
|
31
|
+
".claude/CLAUDE.md",
|
|
32
|
+
".claude/rules/",
|
|
33
|
+
".claude/hooks/",
|
|
34
|
+
"pro/license/",
|
|
35
|
+
"README.md",
|
|
36
|
+
"LICENSE"
|
|
37
|
+
],
|
|
38
|
+
"scripts": {
|
|
39
|
+
"format": "prettier --write \"**/*.md\"",
|
|
40
|
+
"test": "jest",
|
|
41
|
+
"test:watch": "jest --watch",
|
|
42
|
+
"test:coverage": "jest --coverage",
|
|
43
|
+
"test:health-check": "mocha tests/health-check/**/*.test.js --timeout 30000",
|
|
44
|
+
"lint": "eslint . --cache --cache-location .eslintcache",
|
|
45
|
+
"typecheck": "tsc --noEmit",
|
|
46
|
+
"release": "semantic-release",
|
|
47
|
+
"release:test": "semantic-release --dry-run --no-ci || echo 'Config test complete - authentication errors are expected locally'",
|
|
48
|
+
"generate:manifest": "node scripts/generate-install-manifest.js",
|
|
49
|
+
"validate:manifest": "node scripts/validate-manifest.js",
|
|
50
|
+
"validate:structure": "node .grimoire/infrastructure/scripts/source-tree-guardian/index.js",
|
|
51
|
+
"validate:agents": "node .grimoire/infrastructure/scripts/validate-agents.js",
|
|
52
|
+
"sync:ide": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync",
|
|
53
|
+
"sync:ide:validate": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate",
|
|
54
|
+
"sync:ide:check": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --strict",
|
|
55
|
+
"sync:ide:claude": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide claude-code",
|
|
56
|
+
"sync:ide:codex": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide codex",
|
|
57
|
+
"sync:ide:gemini": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide gemini",
|
|
58
|
+
"sync:ide:github-copilot": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide github-copilot",
|
|
59
|
+
"sync:ide:antigravity": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide antigravity",
|
|
60
|
+
"validate:claude-sync": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --ide claude-code --strict",
|
|
61
|
+
"validate:claude-integration": "node .grimoire/infrastructure/scripts/validate-claude-integration.js",
|
|
62
|
+
"validate:codex-sync": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --ide codex --strict",
|
|
63
|
+
"validate:codex-integration": "node .grimoire/infrastructure/scripts/validate-codex-integration.js",
|
|
64
|
+
"validate:gemini-sync": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --ide gemini --strict",
|
|
65
|
+
"validate:github-copilot-sync": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --ide github-copilot --strict",
|
|
66
|
+
"validate:antigravity-sync": "node .grimoire/infrastructure/scripts/ide-sync/index.js validate --ide antigravity --strict",
|
|
67
|
+
"validate:gemini-integration": "node .grimoire/infrastructure/scripts/validate-gemini-integration.js",
|
|
68
|
+
"sync:skills:codex": "node .grimoire/infrastructure/scripts/codex-skills-sync/index.js",
|
|
69
|
+
"sync:skills:codex:global": "node .grimoire/infrastructure/scripts/codex-skills-sync/index.js --global --global-only",
|
|
70
|
+
"validate:codex-skills": "node .grimoire/infrastructure/scripts/codex-skills-sync/validate.js --strict",
|
|
71
|
+
"validate:paths": "node .grimoire/infrastructure/scripts/validate-paths.js",
|
|
72
|
+
"validate:parity": "node .grimoire/infrastructure/scripts/validate-parity.js",
|
|
73
|
+
"validate:semantic-lint": "node scripts/semantic-lint.js",
|
|
74
|
+
"manifest:ensure": "node scripts/ensure-manifest.js",
|
|
75
|
+
"sync:ide:cursor": "node .grimoire/infrastructure/scripts/ide-sync/index.js sync --ide cursor",
|
|
76
|
+
"prepublishOnly": "npm run generate:manifest && npm run validate:manifest",
|
|
77
|
+
"prepare": "husky"
|
|
78
|
+
},
|
|
79
|
+
"dependencies": {
|
|
80
|
+
"@clack/prompts": "^0.11.0",
|
|
81
|
+
"@kayvan/markdown-tree-parser": "^1.5.0",
|
|
82
|
+
"ajv": "^8.17.1",
|
|
83
|
+
"ajv-formats": "^3.0.1",
|
|
84
|
+
"ansi-to-html": "^0.7.2",
|
|
85
|
+
"chalk": "^4.1.2",
|
|
86
|
+
"chokidar": "^3.5.3",
|
|
87
|
+
"cli-progress": "^3.12.0",
|
|
88
|
+
"commander": "^12.1.0",
|
|
89
|
+
"execa": "^5.1.1",
|
|
90
|
+
"fast-glob": "^3.3.3",
|
|
91
|
+
"fs-extra": "^11.3.2",
|
|
92
|
+
"glob": "^10.4.4",
|
|
93
|
+
"handlebars": "^4.7.8",
|
|
94
|
+
"inquirer": "^8.2.6",
|
|
95
|
+
"js-yaml": "^4.1.0",
|
|
96
|
+
"ora": "^5.4.1",
|
|
97
|
+
"picocolors": "^1.1.1",
|
|
98
|
+
"proper-lockfile": "^4.1.2",
|
|
99
|
+
"semver": "^7.7.2",
|
|
100
|
+
"validator": "^13.15.15"
|
|
101
|
+
},
|
|
102
|
+
"keywords": [
|
|
103
|
+
"ai",
|
|
104
|
+
"grimoire",
|
|
105
|
+
"agile",
|
|
106
|
+
"agents",
|
|
107
|
+
"orchestrator",
|
|
108
|
+
"fullstack",
|
|
109
|
+
"development",
|
|
110
|
+
"cli",
|
|
111
|
+
"cross-platform",
|
|
112
|
+
"interactive",
|
|
113
|
+
"wizard",
|
|
114
|
+
"modern-ux",
|
|
115
|
+
"vite-style",
|
|
116
|
+
"automation"
|
|
117
|
+
],
|
|
118
|
+
"author": "Grimoire Team",
|
|
119
|
+
"license": "MIT",
|
|
120
|
+
"engines": {
|
|
121
|
+
"node": ">=18.0.0",
|
|
122
|
+
"npm": ">=9.0.0"
|
|
123
|
+
},
|
|
124
|
+
"devDependencies": {
|
|
125
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
126
|
+
"@semantic-release/git": "^10.0.1",
|
|
127
|
+
"@types/jest": "^30.0.0",
|
|
128
|
+
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
|
129
|
+
"@typescript-eslint/parser": "^8.46.2",
|
|
130
|
+
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
131
|
+
"eslint": "^9.38.0",
|
|
132
|
+
"husky": "^9.1.7",
|
|
133
|
+
"jest": "^30.2.0",
|
|
134
|
+
"lint-staged": "^16.1.1",
|
|
135
|
+
"mocha": "^11.7.5",
|
|
136
|
+
"prettier": "^3.5.3",
|
|
137
|
+
"semantic-release": "^25.0.2",
|
|
138
|
+
"typescript": "^5.9.3",
|
|
139
|
+
"yaml-lint": "^1.7.0"
|
|
140
|
+
},
|
|
141
|
+
"lint-staged": {
|
|
142
|
+
"*.{js,mjs,cjs,ts}": [
|
|
143
|
+
"eslint --fix --cache --cache-location .eslintcache",
|
|
144
|
+
"prettier --write"
|
|
145
|
+
],
|
|
146
|
+
"*.md": [
|
|
147
|
+
"prettier --write",
|
|
148
|
+
"node scripts/semantic-lint.js --staged"
|
|
149
|
+
],
|
|
150
|
+
".grimoire/development/agents/*.md": [
|
|
151
|
+
"npm run sync:ide"
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
"overrides": {
|
|
155
|
+
"tar": "^7.5.7",
|
|
156
|
+
"diff": "^8.0.3"
|
|
157
|
+
}
|
|
158
|
+
}
|