@jaimevalasek/aioson 1.7.0 → 1.8.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.
- package/CHANGELOG.md +60 -0
- package/README.md +153 -10
- package/docs/en/cli-reference.md +56 -1
- package/docs/en/i18n.md +18 -18
- package/docs/en/schemas/index.json +10 -0
- package/docs/en/schemas/parallel-assign.schema.json +9 -0
- package/docs/en/schemas/parallel-doctor.schema.json +36 -0
- package/docs/en/schemas/parallel-guard.schema.json +63 -0
- package/docs/en/schemas/parallel-merge.schema.json +84 -0
- package/docs/en/schemas/parallel-status.schema.json +91 -1
- package/docs/integrations/apps-publish-marketplace.md +94 -0
- package/docs/pt/README.md +9 -0
- package/docs/pt/agentes.md +324 -3
- package/docs/pt/clientes-ai.md +7 -3
- package/docs/pt/comandos-cli.md +160 -13
- package/docs/pt/compress-agents.md +304 -0
- package/docs/pt/design-docs-governance.md +59 -0
- package/docs/pt/feature-archive.md +191 -0
- package/docs/pt/genome-3.0-spec.md +115 -4
- package/docs/pt/genome-distribution.md +232 -0
- package/docs/pt/inicio-rapido.md +1 -0
- package/docs/pt/motor-hardening.md +492 -0
- package/docs/pt/runner-system.md +113 -0
- package/package.json +2 -1
- package/src/agent-manifests.js +66 -0
- package/src/agents.js +27 -7
- package/src/autonomy-policy.js +139 -0
- package/src/brain-query.js +161 -0
- package/src/cli.js +1377 -1099
- package/src/commands/agents.js +102 -7
- package/src/commands/artifact-validate.js +33 -4
- package/src/commands/auth.js +272 -0
- package/src/commands/brain-query.js +44 -0
- package/src/commands/briefing.js +344 -0
- package/src/commands/commit-prepare.js +547 -0
- package/src/commands/compress-agents.js +416 -0
- package/src/commands/context-health.js +4 -2
- package/src/commands/context-trim.js +17 -11
- package/src/commands/design-hybrid-options.js +3 -3
- package/src/commands/devlog-process.js +6 -4
- package/src/commands/dossier.js +423 -0
- package/src/commands/feature-archive.js +513 -0
- package/src/commands/feature-close.js +123 -18
- package/src/commands/gate-approve.js +198 -0
- package/src/commands/gate-check.js +24 -5
- package/src/commands/genome-doctor.js +166 -9
- package/src/commands/git-guard.js +170 -0
- package/src/commands/harness.js +121 -0
- package/src/commands/implementation-plan.js +47 -20
- package/src/commands/init.js +6 -2
- package/src/commands/install.js +6 -2
- package/src/commands/live.js +497 -56
- package/src/commands/locale-apply.js +9 -6
- package/src/commands/locale-diff.js +11 -112
- package/src/commands/mcp-doctor.js +2 -1
- package/src/commands/mcp-init.js +4 -10
- package/src/commands/memory.js +234 -0
- package/src/commands/parallel-assign.js +107 -27
- package/src/commands/parallel-doctor.js +416 -3
- package/src/commands/parallel-guard.js +241 -0
- package/src/commands/parallel-init.js +66 -4
- package/src/commands/parallel-merge.js +299 -0
- package/src/commands/parallel-status.js +147 -3
- package/src/commands/preflight.js +63 -4
- package/src/commands/qa-init.js +10 -5
- package/src/commands/revision.js +235 -0
- package/src/commands/scaffold-complete.js +188 -0
- package/src/commands/security-audit.js +275 -0
- package/src/commands/security-scan.js +376 -0
- package/src/commands/self-implement-loop.js +46 -2
- package/src/commands/setup-context.js +11 -10
- package/src/commands/squad-agent-create.js +51 -9
- package/src/commands/squad-investigate.js +53 -0
- package/src/commands/squad-plan.js +33 -1
- package/src/commands/squad-scaffold.js +4 -3
- package/src/commands/squad-score.js +71 -14
- package/src/commands/squad-status.js +22 -1
- package/src/commands/squad-validate.js +93 -2
- package/src/commands/store-genome.js +304 -0
- package/src/commands/store-skill.js +247 -0
- package/src/commands/store-squad.js +431 -0
- package/src/commands/store-system.js +392 -0
- package/src/commands/tool-capabilities.js +63 -0
- package/src/commands/update.js +3 -3
- package/src/commands/verify-gate.js +40 -0
- package/src/commands/workflow-execute.js +644 -155
- package/src/commands/workflow-harden.js +231 -0
- package/src/commands/workflow-heal.js +136 -0
- package/src/commands/workflow-next.js +460 -22
- package/src/commands/workflow-status.js +328 -138
- package/src/commands/workspace.js +144 -0
- package/src/constants.js +55 -75
- package/src/context-memory.js +133 -4
- package/src/context-writer.js +2 -1
- package/src/context.js +32 -2
- package/src/doctor.js +46 -6
- package/src/dossier/codemap-store.js +267 -0
- package/src/dossier/dossier-bootstrap.js +222 -0
- package/src/dossier/dossier-compact.js +159 -0
- package/src/dossier/lock.js +128 -0
- package/src/dossier/revision-store.js +313 -0
- package/src/dossier/schema.js +155 -0
- package/src/dossier/store.js +400 -0
- package/src/execution-gateway.js +3 -0
- package/src/friction-scanner.js +202 -0
- package/src/genome-schema.js +24 -1
- package/src/genomes.js +33 -0
- package/src/handoff-contract.js +363 -0
- package/src/handoff-validator.js +45 -0
- package/src/harness/circuit-breaker.js +135 -0
- package/src/i18n/messages/en.js +317 -22
- package/src/i18n/messages/es.js +259 -18
- package/src/i18n/messages/fr.js +260 -18
- package/src/i18n/messages/pt-BR.js +313 -22
- package/src/install-profile.js +0 -16
- package/src/installer.js +70 -6
- package/src/lib/git-commit-guard.js +691 -0
- package/src/lib/security/artifact-reader.js +167 -0
- package/src/lib/security/exit-codes.js +51 -0
- package/src/lib/security/findings-writer.js +176 -0
- package/src/lib/security/runtime-events.js +77 -0
- package/src/lib/security/secrets-regex.js +115 -0
- package/src/lib/store/security-scan.js +173 -0
- package/src/lib/terminal-checkbox.js +130 -0
- package/src/lib/tmux-launcher.js +163 -0
- package/src/lib/tool-capabilities.js +102 -0
- package/src/locales.js +12 -8
- package/src/parallel-workspace.js +756 -0
- package/src/parser.js +8 -1
- package/src/path-guard.js +47 -0
- package/src/preflight-engine.js +237 -26
- package/src/self-healing.js +142 -0
- package/src/session-handoff.js +111 -1
- package/src/squad/squad-scaffold.js +183 -19
- package/src/test-briefing.js +226 -0
- package/src/updater.js +1 -1
- package/src/utils.js +3 -0
- package/src/workflow-gates.js +185 -0
- package/template/.aioson/agents/analyst.md +76 -130
- package/template/.aioson/agents/architect.md +53 -86
- package/template/.aioson/agents/committer.md +161 -0
- package/template/.aioson/agents/copywriter.md +463 -0
- package/template/.aioson/agents/cypher.md +252 -0
- package/template/.aioson/agents/dev.md +112 -600
- package/template/.aioson/agents/deyvin.md +33 -235
- package/template/.aioson/agents/discover.md +235 -0
- package/template/.aioson/agents/discovery-design-doc.md +17 -252
- package/template/.aioson/agents/genome.md +76 -26
- package/template/.aioson/agents/manifests/analyst.manifest.json +26 -0
- package/template/.aioson/agents/manifests/architect.manifest.json +23 -0
- package/template/.aioson/agents/manifests/committer.manifest.json +23 -0
- package/template/.aioson/agents/manifests/dev.manifest.json +37 -0
- package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -0
- package/template/.aioson/agents/manifests/pentester.manifest.json +39 -0
- package/template/.aioson/agents/manifests/pm.manifest.json +26 -0
- package/template/.aioson/agents/manifests/product.manifest.json +23 -0
- package/template/.aioson/agents/manifests/qa.manifest.json +25 -0
- package/template/.aioson/agents/manifests/setup.manifest.json +20 -0
- package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -0
- package/template/.aioson/agents/neo.md +10 -8
- package/template/.aioson/agents/orache.md +2 -6
- package/template/.aioson/agents/orchestrator.md +81 -182
- package/template/.aioson/agents/pentester.md +235 -0
- package/template/.aioson/agents/pm.md +40 -104
- package/template/.aioson/agents/product.md +99 -344
- package/template/.aioson/agents/profiler-enricher.md +57 -6
- package/template/.aioson/agents/profiler-forge.md +17 -7
- package/template/.aioson/agents/profiler-researcher.md +29 -6
- package/template/.aioson/agents/qa.md +165 -410
- package/template/.aioson/agents/setup.md +52 -262
- package/template/.aioson/agents/sheldon.md +122 -754
- package/template/.aioson/agents/site-forge.md +111 -1583
- package/template/.aioson/agents/squad.md +139 -1820
- package/template/.aioson/agents/tester.md +10 -0
- package/template/.aioson/agents/ux-ui.md +103 -645
- package/template/.aioson/agents/validator.md +69 -0
- package/template/.aioson/brains/scripts/query.js +5 -1
- package/template/.aioson/config/autonomy-protocol.json +43 -0
- package/template/.aioson/config.md +43 -15
- package/template/.aioson/constitution.md +36 -33
- package/template/.aioson/context/design-doc.md +136 -0
- package/template/.aioson/context/project-map.md +57 -0
- package/template/.aioson/design-docs/code-reuse.md +48 -0
- package/template/.aioson/design-docs/componentization.md +47 -0
- package/template/.aioson/design-docs/file-size.md +52 -0
- package/template/.aioson/design-docs/folder-structure.md +51 -0
- package/template/.aioson/design-docs/naming.md +54 -0
- package/template/.aioson/docs/LAYERS.md +12 -2
- package/template/.aioson/docs/dev/execution-discipline.md +106 -0
- package/template/.aioson/docs/dev/stack-conventions.md +83 -0
- package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -0
- package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -0
- package/template/.aioson/docs/deyvin/pair-execution.md +44 -0
- package/template/.aioson/docs/deyvin/runtime-handoffs.md +36 -0
- package/template/.aioson/docs/product/conversation-playbook.md +116 -0
- package/template/.aioson/docs/product/prd-contract.md +107 -0
- package/template/.aioson/docs/product/quality-lens.md +57 -0
- package/template/.aioson/docs/product/research-loop.md +65 -0
- package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -0
- package/template/.aioson/docs/sheldon/quality-lens.md +57 -0
- package/template/.aioson/docs/sheldon/research-loop.md +56 -0
- package/template/.aioson/docs/sheldon/web-intelligence.md +75 -0
- package/template/.aioson/docs/site-forge-build.md +195 -0
- package/template/.aioson/docs/site-forge-extraction.md +135 -0
- package/template/.aioson/docs/site-forge-qa.md +155 -0
- package/template/.aioson/docs/site-forge-recon.md +434 -0
- package/template/.aioson/docs/site-forge-transform.md +249 -0
- package/template/.aioson/docs/squad/content-output.md +91 -0
- package/template/.aioson/docs/squad/creation-flow.md +135 -0
- package/template/.aioson/docs/squad/domain-classification.md +117 -0
- package/template/.aioson/docs/squad/genome-bindings.md +47 -0
- package/template/.aioson/docs/squad/package-contract.md +234 -0
- package/template/.aioson/docs/squad/quality-lens.md +56 -0
- package/template/.aioson/docs/squad/research-loop.md +59 -0
- package/template/.aioson/docs/squad/session-operations.md +117 -0
- package/template/.aioson/docs/squad/workflow-quality.md +165 -0
- package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -0
- package/template/.aioson/docs/ux-ui/audit-mode.md +86 -0
- package/template/.aioson/docs/ux-ui/component-map.md +35 -0
- package/template/.aioson/docs/ux-ui/design-execution.md +111 -0
- package/template/.aioson/docs/ux-ui/design-gate.md +27 -0
- package/template/.aioson/docs/ux-ui/research-mode.md +39 -0
- package/template/.aioson/docs/ux-ui/site-delivery.md +156 -0
- package/template/.aioson/docs/ux-ui/token-contract.md +57 -0
- package/template/.aioson/genomes/copywriting.md +204 -0
- package/template/.aioson/genomes/copywriting.meta.json +48 -0
- package/template/.aioson/git-guard.json +11 -0
- package/template/.aioson/mcp/servers.md +0 -1
- package/template/.aioson/rules/agent-language-policy.md +93 -0
- package/template/.aioson/rules/aioson-context-boundary.md +63 -0
- package/template/.aioson/rules/canonical-path-contract.md +47 -0
- package/template/.aioson/rules/data-format-convention.md +24 -86
- package/template/.aioson/rules/disk-first-artifacts.md +44 -0
- package/template/.aioson/rules/output-brevity.md +44 -0
- package/template/.aioson/rules/prd-section-ownership.md +49 -0
- package/template/.aioson/rules/security-baseline.md +139 -0
- package/template/.aioson/rules/spec-level-ownership.md +61 -0
- package/template/.aioson/rules/squad-driver-pattern.md +81 -0
- package/template/.aioson/schemas/squad-blueprint.schema.json +24 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +44 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +2 -0
- package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -0
- package/template/.aioson/skills/marketing/references/fascinations.md +192 -0
- package/template/.aioson/skills/marketing/references/five-acts.md +248 -0
- package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -0
- package/template/.aioson/skills/marketing/references/offer-structure.md +203 -0
- package/template/.aioson/skills/marketing/references/one-belief.md +149 -0
- package/template/.aioson/skills/marketing/references/patterns.md +218 -0
- package/template/.aioson/skills/marketing/references/pms-research.md +193 -0
- package/template/.aioson/skills/marketing/vsl-craft.md +385 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -0
- package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -0
- package/template/.aioson/skills/process/secure-tdd/references/nextjs.md +81 -0
- package/template/.aioson/skills/process/secure-tdd/references/node-express.md +91 -0
- package/template/.aioson/skills/process/secure-tdd/references/planned-stacks.md +33 -0
- package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -0
- package/template/.aioson/skills/static/landing-page-deploy.md +192 -0
- package/template/.aioson/skills/static/landing-page-forge.md +730 -0
- package/template/.aioson/skills/static/ui-ux-modern.md +1 -0
- package/template/.aioson/skills/static/web-research-cache.md +3 -0
- package/template/.aioson/tasks/squad-create.md +56 -7
- package/template/.aioson/tasks/squad-design.md +80 -2
- package/template/.aioson/tasks/squad-investigate.md +14 -1
- package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -0
- package/template/.claude/commands/aioson/agent/committer.md +5 -0
- package/template/.claude/commands/aioson/agent/copywriter.md +5 -0
- package/template/.claude/commands/aioson/agent/cypher.md +5 -0
- package/template/.claude/commands/aioson/agent/pair.md +5 -0
- package/template/.claude/commands/aioson/agent/validator.md +5 -0
- package/template/.gemini/commands/aios-analyst.toml +6 -3
- package/template/.gemini/commands/aios-architect.toml +7 -6
- package/template/.gemini/commands/aios-committer.toml +7 -0
- package/template/.gemini/commands/aios-copywriter.toml +7 -0
- package/template/.gemini/commands/aios-cypher.toml +7 -0
- package/template/.gemini/commands/aios-dev.toml +8 -7
- package/template/.gemini/commands/aios-deyvin.toml +6 -5
- package/template/.gemini/commands/aios-discovery-design-doc.toml +6 -3
- package/template/.gemini/commands/aios-genome.toml +7 -0
- package/template/.gemini/commands/aios-neo.toml +5 -3
- package/template/.gemini/commands/aios-orache.toml +7 -0
- package/template/.gemini/commands/aios-orchestrator.toml +8 -7
- package/template/.gemini/commands/aios-pair.toml +6 -5
- package/template/.gemini/commands/aios-pm.toml +8 -7
- package/template/.gemini/commands/aios-product.toml +5 -3
- package/template/.gemini/commands/aios-qa.toml +6 -5
- package/template/.gemini/commands/aios-setup.toml +5 -2
- package/template/.gemini/commands/aios-sheldon.toml +7 -0
- package/template/.gemini/commands/aios-site-forge.toml +7 -0
- package/template/.gemini/commands/aios-squad.toml +7 -0
- package/template/.gemini/commands/aios-tester.toml +6 -5
- package/template/.gemini/commands/aios-ux-ui.toml +8 -7
- package/template/.gemini/commands/aios-validator.toml +7 -0
- package/template/AGENTS.md +12 -1
- package/template/CLAUDE.md +6 -1
- package/template/.aioson/locales/en/agents/analyst.md +0 -244
- package/template/.aioson/locales/en/agents/architect.md +0 -245
- package/template/.aioson/locales/en/agents/dev.md +0 -397
- package/template/.aioson/locales/en/agents/deyvin.md +0 -137
- package/template/.aioson/locales/en/agents/discovery-design-doc.md +0 -27
- package/template/.aioson/locales/en/agents/genome.md +0 -212
- package/template/.aioson/locales/en/agents/neo.md +0 -8
- package/template/.aioson/locales/en/agents/orache.md +0 -6
- package/template/.aioson/locales/en/agents/orchestrator.md +0 -189
- package/template/.aioson/locales/en/agents/pair.md +0 -5
- package/template/.aioson/locales/en/agents/pm.md +0 -84
- package/template/.aioson/locales/en/agents/product.md +0 -378
- package/template/.aioson/locales/en/agents/profiler-enricher.md +0 -5
- package/template/.aioson/locales/en/agents/profiler-forge.md +0 -5
- package/template/.aioson/locales/en/agents/profiler-researcher.md +0 -5
- package/template/.aioson/locales/en/agents/qa.md +0 -270
- package/template/.aioson/locales/en/agents/setup.md +0 -421
- package/template/.aioson/locales/en/agents/sheldon.md +0 -455
- package/template/.aioson/locales/en/agents/squad.md +0 -449
- package/template/.aioson/locales/en/agents/tester.md +0 -6
- package/template/.aioson/locales/en/agents/ux-ui.md +0 -668
- package/template/.aioson/locales/es/agents/analyst.md +0 -225
- package/template/.aioson/locales/es/agents/architect.md +0 -245
- package/template/.aioson/locales/es/agents/dev.md +0 -370
- package/template/.aioson/locales/es/agents/deyvin.md +0 -99
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +0 -21
- package/template/.aioson/locales/es/agents/genome.md +0 -104
- package/template/.aioson/locales/es/agents/neo.md +0 -50
- package/template/.aioson/locales/es/agents/orache.md +0 -105
- package/template/.aioson/locales/es/agents/orchestrator.md +0 -194
- package/template/.aioson/locales/es/agents/pair.md +0 -7
- package/template/.aioson/locales/es/agents/pm.md +0 -90
- package/template/.aioson/locales/es/agents/product.md +0 -372
- package/template/.aioson/locales/es/agents/profiler-enricher.md +0 -7
- package/template/.aioson/locales/es/agents/profiler-forge.md +0 -7
- package/template/.aioson/locales/es/agents/profiler-researcher.md +0 -7
- package/template/.aioson/locales/es/agents/qa.md +0 -198
- package/template/.aioson/locales/es/agents/setup.md +0 -405
- package/template/.aioson/locales/es/agents/sheldon.md +0 -309
- package/template/.aioson/locales/es/agents/squad.md +0 -532
- package/template/.aioson/locales/es/agents/tester.md +0 -9
- package/template/.aioson/locales/es/agents/ux-ui.md +0 -212
- package/template/.aioson/locales/fr/agents/analyst.md +0 -225
- package/template/.aioson/locales/fr/agents/architect.md +0 -245
- package/template/.aioson/locales/fr/agents/dev.md +0 -370
- package/template/.aioson/locales/fr/agents/deyvin.md +0 -99
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +0 -21
- package/template/.aioson/locales/fr/agents/genome.md +0 -104
- package/template/.aioson/locales/fr/agents/neo.md +0 -50
- package/template/.aioson/locales/fr/agents/orache.md +0 -106
- package/template/.aioson/locales/fr/agents/orchestrator.md +0 -194
- package/template/.aioson/locales/fr/agents/pair.md +0 -7
- package/template/.aioson/locales/fr/agents/pm.md +0 -90
- package/template/.aioson/locales/fr/agents/product.md +0 -372
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +0 -7
- package/template/.aioson/locales/fr/agents/profiler-forge.md +0 -7
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +0 -7
- package/template/.aioson/locales/fr/agents/qa.md +0 -198
- package/template/.aioson/locales/fr/agents/setup.md +0 -405
- package/template/.aioson/locales/fr/agents/sheldon.md +0 -309
- package/template/.aioson/locales/fr/agents/squad.md +0 -532
- package/template/.aioson/locales/fr/agents/tester.md +0 -9
- package/template/.aioson/locales/fr/agents/ux-ui.md +0 -212
- package/template/.aioson/locales/pt-BR/agents/analyst.md +0 -319
- package/template/.aioson/locales/pt-BR/agents/architect.md +0 -284
- package/template/.aioson/locales/pt-BR/agents/dev.md +0 -483
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +0 -184
- package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +0 -198
- package/template/.aioson/locales/pt-BR/agents/genome.md +0 -297
- package/template/.aioson/locales/pt-BR/agents/neo.md +0 -208
- package/template/.aioson/locales/pt-BR/agents/orache.md +0 -137
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +0 -324
- package/template/.aioson/locales/pt-BR/agents/pair.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/pm.md +0 -182
- package/template/.aioson/locales/pt-BR/agents/product.md +0 -466
- package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/qa.md +0 -300
- package/template/.aioson/locales/pt-BR/agents/setup.md +0 -533
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +0 -323
- package/template/.aioson/locales/pt-BR/agents/squad.md +0 -1330
- package/template/.aioson/locales/pt-BR/agents/tester.md +0 -449
- package/template/.aioson/locales/pt-BR/agents/ux-ui.md +0 -669
- package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# secure-tdd reference: planned stacks
|
|
2
|
+
|
|
3
|
+
These stacks are in v1 as planned or minimal references only. They should not block the release of `secure-tdd`.
|
|
4
|
+
|
|
5
|
+
## Laravel / Pest
|
|
6
|
+
|
|
7
|
+
- Preferred runner: Pest
|
|
8
|
+
- Minimum attacks to cover: IDOR / policy bypass, server-side validation, unsafe upload, double-submit on critical state
|
|
9
|
+
- Minimal pattern: feature tests hitting routes or actions with unauthorized users and invalid payloads
|
|
10
|
+
|
|
11
|
+
## Django / Pytest
|
|
12
|
+
|
|
13
|
+
- Preferred runner: pytest
|
|
14
|
+
- Minimum attacks to cover: auth bypass, object-level access control, forged form / serializer payloads, unsafe redirects
|
|
15
|
+
- Minimal pattern: request-level tests plus service-level tests for critical state transitions
|
|
16
|
+
|
|
17
|
+
## Rails / RSpec
|
|
18
|
+
|
|
19
|
+
- Preferred runner: RSpec
|
|
20
|
+
- Minimum attacks to cover: ownership checks, server-side validation, double-submit, redirect sanitization
|
|
21
|
+
- Minimal pattern: request specs for auth/ownership and model/service specs for critical state
|
|
22
|
+
|
|
23
|
+
## FastAPI / Pytest
|
|
24
|
+
|
|
25
|
+
- Preferred runner: pytest
|
|
26
|
+
- Minimum attacks to cover: auth bypass, Pydantic boundary validation, IDOR, external URL handling, concurrent mutation
|
|
27
|
+
- Minimal pattern: TestClient request tests plus async service tests when concurrency matters
|
|
28
|
+
|
|
29
|
+
## Rule for all planned stacks
|
|
30
|
+
|
|
31
|
+
- Do not invent a full template until the stack is actively needed.
|
|
32
|
+
- Keep the first implementation narrow: runner expectation, attacks to cover, and the minimum assertion style.
|
|
33
|
+
- If a future phase expands one of these stacks, split it into its own dedicated reference file.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Skill: Harness-Driven Validation (pt-BR)
|
|
2
|
+
|
|
3
|
+
> **Uso:** Implementação e Verificação Contratual (Padrão Nautilus).
|
|
4
|
+
> **Agentes:** @dev, @validator.
|
|
5
|
+
> **Contexto:** Projetos MEDIUM ou com `harness-contract.json` presente.
|
|
6
|
+
|
|
7
|
+
## Missão
|
|
8
|
+
Garantir que o ciclo de implementação do implementador (@dev) seja fechado com uma validação imparcial do validador (@validator) antes de qualquer entrega ser considerada concluída.
|
|
9
|
+
|
|
10
|
+
## Fluxo de Trabalho do @dev (Harness-Aware)
|
|
11
|
+
|
|
12
|
+
### 1. Início de Tarefa
|
|
13
|
+
Antes de escrever o primeiro arquivo de uma feature, verifique se o Harness está inicializado:
|
|
14
|
+
```bash
|
|
15
|
+
aioson harness:init . --slug=<feature-slug>
|
|
16
|
+
```
|
|
17
|
+
Isso criará o contrato stube em `.aioson/plans/<slug>/harness-contract.json`.
|
|
18
|
+
|
|
19
|
+
### 2. Implementação com Feedback
|
|
20
|
+
Sempre que concluir um slice lógico (ex: uma migration, um service, uma rota), execute a validação:
|
|
21
|
+
```bash
|
|
22
|
+
aioson harness:validate . --slug=<feature-slug>
|
|
23
|
+
```
|
|
24
|
+
O sistema invocará o `@validator` em um processo separado. O resultado será injetado no seu `progress.json`.
|
|
25
|
+
|
|
26
|
+
### 3. Recuperação de Falhas (Circuit Breaker)
|
|
27
|
+
Se a validação falhar:
|
|
28
|
+
- Leia o campo `last_error` em `progress.json`.
|
|
29
|
+
- Corrija apenas o ponto indicado pelo erro.
|
|
30
|
+
- Re-valide imediatamente.
|
|
31
|
+
- **Aviso:** Se falhar repetidamente (conforme `error_streak_limit`), o sistema abrirá o circuito (`OPEN`) e você não poderá continuar sem a intervenção explícita do usuário.
|
|
32
|
+
|
|
33
|
+
## Done Gate
|
|
34
|
+
O `@dev` não deve tentar marcar a feature como `done` em `features.md` manualmente. O gateway bloqueará a alteração se:
|
|
35
|
+
1. Um `harness-contract.json` existir.
|
|
36
|
+
2. E o `progress.json` não tiver `ready_for_done_gate: true`.
|
|
37
|
+
|
|
38
|
+
## Melhores Práticas
|
|
39
|
+
- **Commits Atômicos:** Faça commit após cada `harness:validate` bem-sucedido.
|
|
40
|
+
- **Contratos Binários:** No contrato, prefira critérios que possam ser validados mecanicamente (arquivos, assinaturas, testes).
|
|
41
|
+
- **Isolamento de Contexto:** Nunca tente "explicar" seu código para o `@validator` através de comentários. O validador deve julgar apenas o arquivo final e o contrato.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
## Referências
|
|
45
|
+
- [Doc] Padrão Nautilus & PBQ — `.aioson/docs/integrations/harness-engineering.md`
|
|
46
|
+
- [CLI] Comandos `harness:init` e `harness:validate` — `/help`
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: landing-page-deploy
|
|
3
|
+
description: Deploy workflows for landing pages and static sites — Vercel (Git-connected, CDN) and Hostinger VPS (LiteSpeed). Load when the user asks to deploy a site or when project_type=site is ready for production.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Landing Page Deploy
|
|
7
|
+
|
|
8
|
+
Two production-ready deploy paths. Choose based on where your domain is registered and your cost preference.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Path A — Vercel (recommended for Cloudflare domains + automated CI/CD)
|
|
13
|
+
|
|
14
|
+
**Requirements:**
|
|
15
|
+
- Vercel account (Pro plan minimum — $20/mo — for custom domain on production)
|
|
16
|
+
- Domain registered in Cloudflare (or any DNS provider with CNAME/A record access)
|
|
17
|
+
- Git repository (GitHub, GitLab, or Bitbucket)
|
|
18
|
+
|
|
19
|
+
### Step A1 — Create Vercel project
|
|
20
|
+
```bash
|
|
21
|
+
# If Vercel CLI is installed
|
|
22
|
+
vercel login
|
|
23
|
+
vercel --prod
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Or via dashboard: vercel.com → New Project → Import Git Repository
|
|
27
|
+
|
|
28
|
+
### Step A2 — Configure project settings
|
|
29
|
+
- Framework Preset: `Other` (for plain HTML) or the correct framework
|
|
30
|
+
- Build Command: leave blank for plain HTML
|
|
31
|
+
- Output Directory: `.` or `dist` (wherever index.html lives)
|
|
32
|
+
- Install Command: leave blank for plain HTML
|
|
33
|
+
|
|
34
|
+
### Step A3 — Connect domain (Cloudflare DNS)
|
|
35
|
+
1. In Vercel: Settings → Domains → Add `yourdomain.com` and `www.yourdomain.com`
|
|
36
|
+
2. Vercel shows you DNS records to add
|
|
37
|
+
3. In Cloudflare: DNS → Add records as shown by Vercel
|
|
38
|
+
- Type A: `@` → Vercel IP (proxied OFF — orange cloud OFF for Vercel)
|
|
39
|
+
- Type CNAME: `www` → `cname.vercel-dns.com`
|
|
40
|
+
4. Wait for propagation (5–30 min)
|
|
41
|
+
|
|
42
|
+
### Step A4 — Verify SSL
|
|
43
|
+
Vercel auto-provisions SSL via Let's Encrypt. Verify:
|
|
44
|
+
- `https://yourdomain.com` loads without warnings
|
|
45
|
+
- `https://www.yourdomain.com` redirects correctly
|
|
46
|
+
|
|
47
|
+
### Step A5 — Set environment variables (if needed)
|
|
48
|
+
Vercel Dashboard → Settings → Environment Variables
|
|
49
|
+
Add tracking IDs, API keys as env vars — never hardcode them.
|
|
50
|
+
|
|
51
|
+
### Step A6 — Post-deploy validation checklist
|
|
52
|
+
- [ ] Production URL loads correctly
|
|
53
|
+
- [ ] SSL certificate active (green padlock)
|
|
54
|
+
- [ ] www → non-www redirect working (or vice versa — consistent)
|
|
55
|
+
- [ ] Preview URL from Vercel PR/branch works
|
|
56
|
+
- [ ] Analytics receiving data (Vercel Analytics or GA)
|
|
57
|
+
- [ ] Meta Pixel fires on production URL (verify with Pixel Helper)
|
|
58
|
+
- [ ] GTM fires on production URL (verify with Tag Assistant)
|
|
59
|
+
- [ ] Test UTM: `https://yourdomain.com?utm_source=test` → check sessionStorage
|
|
60
|
+
|
|
61
|
+
### Vercel MCP integration (for automated deploy from Claude Code)
|
|
62
|
+
If the Vercel MCP is configured in Claude Code:
|
|
63
|
+
```
|
|
64
|
+
# Deploy current project to Vercel production
|
|
65
|
+
vercel deploy --prod
|
|
66
|
+
```
|
|
67
|
+
Claude Code can trigger deploys directly via MCP without leaving the session.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Path B — Hostinger VPS (recommended for BRL billing + Brazilian users)
|
|
72
|
+
|
|
73
|
+
**Requirements:**
|
|
74
|
+
- Hostinger VPS plan (R$29.90+/mo, includes free domain on some plans)
|
|
75
|
+
- Domain registered in Hostinger (or any DNS provider)
|
|
76
|
+
- SSH access to the VPS
|
|
77
|
+
|
|
78
|
+
### Step B1 — Prepare VPS
|
|
79
|
+
```bash
|
|
80
|
+
# SSH into VPS
|
|
81
|
+
ssh root@YOUR_VPS_IP
|
|
82
|
+
|
|
83
|
+
# Update system
|
|
84
|
+
apt update && apt upgrade -y
|
|
85
|
+
|
|
86
|
+
# Install LiteSpeed (or use OpenLiteSpeed — pre-installed on some plans)
|
|
87
|
+
# Check if already installed
|
|
88
|
+
litespeed -v
|
|
89
|
+
|
|
90
|
+
# Create site directory
|
|
91
|
+
mkdir -p /var/www/yourdomain.com/public_html
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Step B2 — Upload site files
|
|
95
|
+
```bash
|
|
96
|
+
# From local machine — upload entire site folder
|
|
97
|
+
scp -r ./dist/* root@YOUR_VPS_IP:/var/www/yourdomain.com/public_html/
|
|
98
|
+
|
|
99
|
+
# Or use rsync for incremental updates
|
|
100
|
+
rsync -avz --delete ./dist/ root@YOUR_VPS_IP:/var/www/yourdomain.com/public_html/
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Step B3 — Configure virtual host (LiteSpeed)
|
|
104
|
+
Via Hostinger hPanel → Websites → Add Website → point to your folder.
|
|
105
|
+
|
|
106
|
+
Or via CLI if you have direct LiteSpeed access:
|
|
107
|
+
```
|
|
108
|
+
# /usr/local/lsws/conf/vhosts/yourdomain.com/vhconf.conf
|
|
109
|
+
docRoot /var/www/yourdomain.com/public_html/
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Step B4 — SSL certificate
|
|
113
|
+
```bash
|
|
114
|
+
# Using Let's Encrypt via certbot
|
|
115
|
+
apt install certbot python3-certbot-apache -y
|
|
116
|
+
certbot --apache -d yourdomain.com -d www.yourdomain.com
|
|
117
|
+
|
|
118
|
+
# Auto-renewal
|
|
119
|
+
certbot renew --dry-run
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Or use Hostinger's built-in SSL (hPanel → SSL → Free SSL).
|
|
123
|
+
|
|
124
|
+
### Step B5 — Set up domain DNS
|
|
125
|
+
In Hostinger hPanel → Domains → DNS Zone:
|
|
126
|
+
- Type A: `@` → your VPS IP
|
|
127
|
+
- Type A: `www` → your VPS IP
|
|
128
|
+
|
|
129
|
+
Or in Cloudflare if domain is there:
|
|
130
|
+
- Type A: `@` → VPS IP (proxied ON for DDoS protection)
|
|
131
|
+
- Type A: `www` → VPS IP (proxied ON)
|
|
132
|
+
|
|
133
|
+
### Step B6 — Start web service
|
|
134
|
+
```bash
|
|
135
|
+
# LiteSpeed
|
|
136
|
+
service lsws start
|
|
137
|
+
|
|
138
|
+
# Verify site is accessible
|
|
139
|
+
curl -I https://yourdomain.com
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Step B7 — Post-deploy validation checklist
|
|
143
|
+
- [ ] Production URL loads correctly
|
|
144
|
+
- [ ] SSL active (no mixed content warnings)
|
|
145
|
+
- [ ] PageSpeed score ≥ 90 (LiteSpeed cache helps significantly)
|
|
146
|
+
- [ ] `curl -I https://yourdomain.com` returns `200 OK`
|
|
147
|
+
- [ ] Meta Pixel fires on production URL
|
|
148
|
+
- [ ] GTM fires on production URL
|
|
149
|
+
- [ ] UTM capture working end-to-end
|
|
150
|
+
- [ ] Form submissions go to the correct endpoint
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Deploy decision matrix
|
|
155
|
+
|
|
156
|
+
| Factor | Vercel | Hostinger VPS |
|
|
157
|
+
|---|---|---|
|
|
158
|
+
| Domain in Cloudflare | ✓ Best | Works |
|
|
159
|
+
| Domain in Hostinger | Works | ✓ Best |
|
|
160
|
+
| Pay in BRL | ✗ USD only | ✓ BRL |
|
|
161
|
+
| Automated CI/CD | ✓ Git-push deploys | Manual rsync |
|
|
162
|
+
| MCP integration | ✓ Available | SSH only |
|
|
163
|
+
| Serverless functions | ✓ Edge functions | ✗ Not native |
|
|
164
|
+
| Cache/CDN | Vercel Edge Network | LiteSpeed cache |
|
|
165
|
+
| Cheapest option | $20/mo USD | R$29.90/mo BRL |
|
|
166
|
+
| Best for Brazilian users | Both | LiteSpeed + BR server |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Deploy from within Claude Code (no manual steps)
|
|
171
|
+
|
|
172
|
+
### Vercel via MCP
|
|
173
|
+
If Vercel MCP is connected in Claude Code settings, the agent can deploy directly:
|
|
174
|
+
```
|
|
175
|
+
Deploy this project to Vercel production with domain yourdomain.com
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Hostinger via SSH
|
|
179
|
+
Claude Code can SSH into the VPS and run the deploy:
|
|
180
|
+
```bash
|
|
181
|
+
# The agent executes this sequence
|
|
182
|
+
ssh root@VPS_IP "cd /var/www/yourdomain.com/public_html && rm -rf *"
|
|
183
|
+
scp -r ./dist/* root@VPS_IP:/var/www/yourdomain.com/public_html/
|
|
184
|
+
ssh root@VPS_IP "service lsws restart"
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Post-deploy automated check
|
|
188
|
+
After any deploy, run:
|
|
189
|
+
```bash
|
|
190
|
+
curl -o /dev/null -s -w "%{http_code}" https://yourdomain.com
|
|
191
|
+
# Should return 200
|
|
192
|
+
```
|