izanagi-ai 2.3.2 → 2.3.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/CHANGELOG.md CHANGED
@@ -4,6 +4,35 @@
4
4
 
5
5
  ---
6
6
 
7
+ ## [2.3.3] — 2026-08-03
8
+
9
+ ### Fixed
10
+ - **Skill Resolver**: alias `learning` apontava para `skills/continuous-learning-engine` (inexistente — skill consolidada em `continuous-improvement`). Agora aponta para `skills/continuous-improvement/SKILL`.
11
+ - **`verify-build`**: `npm run verify` quebrava com `TypeError: selectedPackIds is not iterable` porque `installToProject` era chamado sem o segundo argumento. Agora passa todos os pack IDs no teste de instalação em sandbox.
12
+
13
+ ### Removed
14
+ - **`skills/privacy-engineer`**: duplicata morta de `skills/security-privacy` (mesmo escopo LGPD/GDPR, marcada `disabled` no `.manifest`, sem uso em nenhuma chain). Removida skill + alias `privacy-engineer` do resolver.
15
+ - **`.manifest`**: catálogo estático obsoleto (versão 2.2.1, 55 paths quebrados, sem leitura em nenhum código). Removido do pacote e do repositório.
16
+
17
+ ## [2.3.2] — 2026-08-02
18
+
19
+ ### Added
20
+ - Portado `skills/tdd/references/writing-good-tests.md` (técnicas de escrita de testes de alta qualidade).
21
+ - Portado `skills/webapp-testing/examples/*.py` (4 exemplos Playwright: sandbox server, discovery de elementos, console logging, automação HTML estático) com paths adaptados para `outputs/`.
22
+
23
+ ## [2.3.1] — 2026-08-02
24
+
25
+ ### Added
26
+ - Portado `skills/ui-ux-pro-max/references/quick-reference.md` + `pro-rules.md` (regras UX da Apple/HIG de alto impacto em texto).
27
+
28
+ ### Fixed
29
+ - URL `http://highscalability.com` → `https://highscalability.com` (mixed content).
30
+
31
+ ## [2.3.0] — 2026-08-02
32
+
33
+ ### Added
34
+ - **Discovery Agent** (`/discovery`): pré-produção completa antes de codar — entrevista, pesquisa web, preview e prompt de implementação.
35
+
7
36
  ## [2.2.1] — 2026-07-31
8
37
 
9
38
  ### Fixed
