izanagi-ai 2.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.
Files changed (195) hide show
  1. package/AGENTS.md +53 -0
  2. package/CHANGELOG.md +198 -0
  3. package/LICENSE +21 -0
  4. package/README.md +96 -0
  5. package/ROADMAP.md +131 -0
  6. package/RULES.md +202 -0
  7. package/SYSTEM.md +201 -0
  8. package/agents/INDEX.md +40 -0
  9. package/agents/architect-agent.json +15 -0
  10. package/agents/bug-hunter-agent.json +14 -0
  11. package/agents/database-agent.json +14 -0
  12. package/agents/devops-agent.json +15 -0
  13. package/agents/docs-agent.json +15 -0
  14. package/agents/pm-agent.json +14 -0
  15. package/agents/professor-agent.json +15 -0
  16. package/agents/security-agent.json +14 -0
  17. package/agents/senior-engineer-agent.json +16 -0
  18. package/agents/techlead-agent.json +15 -0
  19. package/architecture/clean-architecture.md +98 -0
  20. package/architecture/cqrs-specialist.md +102 -0
  21. package/architecture/ddd-specialist.md +97 -0
  22. package/architecture/event-driven-architect.md +79 -0
  23. package/architecture/hexagonal-architecture.md +96 -0
  24. package/architecture/microservices-expert.md +83 -0
  25. package/architecture/monolith-expert.md +67 -0
  26. package/architecture/repository-pattern.md +73 -0
  27. package/architecture/unit-of-work.md +92 -0
  28. package/backend/README.md +29 -0
  29. package/bin/nexus.js +8 -0
  30. package/core/compression-engine.md +194 -0
  31. package/core/context-engine.md +239 -0
  32. package/core/decision-engine.md +377 -0
  33. package/core/evolution-engine.md +169 -0
  34. package/core/planning-engine.md +201 -0
  35. package/core/quality-gates.md +233 -0
  36. package/core/reflection-engine.md +182 -0
  37. package/core/skill-resolver.json +169 -0
  38. package/core/token-manager.md +152 -0
  39. package/database/database-engineer.md +244 -0
  40. package/database/mysql-specialist.md +61 -0
  41. package/database/postgresql-specialist.md +70 -0
  42. package/database/redis-specialist.md +73 -0
  43. package/database/sql-optimizer.md +95 -0
  44. package/database/sqlserver-specialist.md +69 -0
  45. package/devops/ci-cd-specialist.md +101 -0
  46. package/devops/devops-engineer.md +358 -0
  47. package/devops/docker-expert.md +105 -0
  48. package/devops/git-expert.md +76 -0
  49. package/devops/git-flow-specialist.md +71 -0
  50. package/devops/kubernetes-specialist.md +84 -0
  51. package/devops/linux-specialist.md +82 -0
  52. package/devops/windows-specialist.md +43 -0
  53. package/dist/cli/commands/compile.d.ts +2 -0
  54. package/dist/cli/commands/compile.d.ts.map +1 -0
  55. package/dist/cli/commands/compile.js +44 -0
  56. package/dist/cli/commands/compile.js.map +1 -0
  57. package/dist/cli/commands/doctor.d.ts +2 -0
  58. package/dist/cli/commands/doctor.d.ts.map +1 -0
  59. package/dist/cli/commands/doctor.js +88 -0
  60. package/dist/cli/commands/doctor.js.map +1 -0
  61. package/dist/cli/commands/init.d.ts +2 -0
  62. package/dist/cli/commands/init.d.ts.map +1 -0
  63. package/dist/cli/commands/init.js +26 -0
  64. package/dist/cli/commands/init.js.map +1 -0
  65. package/dist/cli/commands/list.d.ts +2 -0
  66. package/dist/cli/commands/list.d.ts.map +1 -0
  67. package/dist/cli/commands/list.js +50 -0
  68. package/dist/cli/commands/list.js.map +1 -0
  69. package/dist/cli/commands/run.d.ts +2 -0
  70. package/dist/cli/commands/run.d.ts.map +1 -0
  71. package/dist/cli/commands/run.js +49 -0
  72. package/dist/cli/commands/run.js.map +1 -0
  73. package/dist/cli/index.d.ts +2 -0
  74. package/dist/cli/index.d.ts.map +1 -0
  75. package/dist/cli/index.js +72 -0
  76. package/dist/cli/index.js.map +1 -0
  77. package/dist/index.d.ts +3 -0
  78. package/dist/index.d.ts.map +1 -0
  79. package/dist/index.js +3 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/installer.d.ts +5 -0
  82. package/dist/installer.d.ts.map +1 -0
  83. package/dist/installer.js +86 -0
  84. package/dist/installer.js.map +1 -0
  85. package/dist/postinstall.d.ts +2 -0
  86. package/dist/postinstall.d.ts.map +1 -0
  87. package/dist/postinstall.js +8 -0
  88. package/dist/postinstall.js.map +1 -0
  89. package/frontend/README.md +19 -0
  90. package/memory/context-recovery.md +49 -0
  91. package/memory/conversation-summarizer.md +65 -0
  92. package/memory/long-term-project-memory.md +58 -0
  93. package/memory/memory-manager.md +299 -0
  94. package/memory/session-compression.md +182 -0
  95. package/memory/smart-recall.md +37 -0
  96. package/optimization/compact-example.md +87 -0
  97. package/optimization/cost-optimizer.md +53 -0
  98. package/optimization/prompt-optimizer.md +194 -0
  99. package/optimization/token-audit.md +177 -0
  100. package/optimization/token-reducer.md +202 -0
  101. package/package.json +67 -0
  102. package/security/owasp-auditor.md +249 -0
  103. package/security/pentest-reviewer.md +109 -0
  104. package/security/security-engineer.md +238 -0
  105. package/skills/INDEX.md +434 -0
  106. package/skills/accessibility-reviewer.md +63 -0
  107. package/skills/agentic-coding.md +56 -0
  108. package/skills/ai-agent/SKILL.md +107 -0
  109. package/skills/ai-agent-dev/SKILL.md +117 -0
  110. package/skills/alternative-solution-generator.md +72 -0
  111. package/skills/architecture-patterns/SKILL.md +113 -0
  112. package/skills/breaking-change-detector.md +84 -0
  113. package/skills/bug-hunter.md +234 -0
  114. package/skills/bug-prevention.md +75 -0
  115. package/skills/chaos-engineering/SKILL.md +108 -0
  116. package/skills/clean-code-validator.md +218 -0
  117. package/skills/cloud-architect/SKILL.md +78 -0
  118. package/skills/cloud-infra/SKILL.md +99 -0
  119. package/skills/code-auditor.md +24 -0
  120. package/skills/complexity-analyzer.md +102 -0
  121. package/skills/confidence-estimator.md +53 -0
  122. package/skills/continuous-improvement.md +46 -0
  123. package/skills/continuous-learning-engine.md +51 -0
  124. package/skills/cto-advisor.md +66 -0
  125. package/skills/data-engineer/SKILL.md +76 -0
  126. package/skills/data-engineering/SKILL.md +82 -0
  127. package/skills/debug-specialist.md +215 -0
  128. package/skills/dependency-analyzer.md +78 -0
  129. package/skills/design-pattern-advisor.md +78 -0
  130. package/skills/documentation-writer.md +66 -0
  131. package/skills/dry-kiss-yagni-validator.md +114 -0
  132. package/skills/economia-tokens/SKILL.md +40 -0
  133. package/skills/er-diagram-builder.md +85 -0
  134. package/skills/feature-flags/SKILL.md +95 -0
  135. package/skills/frontend/SKILL.md +327 -0
  136. package/skills/frontend-dev/SKILL.md +178 -0
  137. package/skills/graphql/SKILL.md +104 -0
  138. package/skills/hallucination-detection.md +49 -0
  139. package/skills/handoff-sessao/SKILL.md +32 -0
  140. package/skills/i18n-l10n/SKILL.md +103 -0
  141. package/skills/iac-terraform/SKILL.md +98 -0
  142. package/skills/legacy-migration/SKILL.md +91 -0
  143. package/skills/logging-expert.md +78 -0
  144. package/skills/mcp-server-dev.md +33 -0
  145. package/skills/memoria-projeto/SKILL.md +49 -0
  146. package/skills/mobile-dev/SKILL.md +82 -0
  147. package/skills/mobile-engineer/SKILL.md +74 -0
  148. package/skills/monitoring-specialist.md +59 -0
  149. package/skills/observability-expert.md +60 -0
  150. package/skills/performance-optimizer.md +239 -0
  151. package/skills/principal-engineer.md +55 -0
  152. package/skills/privacy-engineer/SKILL.md +79 -0
  153. package/skills/professor-modo/SKILL.md +33 -0
  154. package/skills/project-manager.md +74 -0
  155. package/skills/prompt-engineering.md +27 -0
  156. package/skills/qa/SKILL.md +231 -0
  157. package/skills/qa-engineer/SKILL.md +222 -0
  158. package/skills/readme-generator.md +42 -0
  159. package/skills/refactoring-specialist.md +250 -0
  160. package/skills/release-planner.md +70 -0
  161. package/skills/requirement-analyzer.md +65 -0
  162. package/skills/risk-analyzer.md +73 -0
  163. package/skills/root-cause-analyzer.md +210 -0
  164. package/skills/scalability-expert.md +73 -0
  165. package/skills/security-privacy/SKILL.md +98 -0
  166. package/skills/self-correction.md +54 -0
  167. package/skills/self-critique.md +42 -0
  168. package/skills/senior-code-reviewer.md +193 -0
  169. package/skills/sequence-diagram-builder.md +56 -0
  170. package/skills/serverless-edge/SKILL.md +103 -0
  171. package/skills/software-architect.md +356 -0
  172. package/skills/solid-validator.md +332 -0
  173. package/skills/sre-reliability/SKILL.md +115 -0
  174. package/skills/staff-engineer.md +61 -0
  175. package/skills/task-planner.md +61 -0
  176. package/skills/tech-lead.md +59 -0
  177. package/skills/technical-debt-analyzer.md +81 -0
  178. package/skills/technical-writer.md +39 -0
  179. package/skills/tradeoff-analyzer.md +79 -0
  180. package/skills/uml-generator.md +72 -0
  181. package/skills/ux-reviewer.md +61 -0
  182. package/skills/wasm/SKILL.md +133 -0
  183. package/skills/web-perf-engineer/SKILL.md +75 -0
  184. package/skills/web-perf-seo/SKILL.md +111 -0
  185. package/skills/websocket-realtime/SKILL.md +107 -0
  186. package/teaching/adaptive-teaching.md +37 -0
  187. package/teaching/code-explainer.md +172 -0
  188. package/teaching/interactive-teaching.md +41 -0
  189. package/teaching/learning-tracker.md +63 -0
  190. package/teaching/mentor-mode.md +200 -0
  191. package/teaching/professor-mode.md +222 -0
  192. package/testing/e2e-test-engineer.md +68 -0
  193. package/testing/integration-test-engineer.md +74 -0
  194. package/testing/mocking-specialist.md +78 -0
  195. package/testing/unit-test-engineer.md +209 -0