@@ -1,210 +1,209 @@
1
- {
2
- "resolver": "Mapeia short IDs para caminhos reais de skills. Usado nos agentes para reduzir tokens.",
3
- "aliases": {
4
- "architect": "skills/software-architect",
5
- "clean-arch": "architecture/clean-architecture",
6
- "hexagonal": "architecture/hexagonal-architecture",
7
- "cqrs": "architecture/cqrs-specialist",
8
- "event-driven": "architecture/event-driven-architect",
9
- "ddd": "architecture/ddd-specialist",
10
- "microservices": "architecture/microservices-expert",
11
- "monolith": "architecture/monolith-expert",
12
- "repository": "architecture/repository-pattern",
13
- "uow": "architecture/unit-of-work",
14
- "backend": "coding/backend-engineer",
15
- "frontend": "skills/frontend/SKILL",
16
- "api": "coding/api-designer",
17
- "laravel": "coding/laravel-specialist",
18
- "php": "coding/php-specialist",
19
- "js": "coding/javascript-specialist",
20
- "ts": "coding/typescript-specialist",
21
- "python": "coding/python-specialist",
22
- "react": "coding/react-specialist",
23
- "vue": "coding/vue-specialist",
24
- "node": "coding/nodejs-specialist",
25
- "java": "coding/java-specialist",
26
- "csharp": "coding/csharp-specialist",
27
- "security": "security/security-engineer",
28
- "owasp": "security/owasp-auditor",
29
- "pentest": "security/pentest-reviewer",
30
- "reviewer": "skills/senior-code-reviewer",
31
- "clean-code": "skills/clean-code-validator",
32
- "solid": "skills/solid-validator",
33
- "dry-kiss-yagni": "skills/dry-kiss-yagni-validator",
34
- "complexity": "skills/complexity-analyzer",
35
- "bug-prevention": "skills/bug-prevention/SKILL",
36
- "patterns": "skills/design-pattern-advisor",
37
- "refactor": "skills/refactoring-specialist",
38
- "tech-debt": "skills/technical-debt-analyzer",
39
- "breaking-change": "skills/breaking-change-detector",
40
- "perf": "skills/performance-optimizer",
41
- "scalability": "skills/scalability-expert",
42
- "unit-test": "testing/unit-test-engineer",
43
- "integration-test": "testing/integration-test-engineer",
44
- "e2e-test": "testing/e2e-test-engineer",
45
- "mock": "testing/mocking-specialist",
46
- "db": "database/database-engineer",
47
- "sql": "database/sql-optimizer",
48
- "postgres": "database/postgresql-specialist",
49
- "mysql": "database/mysql-specialist",
50
- "sqlserver": "database/sqlserver-specialist",
51
- "redis": "database/redis-specialist",
52
- "devops": "devops/devops-engineer",
53
- "docker": "devops/docker-expert",
54
- "k8s": "devops/kubernetes-specialist",
55
- "git": "devops/git-expert",
56
- "gitflow": "devops/git-flow-specialist",
57
- "cicd": "devops/ci-cd-specialist",
58
- "linux": "devops/linux-specialist",
59
- "windows": "devops/windows-specialist",
60
- "debug": "skills/debug-specialist",
61
- "bug": "skills/bug-hunter",
62
- "root-cause": "skills/root-cause-analyzer",
63
- "professor": "teaching/professor-mode",
64
- "mentor": "teaching/mentor-mode",
65
- "explainer": "teaching/code-explainer",
66
- "interactive": "teaching/interactive-teaching",
67
- "adaptive": "teaching/adaptive-teaching",
68
- "tracker": "teaching/learning-tracker",
69
- "memory": "memory/memory-manager",
70
- "session-compress": "memory/session-compression",
71
- "summarizer": "memory/conversation-summarizer",
72
- "recovery": "memory/context-recovery",
73
- "recall": "memory/smart-recall",
74
- "project-memory": "memory/long-term-project-memory",
75
- "token-reduce": "optimization/token-reducer",
76
- "prompt": "optimization/prompt-optimizer",
77
- "cost": "optimization/cost-optimizer",
78
- "requirements": "skills/requirement-analyzer",
79
- "risk": "skills/risk-analyzer",
80
- "deps": "skills/dependency-analyzer",
81
- "tradeoff": "skills/tradeoff-analyzer",
82
- "alternatives": "skills/alternative-solution-generator",
83
- "docs": "skills/documentation-writer",
84
- "tech-writer": "skills/technical-writer",
85
- "readme": "skills/readme-generator",
86
- "uml": "skills/uml-generator",
87
- "sequence": "skills/sequence-diagram-builder",
88
- "er": "skills/er-diagram-builder",
89
- "pm": "skills/project-manager",
90
- "planner": "skills/task-planner",
91
- "release": "skills/release-planner",
92
- "ux": "skills/ux-reviewer",
93
- "a11y": "skills/accessibility-reviewer",
94
- "logging": "skills/logging-expert",
95
- "observability": "skills/observability-expert",
96
- "monitoring": "skills/monitoring-specialist",
97
- "self-fix": "skills/self-correction",
98
- "self-critique": "skills/self-critique/SKILL",
99
- "improvement": "skills/continuous-improvement",
100
- "hallucination": "skills/hallucination-detection",
101
- "confidence": "skills/confidence-estimator",
102
- "learning": "skills/continuous-learning-engine",
103
- "principal": "skills/principal-engineer",
104
- "staff": "skills/staff-engineer",
105
- "techlead": "skills/tech-lead",
106
- "cto": "skills/cto-advisor",
107
- "quality-gates": "core/quality-gates",
108
- "planning-engine": "core/planning-engine",
109
- "context-engine": "core/context-engine",
110
- "token-manager": "core/token-manager",
111
- "compression-engine": "core/compression-engine",
112
- "reflection-engine": "core/reflection-engine",
113
- "evolution-engine": "core/evolution-engine",
114
- "decision-engine": "core/decision-engine",
115
- "ai-agent": "skills/ai-agent/SKILL",
116
- "ai-agent-dev": "skills/ai-agent/SKILL",
117
- "architecture-patterns": "skills/architecture-patterns/SKILL",
118
- "chaos-engineering": "skills/chaos-engineering/SKILL",
119
- "cloud-architect": "skills/cloud-infra/SKILL",
120
- "cloud-infra": "skills/cloud-infra/SKILL",
121
- "data-engineer": "skills/data-engineering/SKILL",
122
- "data-engineering": "skills/data-engineering/SKILL",
123
- "economia-tokens": "skills/economia-tokens/SKILL",
124
- "feature-flags": "skills/feature-flags/SKILL",
125
- "frontend-tokens": "skills/frontend/SKILL",
126
- "frontend-dev": "skills/frontend/SKILL",
127
- "graphql": "skills/graphql/SKILL",
128
- "handoff-sessao": "skills/handoff-sessao/SKILL",
129
- "i18n-l10n": "skills/i18n-l10n/SKILL",
130
- "iac-terraform": "skills/iac-terraform/SKILL",
131
- "legacy-migration": "skills/legacy-migration/SKILL",
132
- "memoria-projeto": "skills/memoria-projeto/SKILL",
133
- "mobile-dev": "skills/mobile-dev/SKILL",
134
- "mobile-engineer": "skills/mobile-dev/SKILL",
135
- "privacy-engineer": "skills/privacy-engineer/SKILL",
136
- "professor-modo": "skills/professor-modo/SKILL",
137
- "qa-checklist": "skills/qa/SKILL",
138
- "qa-engineer": "skills/qa/SKILL",
139
- "security-privacy": "skills/security-privacy/SKILL",
140
- "serverless-edge": "skills/serverless-edge/SKILL",
141
- "sre-reliability": "skills/sre-reliability/SKILL",
142
- "wasm": "skills/wasm/SKILL",
143
- "web-perf-engineer": "skills/web-perf-seo/SKILL",
144
- "web-perf-seo": "skills/web-perf-seo/SKILL",
145
- "websocket-realtime": "skills/websocket-realtime/SKILL",
146
- "animation-web": "skills/animation-web/SKILL",
147
- "webgl-3d": "skills/webgl-3d/SKILL",
148
- "motion-design": "skills/motion-design/SKILL",
149
- "agentic-coding": "skills/agentic-coding/SKILL",
150
- "mcp": "skills/mcp-server-dev",
151
- "prompt-eng": "skills/prompt-engineering",
152
- "code-auditor": "skills/code-auditor/SKILL",
153
- "accessibility-reviewer": "skills/accessibility-reviewer/SKILL",
154
- "alternative-solution-generator": "skills/alternative-solution-generator/SKILL",
155
- "breaking-change-detector": "skills/breaking-change-detector/SKILL",
156
- "bug-hunter": "skills/bug-hunter/SKILL",
157
- "clean-code-validator": "skills/clean-code-validator/SKILL",
158
- "complexity-analyzer": "skills/complexity-analyzer/SKILL",
159
- "confidence-estimator": "skills/confidence-estimator/SKILL",
160
- "continuous-improvement": "skills/continuous-improvement/SKILL",
161
- "continuous-learning-engine": "skills/continuous-improvement/SKILL",
162
- "cto-advisor": "skills/cto-advisor/SKILL",
163
- "debug-specialist": "skills/debug-specialist/SKILL",
164
- "dependency-analyzer": "skills/dependency-analyzer/SKILL",
165
- "design-pattern-advisor": "skills/design-pattern-advisor/SKILL",
166
- "documentation-writer": "skills/documentation-writer/SKILL",
167
- "dry-kiss-yagni-validator": "skills/dry-kiss-yagni-validator/SKILL",
168
- "er-diagram-builder": "skills/er-diagram-builder/SKILL",
169
- "hallucination-detection": "skills/hallucination-detection/SKILL",
170
- "logging-expert": "skills/logging-expert/SKILL",
171
- "mcp-server-dev": "skills/mcp-server-dev/SKILL",
172
- "monitoring-specialist": "skills/monitoring-specialist/SKILL",
173
- "observability-expert": "skills/observability-expert/SKILL",
174
- "performance-optimizer": "skills/performance-optimizer/SKILL",
175
- "principal-engineer": "skills/principal-engineer/SKILL",
176
- "project-manager": "skills/project-manager/SKILL",
177
- "prompt-engineering": "skills/prompt-engineering/SKILL",
178
- "qa": "skills/qa/SKILL",
179
- "readme-generator": "skills/readme-generator/SKILL",
180
- "refactoring-specialist": "skills/refactoring-specialist/SKILL",
181
- "release-planner": "skills/release-planner/SKILL",
182
- "requirement-analyzer": "skills/requirement-analyzer/SKILL",
183
- "risk-analyzer": "skills/risk-analyzer/SKILL",
184
- "root-cause-analyzer": "skills/root-cause-analyzer/SKILL",
185
- "scalability-expert": "skills/scalability-expert/SKILL",
186
- "self-correction": "skills/self-correction/SKILL",
187
- "senior-code-reviewer": "skills/senior-code-reviewer/SKILL",
188
- "sequence-diagram-builder": "skills/sequence-diagram-builder/SKILL",
189
- "software-architect": "skills/software-architect/SKILL",
190
- "solid-validator": "skills/solid-validator/SKILL",
191
- "staff-engineer": "skills/staff-engineer/SKILL",
192
- "task-planner": "skills/task-planner/SKILL",
193
- "tech-lead": "skills/tech-lead/SKILL",
194
- "technical-debt-analyzer": "skills/technical-debt-analyzer/SKILL",
195
- "technical-writer": "skills/technical-writer/SKILL",
196
- "tradeoff-analyzer": "skills/tradeoff-analyzer/SKILL",
197
- "uml-generator": "skills/uml-generator/SKILL",
198
- "ux-reviewer": "skills/ux-reviewer/SKILL",
199
- "ui-ux-pro-max": "skills/ui-ux-pro-max/SKILL",
200
- "brainstorming": "skills/brainstorming/SKILL",
201
- "deep-research": "skills/deep-research/SKILL",
202
- "webapp-testing": "skills/webapp-testing/SKILL",
203
- "tdd": "skills/tdd/SKILL",
204
- "design-system": "skills/ui-ux-pro-max/SKILL",
205
- "requirement-discovery": "skills/brainstorming/SKILL",
206
- "research": "skills/deep-research/SKILL",
207
- "e2e": "skills/webapp-testing/SKILL",
208
- "test-first": "skills/tdd/SKILL"
209
- }
210
- }
1
+ {
2
+ "resolver": "Mapeia short IDs para caminhos reais de skills. Usado nos agentes para reduzir tokens.",
3
+ "aliases": {
4
+ "architect": "skills/software-architect",
5
+ "clean-arch": "architecture/clean-architecture",
6
+ "hexagonal": "architecture/hexagonal-architecture",
7
+ "cqrs": "architecture/cqrs-specialist",
8
+ "event-driven": "architecture/event-driven-architect",
9
+ "ddd": "architecture/ddd-specialist",
10
+ "microservices": "architecture/microservices-expert",
11
+ "monolith": "architecture/monolith-expert",
12
+ "repository": "architecture/repository-pattern",
13
+ "uow": "architecture/unit-of-work",
14
+ "backend": "coding/backend-engineer",
15
+ "frontend": "skills/frontend/SKILL",
16
+ "api": "coding/api-designer",
17
+ "laravel": "coding/laravel-specialist",
18
+ "php": "coding/php-specialist",
19
+ "js": "coding/javascript-specialist",
20
+ "ts": "coding/typescript-specialist",
21
+ "python": "coding/python-specialist",
22
+ "react": "coding/react-specialist",
23
+ "vue": "coding/vue-specialist",
24
+ "node": "coding/nodejs-specialist",
25
+ "java": "coding/java-specialist",
26
+ "csharp": "coding/csharp-specialist",
27
+ "security": "security/security-engineer",
28
+ "owasp": "security/owasp-auditor",
29
+ "pentest": "security/pentest-reviewer",
30
+ "reviewer": "skills/senior-code-reviewer",
31
+ "clean-code": "skills/clean-code-validator",
32
+ "solid": "skills/solid-validator",
33
+ "dry-kiss-yagni": "skills/dry-kiss-yagni-validator",
34
+ "complexity": "skills/complexity-analyzer",
35
+ "bug-prevention": "skills/bug-prevention/SKILL",
36
+ "patterns": "skills/design-pattern-advisor",
37
+ "refactor": "skills/refactoring-specialist",
38
+ "tech-debt": "skills/technical-debt-analyzer",
39
+ "breaking-change": "skills/breaking-change-detector",
40
+ "perf": "skills/performance-optimizer",
41
+ "scalability": "skills/scalability-expert",
42
+ "unit-test": "testing/unit-test-engineer",
43
+ "integration-test": "testing/integration-test-engineer",
44
+ "e2e-test": "testing/e2e-test-engineer",
45
+ "mock": "testing/mocking-specialist",
46
+ "db": "database/database-engineer",
47
+ "sql": "database/sql-optimizer",
48
+ "postgres": "database/postgresql-specialist",
49
+ "mysql": "database/mysql-specialist",
50
+ "sqlserver": "database/sqlserver-specialist",
51
+ "redis": "database/redis-specialist",
52
+ "devops": "devops/devops-engineer",
53
+ "docker": "devops/docker-expert",
54
+ "k8s": "devops/kubernetes-specialist",
55
+ "git": "devops/git-expert",
56
+ "gitflow": "devops/git-flow-specialist",
57
+ "cicd": "devops/ci-cd-specialist",
58
+ "linux": "devops/linux-specialist",
59
+ "windows": "devops/windows-specialist",
60
+ "debug": "skills/debug-specialist",
61
+ "bug": "skills/bug-hunter",
62
+ "root-cause": "skills/root-cause-analyzer",
63
+ "professor": "teaching/professor-mode",
64
+ "mentor": "teaching/mentor-mode",
65
+ "explainer": "teaching/code-explainer",
66
+ "interactive": "teaching/interactive-teaching",
67
+ "adaptive": "teaching/adaptive-teaching",
68
+ "tracker": "teaching/learning-tracker",
69
+ "memory": "memory/memory-manager",
70
+ "session-compress": "memory/session-compression",
71
+ "summarizer": "memory/conversation-summarizer",
72
+ "recovery": "memory/context-recovery",
73
+ "recall": "memory/smart-recall",
74
+ "project-memory": "memory/long-term-project-memory",
75
+ "token-reduce": "optimization/token-reducer",
76
+ "prompt": "optimization/prompt-optimizer",
77
+ "cost": "optimization/cost-optimizer",
78
+ "requirements": "skills/requirement-analyzer",
79
+ "risk": "skills/risk-analyzer",
80
+ "deps": "skills/dependency-analyzer",
81
+ "tradeoff": "skills/tradeoff-analyzer",
82
+ "alternatives": "skills/alternative-solution-generator",
83
+ "docs": "skills/documentation-writer",
84
+ "tech-writer": "skills/technical-writer",
85
+ "readme": "skills/readme-generator",
86
+ "uml": "skills/uml-generator",
87
+ "sequence": "skills/sequence-diagram-builder",
88
+ "er": "skills/er-diagram-builder",
89
+ "pm": "skills/project-manager",
90
+ "planner": "skills/task-planner",
91
+ "release": "skills/release-planner",
92
+ "ux": "skills/ux-reviewer",
93
+ "a11y": "skills/accessibility-reviewer",
94
+ "logging": "skills/logging-expert",
95
+ "observability": "skills/observability-expert",
96
+ "monitoring": "skills/monitoring-specialist",
97
+ "self-fix": "skills/self-correction",
98
+ "self-critique": "skills/self-critique/SKILL",
99
+ "improvement": "skills/continuous-improvement",
100
+ "hallucination": "skills/hallucination-detection",
101
+ "confidence": "skills/confidence-estimator",
102
+ "learning": "skills/continuous-improvement/SKILL",
103
+ "principal": "skills/principal-engineer",
104
+ "staff": "skills/staff-engineer",
105
+ "techlead": "skills/tech-lead",
106
+ "cto": "skills/cto-advisor",
107
+ "quality-gates": "core/quality-gates",
108
+ "planning-engine": "core/planning-engine",
109
+ "context-engine": "core/context-engine",
110
+ "token-manager": "core/token-manager",
111
+ "compression-engine": "core/compression-engine",
112
+ "reflection-engine": "core/reflection-engine",
113
+ "evolution-engine": "core/evolution-engine",
114
+ "decision-engine": "core/decision-engine",
115
+ "ai-agent": "skills/ai-agent/SKILL",
116
+ "ai-agent-dev": "skills/ai-agent/SKILL",
117
+ "architecture-patterns": "skills/architecture-patterns/SKILL",
118
+ "chaos-engineering": "skills/chaos-engineering/SKILL",
119
+ "cloud-architect": "skills/cloud-infra/SKILL",
120
+ "cloud-infra": "skills/cloud-infra/SKILL",
121
+ "data-engineer": "skills/data-engineering/SKILL",
122
+ "data-engineering": "skills/data-engineering/SKILL",
123
+ "economia-tokens": "skills/economia-tokens/SKILL",
124
+ "feature-flags": "skills/feature-flags/SKILL",
125
+ "frontend-tokens": "skills/frontend/SKILL",
126
+ "frontend-dev": "skills/frontend/SKILL",
127
+ "graphql": "skills/graphql/SKILL",
128
+ "handoff-sessao": "skills/handoff-sessao/SKILL",
129
+ "i18n-l10n": "skills/i18n-l10n/SKILL",
130
+ "iac-terraform": "skills/iac-terraform/SKILL",
131
+ "legacy-migration": "skills/legacy-migration/SKILL",
132
+ "memoria-projeto": "skills/memoria-projeto/SKILL",
133
+ "mobile-dev": "skills/mobile-dev/SKILL",
134
+ "mobile-engineer": "skills/mobile-dev/SKILL",
135
+ "professor-modo": "skills/professor-modo/SKILL",
136
+ "qa-checklist": "skills/qa/SKILL",
137
+ "qa-engineer": "skills/qa/SKILL",
138
+ "security-privacy": "skills/security-privacy/SKILL",
139
+ "serverless-edge": "skills/serverless-edge/SKILL",
140
+ "sre-reliability": "skills/sre-reliability/SKILL",
141
+ "wasm": "skills/wasm/SKILL",
142
+ "web-perf-engineer": "skills/web-perf-seo/SKILL",
143
+ "web-perf-seo": "skills/web-perf-seo/SKILL",
144
+ "websocket-realtime": "skills/websocket-realtime/SKILL",
145
+ "animation-web": "skills/animation-web/SKILL",
146
+ "webgl-3d": "skills/webgl-3d/SKILL",
147
+ "motion-design": "skills/motion-design/SKILL",
148
+ "agentic-coding": "skills/agentic-coding/SKILL",
149
+ "mcp": "skills/mcp-server-dev",
150
+ "prompt-eng": "skills/prompt-engineering",
151
+ "code-auditor": "skills/code-auditor/SKILL",
152
+ "accessibility-reviewer": "skills/accessibility-reviewer/SKILL",
153
+ "alternative-solution-generator": "skills/alternative-solution-generator/SKILL",
154
+ "breaking-change-detector": "skills/breaking-change-detector/SKILL",
155
+ "bug-hunter": "skills/bug-hunter/SKILL",
156
+ "clean-code-validator": "skills/clean-code-validator/SKILL",
157
+ "complexity-analyzer": "skills/complexity-analyzer/SKILL",
158
+ "confidence-estimator": "skills/confidence-estimator/SKILL",
159
+ "continuous-improvement": "skills/continuous-improvement/SKILL",
160
+ "continuous-learning-engine": "skills/continuous-improvement/SKILL",
161
+ "cto-advisor": "skills/cto-advisor/SKILL",
162
+ "debug-specialist": "skills/debug-specialist/SKILL",
163
+ "dependency-analyzer": "skills/dependency-analyzer/SKILL",
164
+ "design-pattern-advisor": "skills/design-pattern-advisor/SKILL",
165
+ "documentation-writer": "skills/documentation-writer/SKILL",
166
+ "dry-kiss-yagni-validator": "skills/dry-kiss-yagni-validator/SKILL",
167
+ "er-diagram-builder": "skills/er-diagram-builder/SKILL",
168
+ "hallucination-detection": "skills/hallucination-detection/SKILL",
169
+ "logging-expert": "skills/logging-expert/SKILL",
170
+ "mcp-server-dev": "skills/mcp-server-dev/SKILL",
171
+ "monitoring-specialist": "skills/monitoring-specialist/SKILL",
172
+ "observability-expert": "skills/observability-expert/SKILL",
173
+ "performance-optimizer": "skills/performance-optimizer/SKILL",
174
+ "principal-engineer": "skills/principal-engineer/SKILL",
175
+ "project-manager": "skills/project-manager/SKILL",
176
+ "prompt-engineering": "skills/prompt-engineering/SKILL",
177
+ "qa": "skills/qa/SKILL",
178
+ "readme-generator": "skills/readme-generator/SKILL",
179
+ "refactoring-specialist": "skills/refactoring-specialist/SKILL",
180
+ "release-planner": "skills/release-planner/SKILL",
181
+ "requirement-analyzer": "skills/requirement-analyzer/SKILL",
182
+ "risk-analyzer": "skills/risk-analyzer/SKILL",
183
+ "root-cause-analyzer": "skills/root-cause-analyzer/SKILL",
184
+ "scalability-expert": "skills/scalability-expert/SKILL",
185
+ "self-correction": "skills/self-correction/SKILL",
186
+ "senior-code-reviewer": "skills/senior-code-reviewer/SKILL",
187
+ "sequence-diagram-builder": "skills/sequence-diagram-builder/SKILL",
188
+ "software-architect": "skills/software-architect/SKILL",
189
+ "solid-validator": "skills/solid-validator/SKILL",
190
+ "staff-engineer": "skills/staff-engineer/SKILL",
191
+ "task-planner": "skills/task-planner/SKILL",
192
+ "tech-lead": "skills/tech-lead/SKILL",
193
+ "technical-debt-analyzer": "skills/technical-debt-analyzer/SKILL",
194
+ "technical-writer": "skills/technical-writer/SKILL",
195
+ "tradeoff-analyzer": "skills/tradeoff-analyzer/SKILL",
196
+ "uml-generator": "skills/uml-generator/SKILL",
197
+ "ux-reviewer": "skills/ux-reviewer/SKILL",
198
+ "ui-ux-pro-max": "skills/ui-ux-pro-max/SKILL",
199
+ "brainstorming": "skills/brainstorming/SKILL",
200
+ "deep-research": "skills/deep-research/SKILL",
201
+ "webapp-testing": "skills/webapp-testing/SKILL",
202
+ "tdd": "skills/tdd/SKILL",
203
+ "design-system": "skills/ui-ux-pro-max/SKILL",
204
+ "requirement-discovery": "skills/brainstorming/SKILL",
205
+ "research": "skills/deep-research/SKILL",
206
+ "e2e": "skills/webapp-testing/SKILL",
207
+ "test-first": "skills/tdd/SKILL"
208
+ }
209
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generate-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-manifest.d.ts","sourceRoot":"","sources":["../../src/scripts/generate-manifest.ts"],"names":[],"mappings":""}
@@ -0,0 +1,140 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ /**
5
+ * Gera o catálogo `.manifest` do framework a partir do estado real do repositório:
6
+ * - versão vinda do package.json (nunca mais desatualizada)
7
+ * - agentes lidos de agents/*.json (id, nome, role, skills, chains)
8
+ * - skills resolvidas via core/skill-resolver.json com paths VALIDADOS
9
+ * (existe no disco: arquivo direto, .md ou SKILL.md)
10
+ *
11
+ * Uso: node dist/scripts/generate-manifest.js (roda no build/prepublishOnly)
12
+ */
13
+ const __filename = fileURLToPath(import.meta.url);
14
+ const __dirname = path.dirname(__filename);
15
+ const rootDir = path.resolve(__dirname, '..', '..');
16
+ function readJson(rel) {
17
+ return JSON.parse(fs.readFileSync(path.join(rootDir, rel), 'utf-8'));
18
+ }
19
+ /** Extrai o nome legível de uma skill a partir do frontmatter/heading do arquivo. */
20
+ function extractSkillName(filePath, fallback) {
21
+ try {
22
+ const head = fs.readFileSync(filePath, 'utf-8').slice(0, 400);
23
+ const m = head.match(/^#\s+([^\n]+)/m) || head.match(/^name:\s*["']?([^"'\n]+)/m);
24
+ if (m)
25
+ return m[1].replace(/^Skill:\s*/i, '').replace(/^Architecture:\s*/i, '').trim();
26
+ }
27
+ catch {
28
+ /* ignora */
29
+ }
30
+ return fallback
31
+ .split('-')
32
+ .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
33
+ .join(' ');
34
+ }
35
+ /** Resolve o path real de um target do resolver (com fallbacks), retornando null se não existir. */
36
+ function resolveTarget(rel) {
37
+ const candidates = [rel, rel + '.md', path.join(rel, 'SKILL.md')];
38
+ for (const c of candidates) {
39
+ const full = path.join(rootDir, c);
40
+ if (fs.existsSync(full) && fs.statSync(full).isFile())
41
+ return c.replace(/\\/g, '/');
42
+ }
43
+ return null;
44
+ }
45
+ function main() {
46
+ const pkg = readJson('package.json');
47
+ const resolver = readJson('core/skill-resolver.json');
48
+ const aliases = resolver.aliases || {};
49
+ // ---- Agents ----
50
+ const agentsDir = path.join(rootDir, 'agents');
51
+ const agents = [];
52
+ if (fs.existsSync(agentsDir)) {
53
+ for (const file of fs.readdirSync(agentsDir).filter((f) => f.endsWith('.json')).sort()) {
54
+ try {
55
+ const agent = JSON.parse(fs.readFileSync(path.join(agentsDir, file), 'utf-8'));
56
+ agents.push({
57
+ id: file.replace(/-agent\.json$/i, ''),
58
+ name: agent.name || file,
59
+ version: agent.version || '1.0.0',
60
+ file: `agents/${file}`,
61
+ role: agent.role || '',
62
+ skills: agent.skills || [],
63
+ chains: Object.keys(agent.chains || {}),
64
+ });
65
+ }
66
+ catch {
67
+ /* pula agentes quebrados */
68
+ }
69
+ }
70
+ }
71
+ // ---- Skills (agrupadas por categoria) ----
72
+ const categoryLabels = {
73
+ core: 'Core',
74
+ architecture: 'Architecture',
75
+ coding: 'Coding',
76
+ database: 'Database',
77
+ devops: 'DevOps',
78
+ memory: 'Memory',
79
+ optimization: 'Optimization',
80
+ security: 'Security',
81
+ skills: 'Skill Library',
82
+ teaching: 'Teaching',
83
+ testing: 'Testing',
84
+ };
85
+ const byCategory = new Map();
86
+ const seen = new Set();
87
+ for (const [alias, target] of Object.entries(aliases).sort()) {
88
+ if (seen.has(target))
89
+ continue; // alias já catalogado por outro nome
90
+ const resolved = resolveTarget(target);
91
+ if (!resolved)
92
+ continue; // só inclui o que existe (0 paths quebrados)
93
+ const category = target.split('/')[0];
94
+ const label = categoryLabels[category] || category;
95
+ const baseName = target.split('/').pop() || alias;
96
+ const displayName = extractSkillName(path.join(rootDir, resolved), baseName);
97
+ if (!byCategory.has(label))
98
+ byCategory.set(label, []);
99
+ byCategory.get(label).push({
100
+ id: alias,
101
+ name: displayName,
102
+ version: '1.0.0',
103
+ path: resolved,
104
+ });
105
+ seen.add(target);
106
+ }
107
+ const skills = [...byCategory.entries()].map(([name, list]) => ({
108
+ name,
109
+ count: list.length,
110
+ skills: list,
111
+ }));
112
+ const manifest = {
113
+ name: pkg.name,
114
+ version: pkg.version,
115
+ description: pkg.description,
116
+ author: pkg.author,
117
+ license: pkg.license,
118
+ homepage: pkg.homepage,
119
+ generatedAt: new Date().toISOString(),
120
+ agents,
121
+ skills,
122
+ };
123
+ fs.writeFileSync(path.join(rootDir, '.manifest'), JSON.stringify(manifest, null, 2) + '\n', 'utf-8');
124
+ // ---- Validação de saída ----
125
+ let broken = 0;
126
+ const check = (rel) => {
127
+ if (!fs.existsSync(path.join(rootDir, rel)))
128
+ broken++;
129
+ };
130
+ agents.forEach((a) => check(a.file));
131
+ skills.forEach((section) => section.skills.forEach((s) => check(s.path)));
132
+ if (broken > 0) {
133
+ console.error(`\x1b[31m✖ generate-manifest: ${broken} paths inexistentes no manifesto!\x1b[0m`);
134
+ process.exit(1);
135
+ }
136
+ console.log(`\x1b[32m✔ .manifest regenerado (v${pkg.version}): ${agents.length} agents, ` +
137
+ `${skills.reduce((n, s) => n + s.skills.length, 0)} skills, ${skills.length} categorias.\x1b[0m`);
138
+ }
139
+ main();
140
+ //# sourceMappingURL=generate-manifest.js.map