@@ -0,0 +1,50 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ export function listCommand(baseDir, filter) {
4
+ const type = filter ? filter.toLowerCase() : 'all';
5
+ if (type === 'all' || type === 'agents') {
6
+ console.log('\n\x1b[35m=== NexusAI Agents ===\x1b[0m\n');
7
+ const agentsDir = path.join(baseDir, 'agents');
8
+ if (fs.existsSync(agentsDir)) {
9
+ const files = fs.readdirSync(agentsDir).filter(f => f.endsWith('.json'));
10
+ for (const f of files) {
11
+ try {
12
+ const agent = JSON.parse(fs.readFileSync(path.join(agentsDir, f), 'utf-8'));
13
+ console.log(`\x1b[1m\x1b[36m• ${agent.name || f}\x1b[0m (v${agent.version || '1.0.0'})`);
14
+ console.log(` Role: ${agent.role || 'N/A'}`);
15
+ console.log(` Skills: ${agent.skills ? agent.skills.slice(0, 6).join(', ') + (agent.skills.length > 6 ? '...' : '') : 'None'}\n`);
16
+ }
17
+ catch {
18
+ // ignore broken files
19
+ }
20
+ }
21
+ }
22
+ }
23
+ if (type === 'all' || type === 'skills') {
24
+ console.log('\x1b[35m=== NexusAI Skill Resolver Aliases ===\x1b[0m\n');
25
+ const resolverPath = path.join(baseDir, 'core', 'skill-resolver.json');
26
+ if (fs.existsSync(resolverPath)) {
27
+ try {
28
+ const data = JSON.parse(fs.readFileSync(resolverPath, 'utf-8'));
29
+ const aliases = data.aliases || {};
30
+ const keys = Object.keys(aliases).sort();
31
+ console.log(`Total skills registered: \x1b[32m${keys.length}\x1b[0m\n`);
32
+ const colWidth = 25;
33
+ for (let i = 0; i < keys.length; i += 2) {
34
+ const k1 = keys[i];
35
+ const k2 = keys[i + 1] || '';
36
+ const p1 = aliases[k1];
37
+ const p2 = k2 ? aliases[k2] : '';
38
+ const item1 = ` \x1b[33m${k1.padEnd(colWidth)}\x1b[0m -> ${p1}`;
39
+ const item2 = k2 ? ` | \x1b[33m${k2.padEnd(colWidth)}\x1b[0m -> ${p2}` : '';
40
+ console.log(item1 + item2);
41
+ }
42
+ console.log('\n');
43
+ }
44
+ catch (err) {
45
+ console.error('Error reading skill-resolver.json:', err.message);
46
+ }
47
+ }
48
+ }
49
+ }
50
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runCommand(baseDir: string, taskDescription?: string): void;
2
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAkD1E"}
@@ -0,0 +1,49 @@
1
+ export function runCommand(baseDir, taskDescription) {
2
+ if (!taskDescription) {
3
+ console.error('\x1b[31mError:\x1b[0m Please provide a task description. Example: \x1b[1mnexus run "Create secure REST API with Laravel Sanctum"\x1b[0m');
4
+ process.exit(1);
5
+ }
6
+ console.log('\n\x1b[36m=== NexusAI Decision Engine ===\x1b[0m');
7
+ console.log(`\x1b[1mTask:\x1b[0m "${taskDescription}"\n`);
8
+ const lower = taskDescription.toLowerCase();
9
+ // Basic classification heuristics
10
+ let agentName = 'senior-engineer';
11
+ let category = 'implementation';
12
+ let skillChain = ['planner', 'reviewer', 'clean-code'];
13
+ if (lower.includes('architect') || lower.includes('design') || lower.includes('microservice') || lower.includes('clean arch') || lower.includes('estrutura')) {
14
+ agentName = 'architect';
15
+ category = 'architecture';
16
+ skillChain = ['planner', 'architect', 'clean-arch', 'risk', 'tradeoff', 'uml'];
17
+ }
18
+ else if (lower.includes('security') || lower.includes('auth') || lower.includes('owasp') || lower.includes('vulnerab') || lower.includes('audit')) {
19
+ agentName = 'security';
20
+ category = 'security_audit';
21
+ skillChain = ['security', 'owasp', 'pentest', 'code-auditor', 'reviewer'];
22
+ }
23
+ else if (lower.includes('bug') || lower.includes('fix') || lower.includes('error') || lower.includes('crash') || lower.includes('debug')) {
24
+ agentName = 'bug-hunter';
25
+ category = 'debugging';
26
+ skillChain = ['debug', 'bug', 'root-cause', 'self-fix', 'reviewer'];
27
+ }
28
+ else if (lower.includes('db') || lower.includes('database') || lower.includes('sql') || lower.includes('postgres') || lower.includes('migration')) {
29
+ agentName = 'database';
30
+ category = 'database_design';
31
+ skillChain = ['db', 'sql', 'postgres', 'er', 'perf'];
32
+ }
33
+ else if (lower.includes('docker') || lower.includes('ci/cd') || lower.includes('pipeline') || lower.includes('deploy') || lower.includes('k8s')) {
34
+ agentName = 'devops';
35
+ category = 'devops_infra';
36
+ skillChain = ['devops', 'docker', 'cicd', 'linux'];
37
+ }
38
+ console.log(`\x1b[32m✔ Category Identified:\x1b[0m ${category}`);
39
+ console.log(`\x1b[32m✔ Selected Agent:\x1b[0m ${agentName}`);
40
+ console.log(`\x1b[32m✔ Computed Skill Chain:\x1b[0m ${skillChain.join(' -> ')}\n`);
41
+ console.log('\x1b[1mExecution Plan:\x1b[0m');
42
+ console.log(' 1. Load Context & System Rules (SYSTEM.md / RULES.md)');
43
+ console.log(` 2. Activate Agent [${agentName}]`);
44
+ console.log(` 3. Execute Skill Chain [${skillChain.join(', ')}]`);
45
+ console.log(' 4. Apply Quality Gates & Security Verification');
46
+ console.log(' 5. Generate Output & Reflection Log\n');
47
+ console.log('\x1b[90mTip: Run \x1b[36mnexus compile ' + agentName + '\x1b[90m to output the full prompt instruction for your LLM context.\x1b[0m\n');
48
+ }
49
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runCLI(args: string[]): Promise<void>;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAcA,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C1D"}
@@ -0,0 +1,72 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ import { doctorCommand } from './commands/doctor.js';
5
+ import { listCommand } from './commands/list.js';
6
+ import { initCommand } from './commands/init.js';
7
+ import { compileCommand } from './commands/compile.js';
8
+ import { runCommand } from './commands/run.js';
9
+ const __filename = fileURLToPath(import.meta.url);
10
+ const __dirname = path.dirname(__filename);
11
+ const baseDir = path.resolve(__dirname, '../../');
12
+ export async function runCLI(args) {
13
+ const command = args[0] || 'help';
14
+ switch (command.toLowerCase()) {
15
+ case 'init':
16
+ initCommand(baseDir, args[1]);
17
+ break;
18
+ case 'list':
19
+ case 'skills':
20
+ case 'agents':
21
+ listCommand(baseDir, args[1] || (command === 'skills' ? 'skills' : command === 'agents' ? 'agents' : 'all'));
22
+ break;
23
+ case 'run':
24
+ case 'resolve':
25
+ runCommand(baseDir, args.slice(1).join(' '));
26
+ break;
27
+ case 'compile':
28
+ case 'build':
29
+ compileCommand(baseDir, args[1], args[2]);
30
+ break;
31
+ case 'doctor':
32
+ case 'check':
33
+ case 'validate':
34
+ doctorCommand(baseDir);
35
+ break;
36
+ case 'version':
37
+ case '-v':
38
+ case '--version':
39
+ const pkg = JSON.parse(fs.readFileSync(path.join(baseDir, 'package.json'), 'utf-8'));
40
+ console.log(`NexusAI CLI v${pkg.version}`);
41
+ break;
42
+ case 'help':
43
+ case '--help':
44
+ case '-h':
45
+ default:
46
+ showHelp();
47
+ break;
48
+ }
49
+ }
50
+ function showHelp() {
51
+ console.log(`
52
+ \x1b[1m\x1b[36mNexusAI CLI - Modular Skill & Agent Framework for Autonomous AI Coding\x1b[0m
53
+
54
+ \x1b[1mUsage:\x1b[0m
55
+ nexus <command> [options]
56
+
57
+ \x1b[1mCommands:\x1b[0m
58
+ \x1b[32mrun "<task>"\x1b[0m Analyzes task, selects optimal Agent and Skill Chain.
59
+ \x1b[32mcompile <agent> [file]\x1b[0m Compiles ready-to-use prompt for an Agent (e.g. architect, security).
60
+ \x1b[32minit [dir]\x1b[0m Initializes NexusAI rules & assets (.agents) in target directory.
61
+ \x1b[32mlist [skills|agents]\x1b[0m Lists all registered skills and agents.
62
+ \x1b[32mdoctor\x1b[0m Validates framework integrity, JSONs, and alias links.
63
+ \x1b[32mversion\x1b[0m Displays NexusAI version.
64
+
65
+ \x1b[1mExamples:\x1b[0m
66
+ nexus run "Refactor user authentication to JWT"
67
+ nexus compile architect system_prompt.md
68
+ nexus list skills
69
+ nexus doctor
70
+ `);
71
+ }
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAc;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;IAElC,QAAQ,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAC9B,KAAK,MAAM;YACT,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM;QAER,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7G,MAAM;QAER,KAAK,KAAK,CAAC;QACX,KAAK,SAAS;YACZ,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM;QAER,KAAK,SAAS,CAAC;QACf,KAAK,OAAO;YACV,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM;QAER,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,UAAU;YACb,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,MAAM;QAER,KAAK,SAAS,CAAC;QACf,KAAK,IAAI,CAAC;QACV,KAAK,WAAW;YACd,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,MAAM;QAER,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC;QACV;YACE,QAAQ,EAAE,CAAC;YACX,MAAM;IACV,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;CAmBb,CAAC,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './cli/index.js';
2
+ export * from './installer.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from './cli/index.js';
2
+ export * from './installer.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Instala todos os recursos do NexusAI na pasta .agents do projeto do usuário
3
+ */
4
+ export declare function installToProject(targetDir?: string): void;
5
+ //# sourceMappingURL=installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AA0DA;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAoCzD"}
@@ -0,0 +1,86 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = path.dirname(__filename);
6
+ /**
7
+ * Pastas e arquivos que devem ser copiados para a pasta .agents do usuário
8
+ */
9
+ const ITEMS_TO_COPY = [
10
+ 'agents',
11
+ 'architecture',
12
+ 'backend',
13
+ 'core',
14
+ 'database',
15
+ 'devops',
16
+ 'frontend',
17
+ 'memory',
18
+ 'optimization',
19
+ 'security',
20
+ 'skills',
21
+ 'teaching',
22
+ 'testing',
23
+ 'SYSTEM.md',
24
+ 'RULES.md',
25
+ 'AGENTS.md',
26
+ 'CHANGELOG.md',
27
+ 'ROADMAP.md'
28
+ ];
29
+ /**
30
+ * Copia recursivamente um diretório ou arquivo de origem para destino
31
+ */
32
+ function copyRecursiveSync(src, dest) {
33
+ const exists = fs.existsSync(src);
34
+ const stats = exists && fs.statSync(src);
35
+ const isDirectory = exists && stats ? stats.isDirectory() : false;
36
+ if (isDirectory) {
37
+ if (!fs.existsSync(dest)) {
38
+ fs.mkdirSync(dest, { recursive: true });
39
+ }
40
+ fs.readdirSync(src).forEach((childItemName) => {
41
+ copyRecursiveSync(path.join(src, childItemName), path.join(dest, childItemName));
42
+ });
43
+ }
44
+ else if (exists) {
45
+ const parentDir = path.dirname(dest);
46
+ if (!fs.existsSync(parentDir)) {
47
+ fs.mkdirSync(parentDir, { recursive: true });
48
+ }
49
+ fs.copyFileSync(src, dest);
50
+ }
51
+ }
52
+ /**
53
+ * Instala todos os recursos do NexusAI na pasta .agents do projeto do usuário
54
+ */
55
+ export function installToProject(targetDir) {
56
+ const destinationRoot = path.resolve(targetDir || process.env.INIT_CWD || process.cwd());
57
+ // Evitar auto-cópia se a pós-instalação rodar no próprio repositório do NexusAI durante desenvolvimento local
58
+ const packageJsonPath = path.join(destinationRoot, 'package.json');
59
+ if (fs.existsSync(packageJsonPath) && !targetDir) {
60
+ try {
61
+ const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
62
+ if (pkg.name === 'nexusai' || pkg.name === 'pedrohsl1-nexusai') {
63
+ console.log('[NexusAI] Pós-instalação ignorada no próprio repositório NexusAI.');
64
+ return;
65
+ }
66
+ }
67
+ catch {
68
+ // Ignorar erros de leitura de package.json
69
+ }
70
+ }
71
+ // Onde os arquivos do pacote estão localizados (raiz do pacote NexusAI no node_modules)
72
+ const packageDir = path.resolve(__dirname, '..');
73
+ const targetAgentsFolder = path.join(destinationRoot, '.agents');
74
+ console.log(`\n\x1b[36m[NexusAI]\x1b[0m Instalando recursos do NexusAI em: \x1b[1m${targetAgentsFolder}\x1b[0m...`);
75
+ let copiedCount = 0;
76
+ for (const item of ITEMS_TO_COPY) {
77
+ const srcPath = path.join(packageDir, item);
78
+ const destPath = path.join(targetAgentsFolder, item);
79
+ if (fs.existsSync(srcPath)) {
80
+ copyRecursiveSync(srcPath, destPath);
81
+ copiedCount++;
82
+ }
83
+ }
84
+ console.log(`\x1b[32m[NexusAI] Sucesso! ${copiedCount} pastas/arquivos copiados para .agents.\x1b[0m\n`);
85
+ }
86
+ //# sourceMappingURL=installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=postinstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.d.ts","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { installToProject } from './installer.js';
2
+ try {
3
+ installToProject();
4
+ }
5
+ catch (err) {
6
+ console.warn('[NexusAI Warning] Erro durante a pós-instalação (.agents):', err?.message || err);
7
+ }
8
+ //# sourceMappingURL=postinstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,IAAI,CAAC;IACH,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAAC,OAAO,GAAQ,EAAE,CAAC;IAClB,OAAO,CAAC,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;AAClG,CAAC"}
@@ -0,0 +1,19 @@
1
+ # Frontend Skills
2
+
3
+ > Skills de desenvolvimento frontend estão em `coding/`:
4
+
5
+ | Skill | Arquivo |
6
+ |-------|---------|
7
+ | Frontend Engineer (geral) | `coding/frontend-engineer.md` |
8
+ | React Specialist | `coding/react-specialist.md` |
9
+ | Vue Specialist | `coding/vue-specialist.md` |
10
+ | TypeScript Specialist | `coding/typescript-specialist.md` |
11
+ | JavaScript Specialist | `coding/javascript-specialist.md` |
12
+ | UX Reviewer | `skills/ux-reviewer.md` |
13
+ | Accessibility Reviewer | `skills/accessibility-reviewer.md` |
14
+
15
+ ---
16
+
17
+ ## Sugestão para 2.0
18
+
19
+ Mover skills específicas de frontend para esta pasta.
@@ -0,0 +1,49 @@
1
+ # Memory: Context Recovery
2
+
3
+ > Version 1.0.0 | Priority: Medium
4
+ > Dependencies: Conversation Summarizer, Memory Manager
5
+ > Compatibility: ">=1.0.0"
6
+
7
+ ---
8
+
9
+ ## Identity
10
+
11
+ Context Recovery restores the full context of a previous session from a compressed summary. Loads relevant project memory, architecture decisions, and user context.
12
+
13
+ ---
14
+
15
+ ## Recovery Flow
16
+
17
+ ```
18
+ 1. User returns after session break
19
+ 2. Load compressed summary from last session
20
+ 3. Load project memory (architecture, stack, decisions)
21
+ 4. Load user preferences (level, communication style)
22
+ 5. Generate recovery prompt
23
+ 6. Present to user for confirmation
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Recovery Prompt
29
+
30
+ ```
31
+ "Welcome back! Last session we worked on the blog API.
32
+
33
+ Progress:
34
+ - Completed: User auth (JWT), Post CRUD
35
+ - Pending: Comments feature, rate limiting
36
+
37
+ Open items:
38
+ - Add rate limiting to login endpoint
39
+ - Write Stripe integration tests
40
+
41
+ Shall we continue with the comments feature, or do you want to
42
+ start something new?"
43
+ ```
44
+
45
+ ---
46
+
47
+ ## Changelog
48
+
49
+ ### 1.0.0 — Initial release. Recovery flow, prompt template.
@@ -0,0 +1,65 @@
1
+ # Memory: Conversation Summarizer
2
+
3
+ > Version 1.0.0 | Priority: Medium
4
+ > Dependencies: Session Compression, Memory Manager
5
+ > Compatibility: ">=1.0.0"
6
+
7
+ ---
8
+
9
+ ## Identity
10
+
11
+ Conversation Summarizer condenses long conversations into dense summaries while preserving all decisions, action items, errors, and key facts.
12
+
13
+ ---
14
+
15
+ ## Extraction Priority
16
+
17
+ ```yaml
18
+ preserve:
19
+ - ALL: decisions, action items, errors + fixes, user preferences
20
+ - MOST: architecture decisions, tech stack changes, key facts
21
+ - SOME: patterns detected, skill updates, progress made
22
+
23
+ discard:
24
+ - Greetings ("hey", "thanks", "you're welcome")
25
+ - Filler questions ("can you help me?", "do you understand?")
26
+ - Multiple rephrasings of the same question
27
+ - Code snippets (stored in project memory)
28
+ - Error messages (only keep cause + fix)
29
+ ```
30
+
31
+ ---
32
+
33
+ ## Summary Format
34
+
35
+ ```yaml
36
+ conversation_summary:
37
+ duration: "1h 23m"
38
+ messages: 47
39
+ tokens_compressed: "12,340 → 180 (68:1)"
40
+
41
+ decisions:
42
+ - "Use JWT in httpOnly cookies (not localStorage)"
43
+ - "PostgreSQL over MySQL (JSONB support)"
44
+
45
+ errors:
46
+ - "Str::contains() TypeError → null check added"
47
+
48
+ action_items:
49
+ - "Add rate limiting to login endpoint"
50
+ - "Write Stripe integration tests"
51
+
52
+ user:
53
+ level: "intermediate"
54
+ preferred_style: "code examples first"
55
+
56
+ architecture:
57
+ pattern: "Layered (Controller → Service → Repository)"
58
+ stack: "Laravel 11, PostgreSQL 16, React + Tailwind"
59
+ ```
60
+
61
+ ---
62
+
63
+ ## Changelog
64
+
65
+ ### 1.0.0 — Initial release. Priority, format, 68:1 compression.
@@ -0,0 +1,58 @@
1
+ # Memory: Long-Term Project Memory
2
+
3
+ > Version 1.0.0 | Priority: Medium
4
+ > Dependencies: Memory Manager
5
+ > Compatibility: ">=1.0.0"
6
+
7
+ ---
8
+
9
+ ## Identity
10
+
11
+ Long-Term Project Memory persists project-specific information across sessions: architecture decisions, tech stack, conventions, error history, and development patterns.
12
+
13
+ ---
14
+
15
+ ## Stored Data
16
+
17
+ ```yaml
18
+ project:
19
+ type: "web_app"
20
+ name: "Blog API"
21
+ stack:
22
+ backend: "Laravel 11"
23
+ frontend: "React + Tailwind"
24
+ database: "PostgreSQL 16"
25
+ cache: "Redis"
26
+
27
+ decisions:
28
+ - id: ADR-001
29
+ decision: "JWT in httpOnly cookies"
30
+ reason: "XSS protection vs localStorage"
31
+ date: "2026-07-15"
32
+
33
+ conventions:
34
+ php: "PSR-12, strict_types, readonly properties"
35
+ js: "TypeScript strict, functional components"
36
+ testing: "Pest for PHP, Jest for JS"
37
+
38
+ errors:
39
+ - pattern: "N+1 queries"
40
+ count: 3
41
+ fix: "Eager loading with with()"
42
+ last_seen: "2026-07-10"
43
+ ```
44
+
45
+ ---
46
+
47
+ ## Benefits
48
+
49
+ - No need to re-explain project context each session
50
+ - Architecture decisions persist across sessions
51
+ - Error patterns detected and prevented
52
+ - Conventions applied consistently
53
+
54
+ ---
55
+
56
+ ## Changelog
57
+
58
+ ### 1.0.0 — Initial release. Stored data, benefits.