@zaip-ai/cli 0.1.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -9
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +5 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +57 -2
- package/dist/index.js.map +1 -1
- package/dist/services/adapters.d.ts +23 -0
- package/dist/services/adapters.d.ts.map +1 -0
- package/dist/services/adapters.js +796 -0
- package/dist/services/adapters.js.map +1 -0
- package/dist/services/adapters.test.d.ts +2 -0
- package/dist/services/adapters.test.d.ts.map +1 -0
- package/dist/services/adapters.test.js +25 -0
- package/dist/services/adapters.test.js.map +1 -0
- package/dist/services/agent-adapters.d.ts +41 -0
- package/dist/services/agent-adapters.d.ts.map +1 -0
- package/dist/services/agent-adapters.js +122 -0
- package/dist/services/agent-adapters.js.map +1 -0
- package/dist/services/agent-adapters.test.d.ts +2 -0
- package/dist/services/agent-adapters.test.d.ts.map +1 -0
- package/dist/services/agent-adapters.test.js +40 -0
- package/dist/services/agent-adapters.test.js.map +1 -0
- package/dist/services/codex-rules.d.ts +3 -0
- package/dist/services/codex-rules.d.ts.map +1 -0
- package/dist/services/codex-rules.js +114 -0
- package/dist/services/codex-rules.js.map +1 -0
- package/dist/services/doctor.d.ts +12 -0
- package/dist/services/doctor.d.ts.map +1 -0
- package/dist/services/doctor.js +207 -0
- package/dist/services/doctor.js.map +1 -0
- package/dist/services/global-codex-config.d.ts +15 -0
- package/dist/services/global-codex-config.d.ts.map +1 -0
- package/dist/services/global-codex-config.js +48 -0
- package/dist/services/global-codex-config.js.map +1 -0
- package/dist/services/global-codex-config.test.d.ts +2 -0
- package/dist/services/global-codex-config.test.d.ts.map +1 -0
- package/dist/services/global-codex-config.test.js +102 -0
- package/dist/services/global-codex-config.test.js.map +1 -0
- package/dist/services/install-agents-template.d.ts.map +1 -1
- package/dist/services/install-agents-template.js +174 -79
- package/dist/services/install-agents-template.js.map +1 -1
- package/dist/services/logger.d.ts.map +1 -1
- package/dist/services/logger.js +13 -3
- package/dist/services/logger.js.map +1 -1
- package/dist/services/logger.test.d.ts +2 -0
- package/dist/services/logger.test.d.ts.map +1 -0
- package/dist/services/logger.test.js +32 -0
- package/dist/services/logger.test.js.map +1 -0
- package/dist/services/runtime-template.test.d.ts +2 -0
- package/dist/services/runtime-template.test.d.ts.map +1 -0
- package/dist/services/runtime-template.test.js +199 -0
- package/dist/services/runtime-template.test.js.map +1 -0
- package/dist/services/template-manifest.d.ts +6 -2
- package/dist/services/template-manifest.d.ts.map +1 -1
- package/dist/services/template-manifest.js +93 -10
- package/dist/services/template-manifest.js.map +1 -1
- package/dist/services/transactional-files.d.ts +11 -0
- package/dist/services/transactional-files.d.ts.map +1 -0
- package/dist/services/transactional-files.js +114 -0
- package/dist/services/transactional-files.js.map +1 -0
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/package.json +4 -2
- package/templates/.agents/config/agents/catalog.yaml +246 -0
- package/templates/.agents/config/framework.lock.yaml +1 -1
- package/templates/.agents/config/project.yaml +8 -0
- package/templates/.agents/config/src/icon_zaip.png +0 -0
- package/templates/.agents/dashboard/.zaip-managed.json +46 -0
- package/templates/.agents/dashboard/README.md +91 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-BOLwg8VW.js +1009 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/index-_yxs47Hd.css +1 -0
- package/templates/.agents/dashboard/apps/frontend/dist/assets/logo_novo_azul-BBx5pA2B.png +0 -0
- package/templates/.agents/dashboard/apps/frontend/dist/icon_zaip.png +0 -0
- package/templates/.agents/dashboard/apps/frontend/dist/index.html +15 -0
- package/templates/.agents/dashboard/apps/frontend/dist/logo_novo_azul.png +0 -0
- package/templates/.agents/dashboard/packages/local-runtime/server.mjs +179 -0
- package/templates/.agents/dashboard/packages/local-runtime/start-dashboard.mjs +726 -0
- package/templates/.agents/dashboard/zaip-dashboard.exe +0 -0
- package/templates/.agents/design/DESIGN.md +180 -0
- package/templates/.agents/design/README.md +47 -0
- package/templates/.agents/design/apps/catalog/.storybook/main.ts +15 -0
- package/templates/.agents/design/apps/catalog/.storybook/preview.ts +21 -0
- package/templates/.agents/design/apps/catalog/dist/assets/index-B4pfFtvJ.css +1 -0
- package/templates/.agents/design/apps/catalog/dist/assets/index-Bvwc3Bgw.js +9 -0
- package/templates/.agents/design/apps/catalog/dist/index.html +14 -0
- package/templates/.agents/design/apps/catalog/dist/logo_novo_azul.png +0 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/Color-6AOWCN3U-D8qyAXo4.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/Components.stories-DkBtOSHX.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-BttERyCr.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/DocsRenderer-JROSPFPF-LmiVo77Q.js +46 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/Primitives-HZpQ6PjX.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/WithTooltip-7X4HQR7L-CTMWAwDe.js +9 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/axe-Bk3eEgJf.js +20 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/chunk-242VQQM5-DB2JSNUA.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/chunk-DRQKCCAG-DUhJxxRU.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/chunk-QQBDHPVZ-nYh9QWsm.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/chunk-W22LQPXL-9RCn9-l7.js +18 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/components-BX1OfYUi.js +243 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-Bu6KfEwW.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/iframe-B4pfFtvJ.css +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/iframe-LMhZM1ce.js +1154 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/jsx-runtime-f3rHp9ZU.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/matchers-JIUQ3HVY-9iRExWZO.js +28 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/preload-helper-BdFrVu1K.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-18-jAz3avmR.js +9 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/react-DvDPBd6Q.js +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/syntaxhighlighter-YFXUGROL-DV8X2acD.js +6 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/assets/theming-CHbHkcNi.js +39 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/favicon-wrapper.svg +46 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/favicon.svg +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/iframe.html +710 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/index.html +152 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/index.json +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/logo_novo_azul.png +0 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/nunito-sans-bold-italic.woff2 +0 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/nunito-sans-bold.woff2 +0 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/nunito-sans-italic.woff2 +0 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/nunito-sans-regular.woff2 +0 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/a11y-2/manager-bundle.js +57 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/docs-1/manager-bundle.js +18 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +632 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-common-assets/favicon-wrapper.svg +46 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-common-assets/favicon.svg +1 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-manager/globals-runtime.js +78957 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-manager/globals.js +24 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-manager/manager-stores.js +23 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/sb-manager/runtime.js +28253 -0
- package/templates/.agents/design/apps/catalog/dist/storybook/vite-inject-mocker-entry.js +2 -0
- package/templates/.agents/design/apps/catalog/index.html +13 -0
- package/templates/.agents/design/apps/catalog/package.json +32 -0
- package/templates/.agents/design/apps/catalog/public/logo_novo_azul.png +0 -0
- package/templates/.agents/design/apps/catalog/src/App.tsx +29 -0
- package/templates/.agents/design/apps/catalog/src/components/CatalogShell.tsx +78 -0
- package/templates/.agents/design/apps/catalog/src/components/Primitives.tsx +137 -0
- package/templates/.agents/design/apps/catalog/src/design-contract.test.ts +33 -0
- package/templates/.agents/design/apps/catalog/src/main.tsx +13 -0
- package/templates/.agents/design/apps/catalog/src/pages/ComponentsPage.tsx +83 -0
- package/templates/.agents/design/apps/catalog/src/pages/DesignSystemPage.tsx +185 -0
- package/templates/.agents/design/apps/catalog/src/stories/Components.stories.tsx +12 -0
- package/templates/.agents/design/apps/catalog/src/stories/DesignSystem.stories.tsx +12 -0
- package/templates/.agents/design/apps/catalog/src/styles/catalog.css +315 -0
- package/templates/.agents/design/apps/catalog/src/styles/components.css +228 -0
- package/templates/.agents/design/apps/catalog/src/styles/design-system.css +137 -0
- package/templates/.agents/design/apps/catalog/src/styles.css +85 -0
- package/templates/.agents/design/apps/catalog/tsconfig.json +16 -0
- package/templates/.agents/design/apps/catalog/vite.config.ts +10 -0
- package/templates/.agents/design/apps/catalog/vitest.config.ts +5 -0
- package/templates/.agents/design/packages/local-runtime/package.json +9 -0
- package/templates/.agents/design/packages/local-runtime/runtime.mjs +238 -0
- package/templates/.agents/design/packages/local-runtime/runtime.test.mjs +66 -0
- package/templates/.agents/design/packages/local-runtime/start-design.mjs +46 -0
- package/templates/.agents/design/packages/windows-launcher/Program.cs +110 -0
- package/templates/.agents/design/packages/windows-launcher/build-design-launcher.ps1 +107 -0
- package/templates/.agents/design/tokens.json +52 -0
- package/templates/.agents/design/zaip-design.exe +0 -0
- package/templates/.agents/requirements/autonomous-assurance.md +63 -0
- package/templates/.agents/requirements/context-engine.md +27 -3
- package/templates/.agents/requirements/cost-observability.md +22 -3
- package/templates/.agents/requirements/design-system.md +48 -0
- package/templates/.agents/requirements/execution-engine.md +33 -8
- package/templates/.agents/requirements/kanban-dashboard.md +13 -4
- package/templates/.agents/requirements/model-orchestration.md +58 -0
- package/templates/.agents/requirements/public-distribution.md +40 -0
- package/templates/.agents/requirements/software-architecture.md +57 -0
- package/templates/.agents/requirements/work-lifecycle.md +61 -6
- package/templates/.agents/rules/project/.gitkeep +0 -0
- package/templates/.agents/rules/zaip/architecture.md +28 -0
- package/templates/.agents/rules/zaip/context.md +22 -0
- package/templates/.agents/rules/zaip/core.md +24 -0
- package/templates/.agents/rules/zaip/evolution.md +22 -0
- package/templates/.agents/rules/zaip/model-orchestration.md +48 -0
- package/templates/.agents/rules/zaip/workflow.md +35 -0
- package/templates/.agents/skills/zaip-skill-adapt-stack/SKILL.md +1 -1
- package/templates/.agents/skills/zaip-skill-adapt-stack/agents/openai.yaml +3 -3
- package/templates/.agents/skills/zaip-skill-adapters/SKILL.md +9 -6
- package/templates/.agents/skills/zaip-skill-adapters/agents/openai.yaml +2 -2
- package/templates/.agents/skills/zaip-skill-api-to-mcp/SKILL.md +19 -0
- package/templates/.agents/skills/zaip-skill-api-to-mcp/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-api-to-mcp/assets/adapter.example.yaml +26 -0
- package/templates/.agents/skills/zaip-skill-api-to-mcp/references/security-contract.md +10 -0
- package/templates/.agents/skills/zaip-skill-api-to-mcp/references/server-layout.md +19 -0
- package/templates/.agents/skills/zaip-skill-api-to-mcp/scripts/inspect-openapi.mjs +60 -0
- package/templates/.agents/skills/zaip-skill-api-to-mcp/scripts/scaffold-local-mcp.mjs +47 -0
- package/templates/.agents/skills/zaip-skill-author-skills/SKILL.md +21 -0
- package/templates/.agents/skills/zaip-skill-author-skills/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-change/SKILL.md +20 -0
- package/templates/.agents/skills/zaip-skill-change/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-config/SKILL.md +22 -0
- package/templates/.agents/skills/zaip-skill-config/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-context/SKILL.md +10 -6
- package/templates/.agents/skills/zaip-skill-context/agents/openai.yaml +2 -2
- package/templates/.agents/skills/zaip-skill-cqrs/SKILL.md +2 -2
- package/templates/.agents/skills/zaip-skill-cqrs/agents/openai.yaml +3 -3
- package/templates/.agents/skills/zaip-skill-decisions/SKILL.md +7 -5
- package/templates/.agents/skills/zaip-skill-decisions/agents/openai.yaml +2 -2
- package/templates/.agents/skills/zaip-skill-enforce-architecture/SKILL.md +8 -5
- package/templates/.agents/skills/zaip-skill-enforce-architecture/agents/openai.yaml +3 -3
- package/templates/.agents/skills/zaip-skill-eval/SKILL.md +7 -5
- package/templates/.agents/skills/zaip-skill-eval/agents/openai.yaml +3 -3
- package/templates/.agents/skills/zaip-skill-execution/SKILL.md +36 -0
- package/templates/.agents/skills/zaip-skill-execution/agents/openai.yaml +6 -0
- package/templates/.agents/skills/zaip-skill-execution/references/prepared-plan.md +31 -0
- package/templates/.agents/skills/zaip-skill-frontend-launcher/SKILL.md +29 -0
- package/templates/.agents/skills/zaip-skill-frontend-launcher/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-frontend-launcher/references/launcher-contract.md +36 -0
- package/templates/.agents/skills/zaip-skill-github-deploy/SKILL.md +49 -58
- package/templates/.agents/skills/zaip-skill-github-deploy/agents/openai.yaml +3 -3
- package/templates/.agents/skills/zaip-skill-github-deploy/scripts/preflight.mjs +256 -0
- package/templates/.agents/skills/zaip-skill-github-setup/SKILL.md +1 -1
- package/templates/.agents/skills/zaip-skill-move-prd/SKILL.md +37 -0
- package/templates/.agents/skills/zaip-skill-move-prd/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-move-spec/SKILL.md +38 -0
- package/templates/.agents/skills/zaip-skill-move-spec/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-navigate-work/SKILL.md +9 -6
- package/templates/.agents/skills/zaip-skill-navigate-work/agents/openai.yaml +3 -3
- package/templates/.agents/skills/zaip-skill-observability/SKILL.md +24 -0
- package/templates/.agents/skills/zaip-skill-observability/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-openai-docs/SKILL.md +17 -0
- package/templates/.agents/skills/zaip-skill-openai-docs/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-openai-docs/references/routing.md +11 -0
- package/templates/.agents/skills/zaip-skill-prd/SKILL.md +37 -6
- package/templates/.agents/skills/zaip-skill-prd/agents/openai.yaml +2 -2
- package/templates/.agents/skills/zaip-skill-preview/SKILL.md +16 -0
- package/templates/.agents/skills/zaip-skill-preview/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/SKILL.md +39 -0
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/inspect-local-sqlite.py +52 -0
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/normalize-run-agents.mjs +63 -0
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +698 -0
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +361 -0
- package/templates/.agents/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +187 -0
- package/templates/.agents/skills/zaip-skill-requirements/SKILL.md +10 -6
- package/templates/.agents/skills/zaip-skill-requirements/agents/openai.yaml +2 -2
- package/templates/.agents/skills/zaip-skill-review/SKILL.md +18 -0
- package/templates/.agents/skills/zaip-skill-review/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-rules/SKILL.md +19 -0
- package/templates/.agents/skills/zaip-skill-rules/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-security/SKILL.md +30 -0
- package/templates/.agents/skills/zaip-skill-security/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-setup/SKILL.md +19 -6
- package/templates/.agents/skills/zaip-skill-setup/agents/openai.yaml +2 -2
- package/templates/.agents/skills/zaip-skill-spec/SKILL.md +39 -6
- package/templates/.agents/skills/zaip-skill-spec/agents/openai.yaml +2 -2
- package/templates/.agents/skills/zaip-skill-task/SKILL.md +36 -8
- package/templates/.agents/skills/zaip-skill-task/agents/openai.yaml +2 -2
- package/templates/.agents/skills/zaip-skill-text-encoding/SKILL.md +3 -3
- package/templates/.agents/skills/zaip-skill-tool-setup/SKILL.md +22 -0
- package/templates/.agents/skills/zaip-skill-tool-setup/agents/openai.yaml +4 -0
- package/templates/.agents/skills/zaip-skill-tool-setup/references/codex-config.md +24 -0
- package/templates/.agents/skills/zaip-skill-tool-setup/references/secrets.md +8 -0
- package/templates/.agents/skills/zaip-skill-tool-setup/scripts/configure-local-mcp.mjs +52 -0
- package/templates/.agents/skills/zaip-skill-tool-setup/scripts/inspect-tool.mjs +35 -0
- package/templates/.agents/skills/zaip-skill-tool-setup/scripts/tool-state.mjs +26 -0
- package/templates/.agents/tools/README.md +9 -0
- package/templates/.agents/tools/api/asaas/README.md +22 -0
- package/templates/.agents/tools/api/asaas/manifest.yaml +20 -0
- package/templates/.agents/tools/api/github/README.md +22 -0
- package/templates/.agents/tools/api/github/manifest.yaml +20 -0
- package/templates/.agents/tools/api/google-ads/README.md +23 -0
- package/templates/.agents/tools/api/google-ads/manifest.yaml +21 -0
- package/templates/.agents/tools/api/google-analytics/README.md +22 -0
- package/templates/.agents/tools/api/google-analytics/manifest.yaml +20 -0
- package/templates/.agents/tools/api/google-search-console/README.md +21 -0
- package/templates/.agents/tools/api/google-search-console/manifest.yaml +19 -0
- package/templates/.agents/tools/api/google-tag-manager/README.md +22 -0
- package/templates/.agents/tools/api/google-tag-manager/manifest.yaml +20 -0
- package/templates/.agents/tools/api/hubspot/README.md +22 -0
- package/templates/.agents/tools/api/hubspot/manifest.yaml +20 -0
- package/templates/.agents/tools/api/instagram-graph/README.md +23 -0
- package/templates/.agents/tools/api/instagram-graph/manifest.yaml +21 -0
- package/templates/.agents/tools/api/kommo-crm/README.md +23 -0
- package/templates/.agents/tools/api/kommo-crm/manifest.yaml +21 -0
- package/templates/.agents/tools/api/linkedin-ads/README.md +23 -0
- package/templates/.agents/tools/api/linkedin-ads/manifest.yaml +21 -0
- package/templates/.agents/tools/api/meta-ads/README.md +23 -0
- package/templates/.agents/tools/api/meta-ads/manifest.yaml +21 -0
- package/templates/.agents/tools/api/openai/README.md +22 -0
- package/templates/.agents/tools/api/openai/manifest.yaml +20 -0
- package/templates/.agents/tools/api/shopify/README.md +23 -0
- package/templates/.agents/tools/api/shopify/manifest.yaml +21 -0
- package/templates/.agents/tools/api/slack/README.md +22 -0
- package/templates/.agents/tools/api/slack/manifest.yaml +20 -0
- package/templates/.agents/tools/api/stripe/README.md +22 -0
- package/templates/.agents/tools/api/stripe/manifest.yaml +20 -0
- package/templates/.agents/tools/api/tiktok-ads/README.md +23 -0
- package/templates/.agents/tools/api/tiktok-ads/manifest.yaml +21 -0
- package/templates/.agents/tools/api/youtube-analytics/README.md +22 -0
- package/templates/.agents/tools/api/youtube-analytics/manifest.yaml +20 -0
- package/templates/.agents/tools/catalog.yaml +358 -0
- package/templates/.agents/tools/mcp/development/browser/README.md +20 -0
- package/templates/.agents/tools/mcp/development/browser/manifest.yaml +24 -0
- package/templates/.agents/tools/mcp/development/filesystem/README.md +20 -0
- package/templates/.agents/tools/mcp/development/filesystem/manifest.yaml +24 -0
- package/templates/.agents/tools/mcp/development/git/README.md +20 -0
- package/templates/.agents/tools/mcp/development/git/manifest.yaml +24 -0
- package/templates/.agents/tools/mcp/development/github/README.md +20 -0
- package/templates/.agents/tools/mcp/development/github/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/development/gitlab/README.md +20 -0
- package/templates/.agents/tools/mcp/development/gitlab/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/development/jira/README.md +21 -0
- package/templates/.agents/tools/mcp/development/jira/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/development/linear/README.md +20 -0
- package/templates/.agents/tools/mcp/development/linear/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/development/notion/README.md +20 -0
- package/templates/.agents/tools/mcp/development/notion/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/development/openai-docs/README.md +15 -0
- package/templates/.agents/tools/mcp/development/openai-docs/manifest.yaml +21 -0
- package/templates/.agents/tools/mcp/development/postgresql/README.md +20 -0
- package/templates/.agents/tools/mcp/development/postgresql/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/development/slack/README.md +20 -0
- package/templates/.agents/tools/mcp/development/slack/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/development/sqlite/README.md +20 -0
- package/templates/.agents/tools/mcp/development/sqlite/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/infra/aws/README.md +21 -0
- package/templates/.agents/tools/mcp/infra/aws/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/infra/azure/README.md +20 -0
- package/templates/.agents/tools/mcp/infra/azure/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/infra/cloudflare/README.md +21 -0
- package/templates/.agents/tools/mcp/infra/cloudflare/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/infra/docker/README.md +20 -0
- package/templates/.agents/tools/mcp/infra/docker/manifest.yaml +24 -0
- package/templates/.agents/tools/mcp/infra/gcp/README.md +21 -0
- package/templates/.agents/tools/mcp/infra/gcp/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/infra/hostinger/README.md +20 -0
- package/templates/.agents/tools/mcp/infra/hostinger/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/infra/kubernetes/README.md +20 -0
- package/templates/.agents/tools/mcp/infra/kubernetes/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/infra/terraform/README.md +20 -0
- package/templates/.agents/tools/mcp/infra/terraform/manifest.yaml +24 -0
- package/templates/.agents/tools/mcp/marketing/google-ads/README.md +21 -0
- package/templates/.agents/tools/mcp/marketing/google-ads/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/marketing/google-analytics/README.md +20 -0
- package/templates/.agents/tools/mcp/marketing/google-analytics/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/marketing/google-search-console/README.md +19 -0
- package/templates/.agents/tools/mcp/marketing/google-search-console/manifest.yaml +24 -0
- package/templates/.agents/tools/mcp/marketing/google-tag-manager/README.md +21 -0
- package/templates/.agents/tools/mcp/marketing/google-tag-manager/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/marketing/hubspot/README.md +20 -0
- package/templates/.agents/tools/mcp/marketing/hubspot/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/marketing/instagram-insights/README.md +21 -0
- package/templates/.agents/tools/mcp/marketing/instagram-insights/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/marketing/linkedin-ads/README.md +21 -0
- package/templates/.agents/tools/mcp/marketing/linkedin-ads/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/marketing/mailchimp/README.md +21 -0
- package/templates/.agents/tools/mcp/marketing/mailchimp/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/marketing/meta-ads/README.md +21 -0
- package/templates/.agents/tools/mcp/marketing/meta-ads/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/marketing/semrush/README.md +20 -0
- package/templates/.agents/tools/mcp/marketing/semrush/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/marketing/tiktok-ads/README.md +21 -0
- package/templates/.agents/tools/mcp/marketing/tiktok-ads/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/marketing/youtube-analytics/README.md +21 -0
- package/templates/.agents/tools/mcp/marketing/youtube-analytics/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/observability/cloudwatch/README.md +21 -0
- package/templates/.agents/tools/mcp/observability/cloudwatch/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/observability/datadog/README.md +21 -0
- package/templates/.agents/tools/mcp/observability/datadog/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/observability/elasticsearch/README.md +21 -0
- package/templates/.agents/tools/mcp/observability/elasticsearch/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/observability/grafana/README.md +21 -0
- package/templates/.agents/tools/mcp/observability/grafana/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/observability/kibana/README.md +21 -0
- package/templates/.agents/tools/mcp/observability/kibana/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/observability/loki/README.md +19 -0
- package/templates/.agents/tools/mcp/observability/loki/manifest.yaml +24 -0
- package/templates/.agents/tools/mcp/observability/new-relic/README.md +21 -0
- package/templates/.agents/tools/mcp/observability/new-relic/manifest.yaml +26 -0
- package/templates/.agents/tools/mcp/observability/opentelemetry/README.md +20 -0
- package/templates/.agents/tools/mcp/observability/opentelemetry/manifest.yaml +25 -0
- package/templates/.agents/tools/mcp/observability/prometheus/README.md +19 -0
- package/templates/.agents/tools/mcp/observability/prometheus/manifest.yaml +24 -0
- package/templates/.agents/tools/mcp/observability/sentry/README.md +21 -0
- package/templates/.agents/tools/mcp/observability/sentry/manifest.yaml +26 -0
- package/templates/.agents/tools/policies/approval-rules.yaml +8 -0
- package/templates/.agents/tools/policies/financial-limits.yaml +6 -0
- package/templates/.agents/tools/policies/permissions.yaml +8 -0
- package/templates/.agents/tools/policies/secret-handling.md +7 -0
- package/templates/.agents/tools/profiles/business.yaml +8 -0
- package/templates/.agents/tools/profiles/default.yaml +8 -0
- package/templates/.agents/tools/profiles/development.yaml +13 -0
- package/templates/.agents/tools/profiles/infrastructure.yaml +8 -0
- package/templates/.agents/tools/profiles/marketing.yaml +9 -0
- package/templates/.agents/tools/profiles/observability.yaml +8 -0
- package/templates/.agents/tools/runtime/README.md +3 -0
- package/templates/.agents/tools/runtime/api-mcp-runtime.mjs +217 -0
- package/templates/.agents/tools/runtime/api-mcp-runtime.test.mjs +56 -0
- package/templates/.agents/tools/runtime/fixtures/definition.json +17 -0
- package/templates/.agents/tools/runtime/runner.mjs +16 -0
- package/templates/.agents/tools/runtime/stdio.test.mjs +32 -0
- package/templates/.agents/tools/state.example.yaml +8 -0
- package/templates/.agents/zaip-aios/INDEX.md +26 -0
- package/templates/.agents/zaip-aios/README.md +13 -0
- package/templates/.agents/zaip-aios/VERSION +1 -0
- package/templates/.agents/zaip-aios/guides/01-primeiros-passos.md +10 -0
- package/templates/.agents/zaip-aios/guides/02-requirements.md +12 -0
- package/templates/.agents/zaip-aios/guides/03-tasks.md +12 -0
- package/templates/.agents/zaip-aios/guides/04-specs.md +16 -0
- package/templates/.agents/zaip-aios/guides/05-prds.md +13 -0
- package/templates/.agents/zaip-aios/guides/06-execucao.md +13 -0
- package/templates/.agents/zaip-aios/guides/07-revisao-e-validacao.md +8 -0
- package/templates/.agents/zaip-aios/guides/08-contexto-e-tokens.md +10 -0
- package/templates/.agents/zaip-aios/guides/09-agentes-e-squads.md +8 -0
- package/templates/.agents/zaip-aios/guides/10-seguranca.md +206 -0
- package/templates/.agents/zaip-aios/guides/11-observabilidade-e-custos.md +10 -0
- package/templates/.agents/zaip-aios/guides/12-instalacao-e-upgrade.md +10 -0
- package/templates/.agents/zaip-aios/guides/13-boas-praticas.md +12 -0
- package/templates/.agents/zaip-aios/guides/14-troubleshooting.md +12 -0
- package/templates/.agents/zaip-aios/guides/15-tools-e-codex.md +25 -0
- package/templates/.agents/zaip-aios/guides/16-lifecycle-e-reconciliacao.md +47 -0
- package/templates/.zaip-aios/LICENSE +1 -0
- package/templates/.zaip-aios/THIRD_PARTY_NOTICES.md +10 -0
- package/templates/.zaip-aios/VERSION +1 -0
- package/templates/.zaip-aios/bin/zaip.mjs +1285 -0
- package/templates/.zaip-aios/checksums.sha256 +369 -0
- package/templates/.zaip-aios/dashboard/.zaip-managed.json +46 -0
- package/templates/.zaip-aios/dashboard/README.md +91 -0
- package/templates/.zaip-aios/dashboard/apps/frontend/dist/assets/index-BOLwg8VW.js +1009 -0
- package/templates/.zaip-aios/dashboard/apps/frontend/dist/assets/index-_yxs47Hd.css +1 -0
- package/templates/.zaip-aios/dashboard/apps/frontend/dist/assets/logo_novo_azul-BBx5pA2B.png +0 -0
- package/templates/.zaip-aios/dashboard/apps/frontend/dist/icon_zaip.png +0 -0
- package/templates/.zaip-aios/dashboard/apps/frontend/dist/index.html +15 -0
- package/templates/.zaip-aios/dashboard/apps/frontend/dist/logo_novo_azul.png +0 -0
- package/templates/.zaip-aios/dashboard/packages/local-runtime/server.mjs +179 -0
- package/templates/.zaip-aios/dashboard/packages/local-runtime/start-dashboard.mjs +726 -0
- package/templates/.zaip-aios/dashboard/zaip-dashboard.exe +0 -0
- package/templates/.zaip-aios/design/.zaip-managed.json +330 -0
- package/templates/.zaip-aios/design/DESIGN.md +180 -0
- package/templates/.zaip-aios/design/README.md +47 -0
- package/templates/.zaip-aios/design/apps/catalog/.storybook/main.ts +15 -0
- package/templates/.zaip-aios/design/apps/catalog/.storybook/preview.ts +21 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/assets/index-B4pfFtvJ.css +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/assets/index-Bvwc3Bgw.js +9 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/index.html +14 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/logo_novo_azul.png +0 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/Color-6AOWCN3U-D8qyAXo4.js +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/Components.stories-DkBtOSHX.js +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/DesignSystem.stories-BttERyCr.js +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/DocsRenderer-JROSPFPF-LmiVo77Q.js +46 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/Primitives-HZpQ6PjX.js +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/WithTooltip-7X4HQR7L-CTMWAwDe.js +9 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/axe-Bk3eEgJf.js +20 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/chunk-242VQQM5-DB2JSNUA.js +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/chunk-DRQKCCAG-DUhJxxRU.js +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/chunk-QQBDHPVZ-nYh9QWsm.js +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/chunk-W22LQPXL-9RCn9-l7.js +18 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/components-BX1OfYUi.js +243 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/formatter-L2YTDE3Q-Bu6KfEwW.js +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/iframe-B4pfFtvJ.css +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/iframe-LMhZM1ce.js +1154 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/jsx-runtime-f3rHp9ZU.js +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/matchers-JIUQ3HVY-9iRExWZO.js +28 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/preload-helper-BdFrVu1K.js +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/react-18-jAz3avmR.js +9 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/react-DvDPBd6Q.js +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/syntaxhighlighter-YFXUGROL-DV8X2acD.js +6 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/assets/theming-CHbHkcNi.js +39 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/favicon-wrapper.svg +46 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/favicon.svg +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/iframe.html +710 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/index.html +152 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/index.json +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/logo_novo_azul.png +0 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/nunito-sans-bold-italic.woff2 +0 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/nunito-sans-bold.woff2 +0 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/nunito-sans-italic.woff2 +0 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/nunito-sans-regular.woff2 +0 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-addons/a11y-2/manager-bundle.js +57 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-addons/docs-1/manager-bundle.js +18 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +632 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/favicon-wrapper.svg +46 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/favicon.svg +1 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-manager/globals-runtime.js +78957 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-manager/globals.js +24 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-manager/manager-stores.js +23 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/sb-manager/runtime.js +28253 -0
- package/templates/.zaip-aios/design/apps/catalog/dist/storybook/vite-inject-mocker-entry.js +2 -0
- package/templates/.zaip-aios/design/apps/catalog/index.html +13 -0
- package/templates/.zaip-aios/design/apps/catalog/package.json +32 -0
- package/templates/.zaip-aios/design/apps/catalog/public/logo_novo_azul.png +0 -0
- package/templates/.zaip-aios/design/apps/catalog/src/App.tsx +29 -0
- package/templates/.zaip-aios/design/apps/catalog/src/components/CatalogShell.tsx +78 -0
- package/templates/.zaip-aios/design/apps/catalog/src/components/Primitives.tsx +137 -0
- package/templates/.zaip-aios/design/apps/catalog/src/design-contract.test.ts +33 -0
- package/templates/.zaip-aios/design/apps/catalog/src/main.tsx +13 -0
- package/templates/.zaip-aios/design/apps/catalog/src/pages/ComponentsPage.tsx +83 -0
- package/templates/.zaip-aios/design/apps/catalog/src/pages/DesignSystemPage.tsx +185 -0
- package/templates/.zaip-aios/design/apps/catalog/src/stories/Components.stories.tsx +12 -0
- package/templates/.zaip-aios/design/apps/catalog/src/stories/DesignSystem.stories.tsx +12 -0
- package/templates/.zaip-aios/design/apps/catalog/src/styles/catalog.css +315 -0
- package/templates/.zaip-aios/design/apps/catalog/src/styles/components.css +228 -0
- package/templates/.zaip-aios/design/apps/catalog/src/styles/design-system.css +137 -0
- package/templates/.zaip-aios/design/apps/catalog/src/styles.css +85 -0
- package/templates/.zaip-aios/design/apps/catalog/tsconfig.json +16 -0
- package/templates/.zaip-aios/design/apps/catalog/vite.config.ts +10 -0
- package/templates/.zaip-aios/design/apps/catalog/vitest.config.ts +5 -0
- package/templates/.zaip-aios/design/packages/local-runtime/package.json +9 -0
- package/templates/.zaip-aios/design/packages/local-runtime/runtime.mjs +238 -0
- package/templates/.zaip-aios/design/packages/local-runtime/runtime.test.mjs +66 -0
- package/templates/.zaip-aios/design/packages/local-runtime/start-design.mjs +46 -0
- package/templates/.zaip-aios/design/packages/windows-launcher/Program.cs +110 -0
- package/templates/.zaip-aios/design/packages/windows-launcher/build-design-launcher.ps1 +107 -0
- package/templates/.zaip-aios/design/tokens.json +52 -0
- package/templates/.zaip-aios/design/zaip-design.exe +0 -0
- package/templates/.zaip-aios/manifest.json +376 -0
- package/templates/.zaip-aios/migrations/001-layout-v1.json +5 -0
- package/templates/.zaip-aios/migrations/002-layout-v2.json +6 -0
- package/templates/.zaip-aios/pricing/fx/2026/07/12/usd-brl.json +9 -0
- package/templates/.zaip-aios/pricing/models.json +172 -0
- package/templates/.zaip-aios/profiles/clients.json +506 -0
- package/templates/.zaip-aios/profiles/fixtures/architecture/negative/modules/orders/application/queries/list.query.ts +5 -0
- package/templates/.zaip-aios/profiles/fixtures/architecture/negative/modules/orders/domain/order.ts +3 -0
- package/templates/.zaip-aios/profiles/fixtures/architecture/positive/modules/orders/application/queries/list.query.ts +5 -0
- package/templates/.zaip-aios/profiles/typescript-hono-kysely.json +41 -0
- package/templates/.zaip-aios/sbom.cdx.json +3440 -0
- package/templates/.zaip-aios/schemas/contracts.schema.json +243 -0
- package/templates/.zaip-aios/templates/config/agents/catalog.yaml +246 -0
- package/templates/.zaip-aios/templates/requirements/.gitkeep +0 -0
- package/templates/.zaip-aios/templates/requirements/autonomous-assurance.md +63 -0
- package/templates/.zaip-aios/templates/requirements/context-engine.md +44 -0
- package/templates/.zaip-aios/templates/requirements/cost-observability.md +39 -0
- package/templates/.zaip-aios/templates/requirements/design-system.md +48 -0
- package/templates/.zaip-aios/templates/requirements/execution-engine.md +60 -0
- package/templates/.zaip-aios/templates/requirements/kanban-dashboard.md +30 -0
- package/templates/.zaip-aios/templates/requirements/model-orchestration.md +58 -0
- package/templates/.zaip-aios/templates/requirements/public-distribution.md +40 -0
- package/templates/.zaip-aios/templates/requirements/software-architecture.md +57 -0
- package/templates/.zaip-aios/templates/requirements/work-lifecycle.md +82 -0
- package/templates/.zaip-aios/templates/rules/project/.gitkeep +0 -0
- package/templates/.zaip-aios/templates/rules/zaip/architecture.md +28 -0
- package/templates/.zaip-aios/templates/rules/zaip/context.md +22 -0
- package/templates/.zaip-aios/templates/rules/zaip/core.md +24 -0
- package/templates/.zaip-aios/templates/rules/zaip/evolution.md +22 -0
- package/templates/.zaip-aios/templates/rules/zaip/model-orchestration.md +48 -0
- package/templates/.zaip-aios/templates/rules/zaip/security.md +20 -0
- package/templates/.zaip-aios/templates/rules/zaip/workflow.md +35 -0
- package/templates/.zaip-aios/templates/skills/.gitkeep +0 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-adapt-stack/SKILL.md +11 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-adapt-stack/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-adapters/SKILL.md +15 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-adapters/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/SKILL.md +19 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/assets/adapter.example.yaml +26 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/references/security-contract.md +10 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/references/server-layout.md +19 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/scripts/inspect-openapi.mjs +60 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-api-to-mcp/scripts/scaffold-local-mcp.mjs +47 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-author-skills/SKILL.md +21 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-author-skills/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-change/SKILL.md +20 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-change/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-config/SKILL.md +22 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-config/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-context/SKILL.md +16 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-context/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-cqrs/SKILL.md +11 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-cqrs/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-decisions/SKILL.md +14 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-decisions/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-enforce-architecture/SKILL.md +14 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-enforce-architecture/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-eval/SKILL.md +14 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-eval/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-execution/SKILL.md +36 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-execution/agents/openai.yaml +6 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-execution/references/prepared-plan.md +31 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-frontend-launcher/SKILL.md +29 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-frontend-launcher/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-frontend-launcher/references/launcher-contract.md +36 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-github-deploy/SKILL.md +75 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-github-deploy/agents/openai.yaml +6 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-github-deploy/scripts/preflight.mjs +256 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-github-setup/SKILL.md +80 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-github-setup/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-move-prd/SKILL.md +37 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-move-prd/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-move-spec/SKILL.md +38 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-move-spec/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-navigate-work/SKILL.md +16 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-navigate-work/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-observability/SKILL.md +24 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-observability/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-openai-docs/SKILL.md +17 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-openai-docs/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-openai-docs/references/routing.md +11 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-prd/SKILL.md +44 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-prd/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-preview/SKILL.md +16 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-preview/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/SKILL.md +39 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/scripts/inspect-local-sqlite.py +52 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/scripts/normalize-run-agents.mjs +63 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-local-telemetry.mjs +698 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.mjs +361 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-reconcile-telemetry/scripts/reconcile-telemetry-lib.test.mjs +187 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-requirements/SKILL.md +16 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-requirements/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-review/SKILL.md +18 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-review/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-rules/SKILL.md +19 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-rules/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-security/SKILL.md +30 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-security/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-setup/SKILL.md +25 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-setup/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-spec/SKILL.md +45 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-spec/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-task/SKILL.md +41 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-task/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-text-encoding/SKILL.md +27 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-text-encoding/agents/openai.yaml +6 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/SKILL.md +22 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/agents/openai.yaml +4 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/references/codex-config.md +24 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/references/secrets.md +8 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/scripts/configure-local-mcp.mjs +52 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/scripts/inspect-tool.mjs +35 -0
- package/templates/.zaip-aios/templates/skills/zaip-skill-tool-setup/scripts/tool-state.mjs +26 -0
- package/templates/.zaip-aios/templates/tools/README.md +9 -0
- package/templates/.zaip-aios/templates/tools/api/asaas/README.md +22 -0
- package/templates/.zaip-aios/templates/tools/api/asaas/manifest.yaml +20 -0
- package/templates/.zaip-aios/templates/tools/api/github/README.md +22 -0
- package/templates/.zaip-aios/templates/tools/api/github/manifest.yaml +20 -0
- package/templates/.zaip-aios/templates/tools/api/google-ads/README.md +23 -0
- package/templates/.zaip-aios/templates/tools/api/google-ads/manifest.yaml +21 -0
- package/templates/.zaip-aios/templates/tools/api/google-analytics/README.md +22 -0
- package/templates/.zaip-aios/templates/tools/api/google-analytics/manifest.yaml +20 -0
- package/templates/.zaip-aios/templates/tools/api/google-search-console/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/api/google-search-console/manifest.yaml +19 -0
- package/templates/.zaip-aios/templates/tools/api/google-tag-manager/README.md +22 -0
- package/templates/.zaip-aios/templates/tools/api/google-tag-manager/manifest.yaml +20 -0
- package/templates/.zaip-aios/templates/tools/api/hubspot/README.md +22 -0
- package/templates/.zaip-aios/templates/tools/api/hubspot/manifest.yaml +20 -0
- package/templates/.zaip-aios/templates/tools/api/instagram-graph/README.md +23 -0
- package/templates/.zaip-aios/templates/tools/api/instagram-graph/manifest.yaml +21 -0
- package/templates/.zaip-aios/templates/tools/api/kommo-crm/README.md +23 -0
- package/templates/.zaip-aios/templates/tools/api/kommo-crm/manifest.yaml +21 -0
- package/templates/.zaip-aios/templates/tools/api/linkedin-ads/README.md +23 -0
- package/templates/.zaip-aios/templates/tools/api/linkedin-ads/manifest.yaml +21 -0
- package/templates/.zaip-aios/templates/tools/api/meta-ads/README.md +23 -0
- package/templates/.zaip-aios/templates/tools/api/meta-ads/manifest.yaml +21 -0
- package/templates/.zaip-aios/templates/tools/api/openai/README.md +22 -0
- package/templates/.zaip-aios/templates/tools/api/openai/manifest.yaml +20 -0
- package/templates/.zaip-aios/templates/tools/api/shopify/README.md +23 -0
- package/templates/.zaip-aios/templates/tools/api/shopify/manifest.yaml +21 -0
- package/templates/.zaip-aios/templates/tools/api/slack/README.md +22 -0
- package/templates/.zaip-aios/templates/tools/api/slack/manifest.yaml +20 -0
- package/templates/.zaip-aios/templates/tools/api/stripe/README.md +22 -0
- package/templates/.zaip-aios/templates/tools/api/stripe/manifest.yaml +20 -0
- package/templates/.zaip-aios/templates/tools/api/tiktok-ads/README.md +23 -0
- package/templates/.zaip-aios/templates/tools/api/tiktok-ads/manifest.yaml +21 -0
- package/templates/.zaip-aios/templates/tools/api/youtube-analytics/README.md +22 -0
- package/templates/.zaip-aios/templates/tools/api/youtube-analytics/manifest.yaml +20 -0
- package/templates/.zaip-aios/templates/tools/catalog.yaml +358 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/browser/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/browser/manifest.yaml +24 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/filesystem/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/filesystem/manifest.yaml +24 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/git/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/git/manifest.yaml +24 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/github/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/github/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/gitlab/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/gitlab/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/jira/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/jira/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/linear/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/linear/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/notion/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/notion/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/openai-docs/README.md +15 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/openai-docs/manifest.yaml +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/postgresql/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/postgresql/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/slack/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/slack/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/sqlite/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/development/sqlite/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/aws/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/aws/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/azure/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/azure/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/cloudflare/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/cloudflare/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/docker/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/docker/manifest.yaml +24 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/gcp/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/gcp/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/hostinger/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/hostinger/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/kubernetes/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/kubernetes/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/terraform/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/infra/terraform/manifest.yaml +24 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/google-ads/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/google-ads/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/google-analytics/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/google-analytics/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/google-search-console/README.md +19 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/google-search-console/manifest.yaml +24 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/google-tag-manager/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/google-tag-manager/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/hubspot/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/hubspot/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/instagram-insights/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/instagram-insights/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/linkedin-ads/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/linkedin-ads/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/mailchimp/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/mailchimp/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/meta-ads/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/meta-ads/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/semrush/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/semrush/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/tiktok-ads/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/tiktok-ads/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/youtube-analytics/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/marketing/youtube-analytics/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/cloudwatch/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/cloudwatch/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/datadog/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/datadog/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/elasticsearch/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/elasticsearch/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/grafana/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/grafana/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/kibana/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/kibana/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/loki/README.md +19 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/loki/manifest.yaml +24 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/new-relic/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/new-relic/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/opentelemetry/README.md +20 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/opentelemetry/manifest.yaml +25 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/prometheus/README.md +19 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/prometheus/manifest.yaml +24 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/sentry/README.md +21 -0
- package/templates/.zaip-aios/templates/tools/mcp/observability/sentry/manifest.yaml +26 -0
- package/templates/.zaip-aios/templates/tools/policies/approval-rules.yaml +8 -0
- package/templates/.zaip-aios/templates/tools/policies/financial-limits.yaml +6 -0
- package/templates/.zaip-aios/templates/tools/policies/permissions.yaml +8 -0
- package/templates/.zaip-aios/templates/tools/policies/secret-handling.md +7 -0
- package/templates/.zaip-aios/templates/tools/profiles/business.yaml +8 -0
- package/templates/.zaip-aios/templates/tools/profiles/default.yaml +8 -0
- package/templates/.zaip-aios/templates/tools/profiles/development.yaml +13 -0
- package/templates/.zaip-aios/templates/tools/profiles/infrastructure.yaml +8 -0
- package/templates/.zaip-aios/templates/tools/profiles/marketing.yaml +9 -0
- package/templates/.zaip-aios/templates/tools/profiles/observability.yaml +8 -0
- package/templates/.zaip-aios/templates/tools/runtime/README.md +3 -0
- package/templates/.zaip-aios/templates/tools/runtime/api-mcp-runtime.mjs +217 -0
- package/templates/.zaip-aios/templates/tools/runtime/api-mcp-runtime.test.mjs +56 -0
- package/templates/.zaip-aios/templates/tools/runtime/fixtures/definition.json +17 -0
- package/templates/.zaip-aios/templates/tools/runtime/runner.mjs +16 -0
- package/templates/.zaip-aios/templates/tools/runtime/stdio.test.mjs +32 -0
- package/templates/.zaip-aios/templates/tools/state.example.yaml +8 -0
- package/templates/.zaip-aios/templates/zaip-aios/INDEX.md +26 -0
- package/templates/.zaip-aios/templates/zaip-aios/README.md +13 -0
- package/templates/.zaip-aios/templates/zaip-aios/VERSION +1 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/01-primeiros-passos.md +10 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/02-requirements.md +12 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/03-tasks.md +12 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/04-specs.md +16 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/05-prds.md +13 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/06-execucao.md +13 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/07-revisao-e-validacao.md +8 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/08-contexto-e-tokens.md +10 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/09-agentes-e-squads.md +8 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/10-seguranca.md +206 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/11-observabilidade-e-custos.md +10 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/12-instalacao-e-upgrade.md +10 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/13-boas-praticas.md +12 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/14-troubleshooting.md +12 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/15-tools-e-codex.md +25 -0
- package/templates/.zaip-aios/templates/zaip-aios/guides/16-lifecycle-e-reconciliacao.md +47 -0
- package/templates/template-manifest.json +3210 -69
- package/templates/.agents/rules/architecture.md +0 -21
- package/templates/.agents/rules/context.md +0 -18
- package/templates/.agents/rules/core.md +0 -16
- package/templates/.agents/rules/workflow.md +0 -21
- /package/templates/.agents/rules/{security.md → zaip/security.md} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e,n as t,t as n}from"./assets/preload-helper-BdFrVu1K.js";function r(e,t,n={}){let r=[],s=new te,c=(e,t,n)=>{try{return e[t]=n,!0}catch{return!1}},l=(t,n)=>{let u=i(t),d=u===`Module`||!!t.__esModule;for(let{key:f,descriptor:p}of o(t,d,e.globalConstructors)){if(!d&&p.get){try{Object.defineProperty(n,f,p)}catch{}continue}if(a(f,u))continue;let m=t[f],h=s.getId(m);if(h!==void 0){r.push(()=>c(n,f,s.getMockedValue(h)));continue}let g=i(m);if(Array.isArray(m)){c(n,f,[]);continue}let _=g.includes(`Function`)&&typeof m==`function`;if((!_||m._isMockFunction)&&g!==`Object`&&g!==`Module`){c(n,f,m);continue}if(c(n,f,_?m:{})){if(_){let t=function(){if(this instanceof n[f])for(let{key:t,descriptor:n}of o(this,!1,e.globalConstructors)){if(n.get)continue;let e=this[t];if(i(e).includes(`Function`)&&typeof e==`function`){let e=this[t],n=r(this,t).mockImplementation(e),i=n.mockReset;n.mockRestore=n.mockReset=()=>(i.call(n),n.mockImplementation(e),n)}}};if(!e.spyOn)throw Error("[@vitest/mocker] `spyOn` is not defined. This is a Vitest error. Please open a new issue with reproduction.");let r=e.spyOn,a=r(n,f);if(e.type===`automock`){a.mockImplementation(t);let e=a.mockReset;a.mockRestore=a.mockReset=()=>(e.call(a),a.mockImplementation(t),a)}Object.defineProperty(n[f],"length",{value:0})}s.track(m,n[f]),l(m,n[f])}}},u=n;l(t,u);for(let e of r)e();return u}function i(e){return Object.prototype.toString.apply(e).slice(8,-1)}function a(e,t){return t.includes(`Function`)&&typeof e==`string`&&[`arguments`,`callee`,`caller`,`length`,`name`].includes(e)}function o(e,t,n){let{Map:r,Object:i,Function:a,RegExp:o,Array:c}=n,l=new r,u=e;do{if(u===i.prototype||u===a.prototype||u===o.prototype)break;s(u,e=>{let t=i.getOwnPropertyDescriptor(u,e);t&&l.set(e,{key:e,descriptor:t})})}while(u=i.getPrototypeOf(u));if(t&&!l.has(`default`)&&`default`in e){let t=i.getOwnPropertyDescriptor(e,`default`);t&&l.set(`default`,{key:`default`,descriptor:t})}return c.from(l.values())}function s(e,t){let n=typeof t==`function`?t:e=>t.add(e);Object.getOwnPropertyNames(e).forEach(n),Object.getOwnPropertySymbols(e).forEach(n)}function c(e=``){return e&&e.replace(/\\/g,`/`).replace(I,e=>e.toUpperCase())}function l(e,t){let n=``,r=0,i=-1,a=0,o=null;for(let s=0;s<=e.length;++s){if(s<e.length)o=e[s];else{if(o===`/`)break;o=`/`}if(o===`/`){if(!(i===s-1||a===1))if(a===2){if(n.length<2||r!==2||n[n.length-1]!==`.`||n[n.length-2]!==`.`){if(n.length>2){let e=n.lastIndexOf(`/`);e===-1?(n=``,r=0):(n=n.slice(0,e),r=n.length-1-n.lastIndexOf(`/`)),i=s,a=0;continue}else if(n.length>0){n=``,r=0,i=s,a=0;continue}}t&&(n+=n.length>0?`/..`:`..`,r=2)}else n.length>0?n+=`/${e.slice(i+1,s)}`:n=e.slice(i+1,s),r=s-i-1;i=s,a=0}else o===`.`&&a!==-1?++a:a=-1}return n}function u(e){return String(e)}function d(e=!1){let t=typeof process<`u`?process:void 0,n=t?.env||{},r=t?.argv||[];return!(`NO_COLOR`in n||r.includes(`--no-color`))&&(`FORCE_COLOR`in n||r.includes(`--color`)||t?.platform===`win32`||e&&n.TERM!==`dumb`||`CI`in n)||typeof window<`u`&&!!window.chrome}function f(e=!1){let t=d(e),n=(e,t,n,r)=>{let i=``,a=0;do i+=e.substring(a,r)+n,a=r+t.length,r=e.indexOf(t,a);while(~r);return i+e.substring(a)},r=(e,t,r=e)=>{let i=i=>{let a=String(i),o=a.indexOf(t,e.length);return~o?e+n(a,t,r,o)+t:e+a+t};return i.open=e,i.close=t,i},i={isColorSupported:t},a=e=>`\x1B[${e}m`;for(let[e,n]of ce)i[e]=t?r(a(n[0]),a(n[1]),n[2]):u;return i}function p(e,t){return t.forEach(function(t){t&&typeof t!=`string`&&!Array.isArray(t)&&Object.keys(t).forEach(function(n){if(n!=="default"&&!(n in e)){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}})}),Object.freeze(e)}function m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}function h(){if(le)return B;le=1;var e=Symbol.for(`react.transitional.element`),t=Symbol.for(`react.portal`),n=Symbol.for(`react.fragment`),r=Symbol.for(`react.strict_mode`),i=Symbol.for(`react.profiler`),a=Symbol.for(`react.consumer`),o=Symbol.for(`react.context`),s=Symbol.for(`react.forward_ref`),c=Symbol.for(`react.suspense`),l=Symbol.for(`react.suspense_list`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.view_transition`),p=Symbol.for(`react.client.reference`);function m(p){if(typeof p==`object`&&p){var m=p.$$typeof;switch(m){case e:switch(p=p.type,p){case n:case i:case r:case c:case l:case f:return p;default:switch(p&&=p.$$typeof,p){case o:case s:case d:case u:return p;case a:return p;default:return m}}case t:return m}}}return B.ContextConsumer=a,B.ContextProvider=o,B.Element=e,B.ForwardRef=s,B.Fragment=n,B.Lazy=d,B.Memo=u,B.Portal=t,B.Profiler=i,B.StrictMode=r,B.Suspense=c,B.SuspenseList=l,B.isContextConsumer=function(e){return m(e)===a},B.isContextProvider=function(e){return m(e)===o},B.isElement=function(t){return typeof t==`object`&&!!t&&t.$$typeof===e},B.isForwardRef=function(e){return m(e)===s},B.isFragment=function(e){return m(e)===n},B.isLazy=function(e){return m(e)===d},B.isMemo=function(e){return m(e)===u},B.isPortal=function(e){return m(e)===t},B.isProfiler=function(e){return m(e)===i},B.isStrictMode=function(e){return m(e)===r},B.isSuspense=function(e){return m(e)===c},B.isSuspenseList=function(e){return m(e)===l},B.isValidElementType=function(e){return typeof e==`string`||typeof e==`function`||e===n||e===i||e===r||e===c||e===l||typeof e==`object`&&!!e&&(e.$$typeof===d||e.$$typeof===u||e.$$typeof===o||e.$$typeof===a||e.$$typeof===s||e.$$typeof===p||e.getModuleId!==void 0)},B.typeOf=m,B}function g(){return ue||(ue=1,z.exports=h()),z.exports}function _(){if(de)return W;de=1;var e=Symbol.for(`react.element`),t=Symbol.for(`react.portal`),n=Symbol.for(`react.fragment`),r=Symbol.for(`react.strict_mode`),i=Symbol.for(`react.profiler`),a=Symbol.for(`react.provider`),o=Symbol.for(`react.context`),s=Symbol.for(`react.server_context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.suspense_list`),d=Symbol.for(`react.memo`),f=Symbol.for(`react.lazy`),p=Symbol.for(`react.offscreen`),m=Symbol.for(`react.module.reference`);function h(p){if(typeof p==`object`&&p){var m=p.$$typeof;switch(m){case e:switch(p=p.type,p){case n:case i:case r:case l:case u:return p;default:switch(p&&=p.$$typeof,p){case s:case o:case c:case f:case d:case a:return p;default:return m}}case t:return m}}}return W.ContextConsumer=o,W.ContextProvider=a,W.Element=e,W.ForwardRef=c,W.Fragment=n,W.Lazy=f,W.Memo=d,W.Portal=t,W.Profiler=i,W.StrictMode=r,W.Suspense=l,W.SuspenseList=u,W.isAsyncMode=function(){return!1},W.isConcurrentMode=function(){return!1},W.isContextConsumer=function(e){return h(e)===o},W.isContextProvider=function(e){return h(e)===a},W.isElement=function(t){return typeof t==`object`&&!!t&&t.$$typeof===e},W.isForwardRef=function(e){return h(e)===c},W.isFragment=function(e){return h(e)===n},W.isLazy=function(e){return h(e)===f},W.isMemo=function(e){return h(e)===d},W.isPortal=function(e){return h(e)===t},W.isProfiler=function(e){return h(e)===i},W.isStrictMode=function(e){return h(e)===r},W.isSuspense=function(e){return h(e)===l},W.isSuspenseList=function(e){return h(e)===u},W.isValidElementType=function(e){return typeof e==`string`||typeof e==`function`||e===n||e===i||e===r||e===l||e===u||e===p||typeof e==`object`&&!!e&&(e.$$typeof===f||e.$$typeof===d||e.$$typeof===a||e.$$typeof===o||e.$$typeof===c||e.$$typeof===m||e.getModuleId!==void 0)},W.typeOf=h,W}function v(){return G||(G=1,U.exports=_()),U.exports}function y(e){let{message:t=`$$stack trace error`,stackTraceLimit:n=1}=e||{},r=Error.stackTraceLimit,i=Error.prepareStackTrace;Error.stackTraceLimit=n,Error.prepareStackTrace=e=>e.stack;let a=Error(t).stack||``;return Error.prepareStackTrace=i,Error.stackTraceLimit=r,a}function ee(){if(pe)return q;pe=1;var e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v;return f=/\/(?![*\/])(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\\]).|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/uy,d=/--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y,e=/(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/uy,m=/(['"])(?:(?!\1)[^\\\n\r]|\\(?:\r\n|[^]))*(\1)?/y,u=/(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y,h=/[`}](?:[^`\\$]|\\[^]|\$(?!\{))*(`|\$\{)?/y,v=/[\t\v\f\ufeff\p{Zs}]+/uy,s=/\r?\n|[\r\u2028\u2029]/y,c=/\/\*(?:[^*]|\*(?!\/))*(\*\/)?/y,p=/\/\/.*/y,n=/[<>.:={}]|\/(?![\/*])/y,t=/[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/uy,r=/(['"])(?:(?!\1)[^])*(\1)?/y,i=/[^<>{}]+/y,_=/^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/,g=/^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/,a=/^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/,o=/^(?:return|throw|yield)$/,l=RegExp(s.source),q=function*(y,{jsx:ee=!1}={}){var b,x,S,C,w,T,E,D,O,k,A,j,M,N;for({length:T}=y,C=0,w=``,N=[{tag:`JS`}],b=[],A=0,j=!1;C<T;){switch(D=N[N.length-1],D.tag){case`JS`:case`JSNonExpressionParen`:case`InterpolationInTemplate`:case`InterpolationInJSX`:if(y[C]===`/`&&(_.test(w)||a.test(w))&&(f.lastIndex=C,E=f.exec(y))){C=f.lastIndex,w=E[0],j=!0,yield{type:`RegularExpressionLiteral`,value:E[0],closed:E[1]!==void 0&&E[1]!==`\\`};continue}if(d.lastIndex=C,E=d.exec(y)){switch(M=E[0],O=d.lastIndex,k=M,M){case`(`:w===`?NonExpressionParenKeyword`&&N.push({tag:`JSNonExpressionParen`,nesting:A}),A++,j=!1;break;case`)`:A--,j=!0,D.tag===`JSNonExpressionParen`&&A===D.nesting&&(N.pop(),k=`?NonExpressionParenEnd`,j=!1);break;case`{`:d.lastIndex=0,S=!g.test(w)&&(_.test(w)||a.test(w)),b.push(S),j=!1;break;case`}`:switch(D.tag){case`InterpolationInTemplate`:if(b.length===D.nesting){h.lastIndex=C,E=h.exec(y),C=h.lastIndex,w=E[0],E[1]==="${"?(w=`?InterpolationInTemplate`,j=!1,yield{type:`TemplateMiddle`,value:E[0]}):(N.pop(),j=!0,yield{type:`TemplateTail`,value:E[0],closed:E[1]==="`"});continue}break;case`InterpolationInJSX`:if(b.length===D.nesting){N.pop(),C+=1,w=`}`,yield{type:`JSXPunctuator`,value:`}`};continue}}j=b.pop(),k=j?`?ExpressionBraceEnd`:`}`;break;case`]`:j=!0;break;case`++`:case`--`:k=j?`?PostfixIncDec`:`?UnaryIncDec`;break;case`<`:if(ee&&(_.test(w)||a.test(w))){N.push({tag:`JSXTag`}),C+=1,w=`<`,yield{type:`JSXPunctuator`,value:M};continue}j=!1;break;default:j=!1}C=O,w=k,yield{type:`Punctuator`,value:M};continue}if(e.lastIndex=C,E=e.exec(y)){switch(C=e.lastIndex,k=E[0],E[0]){case`for`:case`if`:case`while`:case`with`:w!==`.`&&w!==`?.`&&(k=`?NonExpressionParenKeyword`)}w=k,j=!a.test(E[0]),yield{type:E[1]===`#`?`PrivateIdentifier`:`IdentifierName`,value:E[0]};continue}if(m.lastIndex=C,E=m.exec(y)){C=m.lastIndex,w=E[0],j=!0,yield{type:`StringLiteral`,value:E[0],closed:E[2]!==void 0};continue}if(u.lastIndex=C,E=u.exec(y)){C=u.lastIndex,w=E[0],j=!0,yield{type:`NumericLiteral`,value:E[0]};continue}if(h.lastIndex=C,E=h.exec(y)){C=h.lastIndex,w=E[0],E[1]==="${"?(w=`?InterpolationInTemplate`,N.push({tag:`InterpolationInTemplate`,nesting:b.length}),j=!1,yield{type:`TemplateHead`,value:E[0]}):(j=!0,yield{type:`NoSubstitutionTemplate`,value:E[0],closed:E[1]==="`"});continue}break;case`JSXTag`:case`JSXTagEnd`:if(n.lastIndex=C,E=n.exec(y)){switch(C=n.lastIndex,k=E[0],E[0]){case`<`:N.push({tag:`JSXTag`});break;case`>`:N.pop(),w===`/`||D.tag===`JSXTagEnd`?(k=`?JSX`,j=!0):N.push({tag:`JSXChildren`});break;case`{`:N.push({tag:`InterpolationInJSX`,nesting:b.length}),k=`?InterpolationInJSX`,j=!1;break;case`/`:w===`<`&&(N.pop(),N[N.length-1].tag===`JSXChildren`&&N.pop(),N.push({tag:`JSXTagEnd`}))}w=k,yield{type:`JSXPunctuator`,value:E[0]};continue}if(t.lastIndex=C,E=t.exec(y)){C=t.lastIndex,w=E[0],yield{type:`JSXIdentifier`,value:E[0]};continue}if(r.lastIndex=C,E=r.exec(y)){C=r.lastIndex,w=E[0],yield{type:`JSXString`,value:E[0],closed:E[2]!==void 0};continue}break;case`JSXChildren`:if(i.lastIndex=C,E=i.exec(y)){C=i.lastIndex,w=E[0],yield{type:`JSXText`,value:E[0]};continue}switch(y[C]){case`<`:N.push({tag:`JSXTag`}),C++,w=`<`,yield{type:`JSXPunctuator`,value:`<`};continue;case`{`:N.push({tag:`InterpolationInJSX`,nesting:b.length}),C++,w=`?InterpolationInJSX`,j=!1,yield{type:`JSXPunctuator`,value:`{`};continue}}if(v.lastIndex=C,E=v.exec(y)){C=v.lastIndex,yield{type:`WhiteSpace`,value:E[0]};continue}if(s.lastIndex=C,E=s.exec(y)){C=s.lastIndex,j=!1,o.test(w)&&(w=`?NoLineTerminatorHere`),yield{type:`LineTerminatorSequence`,value:E[0]};continue}if(c.lastIndex=C,E=c.exec(y)){C=c.lastIndex,l.test(E[0])&&(j=!1,o.test(w)&&(w=`?NoLineTerminatorHere`)),yield{type:`MultiLineComment`,value:E[0],closed:E[1]!==void 0};continue}if(p.lastIndex=C,E=p.exec(y)){C=p.lastIndex,j=!1,yield{type:`SingleLineComment`,value:E[0]};continue}x=String.fromCodePoint(y.codePointAt(C)),C+=x.length,w=x,j=!1,yield{type:D.tag.startsWith(`JSX`)?`JSXInvalid`:`Invalid`,value:x}}},q}function b(e=``){return e&&e.replace(/\\/g,`/`).replace(_e,e=>e.toUpperCase())}function x(){return typeof process<`u`&&typeof process.cwd==`function`?process.cwd().replace(/\\/g,`/`):`/`}function S(e,t){let n=``,r=0,i=-1,a=0,o=null;for(let s=0;s<=e.length;++s){if(s<e.length)o=e[s];else{if(o===`/`)break;o=`/`}if(o===`/`){if(!(i===s-1||a===1))if(a===2){if(n.length<2||r!==2||n[n.length-1]!==`.`||n[n.length-2]!==`.`){if(n.length>2){let e=n.lastIndexOf(`/`);e===-1?(n=``,r=0):(n=n.slice(0,e),r=n.length-1-n.lastIndexOf(`/`)),i=s,a=0;continue}else if(n.length>0){n=``,r=0,i=s,a=0;continue}}t&&(n+=n.length>0?`/..`:`..`,r=2)}else n.length>0?n+=`/${e.slice(i+1,s)}`:n=e.slice(i+1,s),r=s-i-1;i=s,a=0}else o===`.`&&a!==-1?++a:a=-1}return n}function C(e){if(!e.includes(`:`))return[e];let t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/^\(|\)$/g,``));if(!t)return[e];let n=t[1];if(n.startsWith(`async `)&&(n=n.slice(6)),n.startsWith(`http:`)||n.startsWith(`https:`)){let e=new URL(n);e.searchParams.delete(`import`),e.searchParams.delete(`browserv`),n=e.pathname+e.hash+e.search}if(n.startsWith(`/@fs/`)){let e=/^\/@fs\/[a-zA-Z]:\//.test(n);n=n.slice(e?5:4)}return[n,t[2]||void 0,t[3]||void 0]}function w(e){let t=e.trim();if(be.test(t)||(t.includes(` > eval`)&&(t=t.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),!t.includes(`@`)&&!t.includes(`:`)))return null;let n=/((.*".+"[^@]*)?[^@]*)(@)/,r=t.match(n),i=r&&r[1]?r[1]:void 0,[a,o,s]=C(t.replace(n,``));return!a||!o||!s?null:{file:a,method:i||``,line:Number.parseInt(o),column:Number.parseInt(s)}}function T(e){let t=e.trim();return Z.test(t)?E(t):w(t)}function E(e){let t=e.trim();if(!Z.test(t))return null;t.includes(`(eval `)&&(t=t.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));let n=t.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),r=n.match(/ (\(.+\)$)/);n=r?n.replace(r[0],``):n;let[i,a,o]=C(r?r[1]:n),s=r&&n||``,c=i&&[`eval`,`<anonymous>`].includes(i)?void 0:i;return!c||!a||!o?null:(s.startsWith(`async `)&&(s=s.slice(6)),c.startsWith(`file://`)&&(c=c.slice(7)),c=c.startsWith(`node:`)||c.startsWith(`internal:`)?c:ye(c),s&&=s.replace(/__vite_ssr_import_\d+__\./g,``),{method:s,file:c,line:Number.parseInt(a),column:Number.parseInt(o)})}function D(e){let t=e?.globalThisKey||`__vitest_mocker__`;function n(){return typeof globalThis[t]<`u`?globalThis[t]:new Proxy({},{get(e,t){throw Error(`Vitest mocker was not initialized in this environment. vi.${String(t)}() is forbidden.`)}})}return{hoisted(e){if(typeof e!=`function`)throw TypeError(`vi.hoisted() expects a function, but received a ${typeof e}`);return e()},mock(e,t){if(typeof e!=`string`)throw TypeError(`vi.mock() expects a string path, but received a ${typeof e}`);let r=O(`mock`);n().queueMock(e,r,typeof t==`function`?()=>t(()=>n().importActual(e,r)):t)},unmock(e){if(typeof e!=`string`)throw TypeError(`vi.unmock() expects a string path, but received a ${typeof e}`);n().queueUnmock(e,O(`unmock`))},doMock(e,t){if(typeof e!=`string`)throw TypeError(`vi.doMock() expects a string path, but received a ${typeof e}`);let r=O(`doMock`);n().queueMock(e,r,typeof t==`function`?()=>t(()=>n().importActual(e,r)):t)},doUnmock(e){if(typeof e!=`string`)throw TypeError(`vi.doUnmock() expects a string path, but received a ${typeof e}`);n().queueUnmock(e,O(`doUnmock`))},async importActual(e){return n().importActual(e,O(`importActual`))},async importMock(e){return n().importMock(e,O(`importMock`))}}}function O(e){let t=y({stackTraceLimit:5}).split(`
|
|
2
|
+
`);return T(t[t.findIndex(t=>t.includes(` at Object.${e}`)||t.includes(`${e}@`))+1])?.file||``}function k(e){return e.replace(Se,``)}function A(e){let t=new we(e(`__vitest_mocker__`),{resolveId(e,t){return $(`resolveId`,{id:e,importer:t})},resolveMock(e,t,n){return $(`resolveMock`,{id:e,importer:t,options:n})},async invalidate(e){return $(`invalidate`,{ids:e})}},(...e)=>globalThis.__STORYBOOK_MODULE_TEST__.spyOn(...e),{root:``});return globalThis.__vitest_mocker__=t,D({globalThisKey:`__vitest_mocker__`})}var j,M,N,P,F,te,I,ne,re,L,ie,ae,oe,R,se,ce,z,B,le,ue,V,H,U,W,de,G,K,fe,q,pe,J,Y,me,he,ge,_e,ve,ye,X,Z,be,Q,xe,Se,Ce,$,we;e((()=>{t(),j=class{registryByUrl=new Map;registryById=new Map;clear(){this.registryByUrl.clear(),this.registryById.clear()}keys(){return this.registryByUrl.keys()}add(e){this.registryByUrl.set(e.url,e),this.registryById.set(e.id,e)}register(e,t,n,r,i){let a=typeof e==`object`?e.type:e;if(typeof e==`object`){let t=e;if(t instanceof M||t instanceof N||t instanceof F||t instanceof P)throw TypeError(`[vitest] Cannot register a mock that is already defined. Expected a JSON representation from \`MockedModule.toJSON\`, instead got "${t.type}". Use "registry.add()" to update a mock instead.`);if(t.type===`automock`){let e=M.fromJSON(t);return this.add(e),e}else if(t.type===`autospy`){let e=N.fromJSON(t);return this.add(e),e}else if(t.type===`redirect`){let e=P.fromJSON(t);return this.add(e),e}else throw t.type===`manual`?Error("Cannot set serialized manual mock. Define a factory function manually with `ManualMockedModule.fromJSON()`."):Error(`Unknown mock type: ${t.type}`)}if(typeof t!=`string`)throw TypeError(`[vitest] Mocks require a raw string.`);if(typeof r!=`string`)throw TypeError(`[vitest] Mocks require a url string.`);if(typeof n!=`string`)throw TypeError(`[vitest] Mocks require an id string.`);if(a===`manual`){if(typeof i!=`function`)throw TypeError(`[vitest] Manual mocks require a factory function.`);let e=new F(t,n,r,i);return this.add(e),e}else if(a===`automock`||a===`autospy`){let e=a===`automock`?new M(t,n,r):new N(t,n,r);return this.add(e),e}else if(a===`redirect`){if(typeof i!=`string`)throw TypeError(`[vitest] Redirect mocks require a redirect string.`);let e=new P(t,n,r,i);return this.add(e),e}else throw Error(`[vitest] Unknown mock type: ${a}`)}delete(e){this.registryByUrl.delete(e)}get(e){return this.registryByUrl.get(e)}getById(e){return this.registryById.get(e)}has(e){return this.registryByUrl.has(e)}},M=class{type=`automock`;constructor(e,t,n){this.raw=e,this.id=t,this.url=n}static fromJSON(e){return new N(e.raw,e.id,e.url)}toJSON(){return{type:this.type,url:this.url,raw:this.raw,id:this.id}}},N=class e{type=`autospy`;constructor(e,t,n){this.raw=e,this.id=t,this.url=n}static fromJSON(t){return new e(t.raw,t.id,t.url)}toJSON(){return{type:this.type,url:this.url,id:this.id,raw:this.raw}}},P=class e{type=`redirect`;constructor(e,t,n,r){this.raw=e,this.id=t,this.url=n,this.redirect=r}static fromJSON(t){return new e(t.raw,t.id,t.url,t.redirect)}toJSON(){return{type:this.type,url:this.url,raw:this.raw,id:this.id,redirect:this.redirect}}},F=class e{cache;type=`manual`;constructor(e,t,n,r){this.raw=e,this.id=t,this.url=n,this.factory=r}async resolve(){if(this.cache)return this.cache;let e;try{e=await this.factory()}catch(e){let t=Error(`[vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock`);throw t.cause=e,t}if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(`[vitest] vi.mock("${this.raw}", factory?: () => unknown) is not returning an object. Did you mean to return an object with a "default" key?`);return this.cache=e}static fromJSON(t,n){return new e(t.raw,t.id,t.url,n)}toJSON(){return{type:this.type,url:this.url,id:this.id,raw:this.raw}}},te=class{idMap=new Map;mockedValueMap=new Map;getId(e){return this.idMap.get(e)}getMockedValue(e){return this.mockedValueMap.get(e)}track(e,t){let n=this.idMap.size;return this.idMap.set(e,n),this.mockedValueMap.set(n,t),n}},I=/^[A-Za-z]:\//,ne=/^[/\\]{2}/,re=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/,L=/^[A-Za-z]:$/,ie=/.(\.[^./]+|\.)$/,ae=function(e){if(e.length===0)return`.`;e=c(e);let t=e.match(ne),n=R(e),r=e[e.length-1]===`/`;return e=l(e,!n),e.length===0?n?`/`:r?`./`:`.`:(r&&(e+=`/`),L.test(e)&&(e+=`/`),t?n?`//${e}`:`//./${e}`:n&&!R(e)?`/${e}`:e)},oe=function(...e){let t=``;for(let n of e)if(n)if(t.length>0){let e=t[t.length-1]===`/`,r=n[0]===`/`;e&&r?t+=n.slice(1):t+=e||r?n:`/${n}`}else t+=n;return ae(t)},R=function(e){return re.test(e)},se=function(e){if(e===`..`)return``;let t=ie.exec(c(e));return t&&t[1]||``},ce=Object.entries({reset:[0,0],bold:[1,22,`\x1B[22m\x1B[1m`],dim:[2,22,`\x1B[22m\x1B[2m`],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}),u.open=``,u.close=``,f(),z={exports:{}},B={},V=g(),H=p({__proto__:null,default:m(V)},[V]),U={exports:{}},W={},K=v(),fe=p({__proto__:null,default:m(K)},[K]),Object.fromEntries([`isAsyncMode`,`isConcurrentMode`,`isContextConsumer`,`isContextProvider`,`isElement`,`isForwardRef`,`isFragment`,`isLazy`,`isMemo`,`isPortal`,`isProfiler`,`isStrictMode`,`isSuspense`,`isSuspenseList`,`isValidElementType`].map(e=>[e,t=>fe[e](t)||H[e](t)]));try{let{getPromiseDetails:e,kPending:t,kRejected:n}=process.binding(`util`);Array.isArray(e(Promise.resolve()))}catch{}ee(),J={keyword:`break.case.catch.continue.debugger.default.do.else.finally.for.function.if.return.switch.throw.try.var.const.while.with.new.this.super.class.extends.export.import.null.true.false.in.instanceof.typeof.void.delete`.split(`.`),strict:[`implements`,`interface`,`let`,`package`,`private`,`protected`,`public`,`static`,`yield`]},new Set(J.keyword),new Set(J.strict),Y=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,me=new Uint8Array(64),he=new Uint8Array(128);for(let e=0;e<Y.length;e++){let t=Y.charCodeAt(e);me[e]=t,he[t]=e}(function(e){e[e.Empty=1]=`Empty`,e[e.Hash=2]=`Hash`,e[e.Query=3]=`Query`,e[e.RelativePath=4]=`RelativePath`,e[e.AbsolutePath=5]=`AbsolutePath`,e[e.SchemeRelative=6]=`SchemeRelative`,e[e.Absolute=7]=`Absolute`})(ge||={}),_e=/^[A-Za-z]:\//,ve=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/,ye=function(...e){e=e.map(e=>b(e));let t=``,n=!1;for(let r=e.length-1;r>=-1&&!n;r--){let i=r>=0?e[r]:x();!i||i.length===0||(t=`${i}/${t}`,n=X(i))}return t=S(t,!n),n&&!X(t)?`/${t}`:t.length>0?t:`.`},X=function(e){return ve.test(e)},Z=/^\s*at .*(?:\S:\d+|\(native\))/m,be=/^(?:eval@)?(?:\[native code\])?$/,{now:Q}=Date,xe=class{registry=new j;queue=new Set;mockedIds=new Set;constructor(e,t,n,r){this.interceptor=e,this.rpc=t,this.spyOn=n,this.config=r}async prepare(){this.queue.size&&await Promise.all([...this.queue.values()])}async resolveFactoryModule(e){let t=this.registry.get(e);if(!t||t.type!==`manual`)throw Error(`Mock ${e} wasn't registered. This is probably a Vitest error. Please, open a new issue with reproduction.`);return await t.resolve()}getFactoryModule(e){let t=this.registry.get(e);if(!t||t.type!==`manual`)throw Error(`Mock ${e} wasn't registered. This is probably a Vitest error. Please, open a new issue with reproduction.`);if(!t.cache)throw Error(`Mock ${e} wasn't resolved. This is probably a Vitest error. Please, open a new issue with reproduction.`);return t.cache}async invalidate(){let e=Array.from(this.mockedIds);e.length&&(await this.rpc.invalidate(e),await this.interceptor.invalidate(),this.registry.clear())}async importActual(e,t){let r=await this.rpc.resolveId(e,t);if(r==null)throw Error(`[vitest] Cannot resolve "${e}" imported from "${t}"`);let i=se(r.id),a=new URL(r.url,location.href),o=`_vitest_original&ext${i}`,s=`${a.pathname}${a.search?`${a.search}&${o}`:`?${o}`}${a.hash}`;return this.wrapDynamicImport(()=>n(()=>import(s),[],import.meta.url)).then(e=>{if(!r.optimized||typeof e.default>`u`)return e;let t=e.default;return t?.__esModule?t:{...typeof t==`object`&&!Array.isArray(t)||typeof t==`function`?t:{},default:t}})}async importMock(e,t){await this.prepare();let{resolvedId:r,resolvedUrl:i,redirectUrl:a}=await this.rpc.resolveMock(e,t,{mock:`auto`}),o=this.resolveMockPath(k(i)),s=this.registry.get(o);if(s||=a?new P(e,r,o,new URL(this.resolveMockPath(k(a)),location.href).toString()):new M(e,r,o),s.type===`manual`)return await s.resolve();if(s.type===`automock`||s.type===`autospy`){let e=new URL(`/@id/${r}`,location.href),t=e.search?`${e.search}&t=${Q()}`:`?t=${Q()}`,i=await n(()=>import(`${e.pathname}${t}&mock=${s.type}${e.hash}`),[],import.meta.url);return this.mockObject(i,s.type)}return n(()=>import(s.redirect),[],import.meta.url)}mockObject(e,t=`automock`){return r({globalConstructors:{Object,Function,Array,Map,RegExp},spyOn:this.spyOn,type:t},e)}queueMock(e,t,n){let r=this.rpc.resolveMock(e,t,{mock:typeof n==`function`?`factory`:n?.spy?`spy`:`auto`}).then(async({redirectUrl:t,resolvedId:r,resolvedUrl:i,needsInterop:a,mockType:o})=>{let s=this.resolveMockPath(k(i));this.mockedIds.add(r);let c=typeof n==`function`?async()=>{let e=await n();return a?{default:e}:e}:void 0,l=typeof t==`string`?new URL(this.resolveMockPath(k(t)),location.href).toString():null,u;u=o===`manual`?this.registry.register(`manual`,e,r,s,c):o===`autospy`?this.registry.register(`autospy`,e,r,s):o===`redirect`?this.registry.register(`redirect`,e,r,s,l):this.registry.register(`automock`,e,r,s),await this.interceptor.register(u)}).finally(()=>{this.queue.delete(r)});this.queue.add(r)}queueUnmock(e,t){let n=this.rpc.resolveId(e,t).then(async e=>{if(!e)return;let t=this.resolveMockPath(k(e.url));this.mockedIds.add(e.id),this.registry.delete(t),await this.interceptor.delete(t)}).finally(()=>{this.queue.delete(n)});this.queue.add(n)}wrapDynamicImport(e){return typeof e==`function`?new Promise((t,n)=>{this.prepare().finally(()=>{e().then(t,n)})}):e}resolveMockPath(e){let t=this.config,n=oe(`/@fs/`,t.root);return e.startsWith(t.root)?e.slice(t.root.length):e.startsWith(n)?e.slice(n.length):e}},Se=/(\?|&)v=\w{8}/,Ce=class{mocks=new j;constructor(){}async register(e){this.mocks.add(e)}async delete(e){this.mocks.delete(e)}async invalidate(){this.mocks.clear()}},$=e=>{switch(e){case`resolveId`:return Promise.resolve({id:``,url:``,optimized:!1});case`resolveMock`:return Promise.resolve({mockType:`dummy`,resolvedId:``,resolvedUrl:``,redirectUrl:``,needsInterop:!1});case`invalidate`:return Promise.resolve()}},we=class extends xe{queueMock(){}},globalThis.__STORYBOOK_MOCKER__=A(()=>new Ce)}))();
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="pt-BR">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<meta name="description" content="Design system e catálogo de componentes do repositório ZAIP." />
|
|
7
|
+
<title>ZAIP Design System</title>
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div id="root"></div>
|
|
11
|
+
<script type="module" src="/src/main.tsx"></script>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zaip-ai/design-catalog",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "vite build --emptyOutDir=false && node ../../../../scripts/normalize-generated-text.mjs dist",
|
|
8
|
+
"build:storybook": "storybook build --output-dir dist/storybook --quiet && node ../../../../scripts/normalize-generated-text.mjs dist/storybook && node -e \"const fs=require('node:fs');fs.rmSync('dist/storybook/project.json',{force:true});for(const path of ['node_modules/.cache','node_modules/.vite'])fs.rmSync(path,{force:true,recursive:true})\"",
|
|
9
|
+
"clean": "node ../../../../scripts/clean.mjs",
|
|
10
|
+
"dev": "vite --host 127.0.0.1 --port 5174 --strictPort",
|
|
11
|
+
"storybook": "storybook dev --host 127.0.0.1 --port 6006 --no-open",
|
|
12
|
+
"test": "vitest run --passWithNoTests",
|
|
13
|
+
"typecheck": "tsc --noEmit"
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"react": "19.2.7",
|
|
17
|
+
"react-dom": "19.2.7"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@storybook/addon-a11y": "10.5.0",
|
|
21
|
+
"@storybook/addon-docs": "10.5.0",
|
|
22
|
+
"@storybook/react-vite": "10.5.0",
|
|
23
|
+
"@types/react": "19.2.17",
|
|
24
|
+
"@types/react-dom": "19.2.3",
|
|
25
|
+
"@vitejs/plugin-react": "6.0.3",
|
|
26
|
+
"storybook": "10.5.0",
|
|
27
|
+
"typescript": "7.0.2",
|
|
28
|
+
"vite": "8.1.4",
|
|
29
|
+
"vitest": "4.1.10",
|
|
30
|
+
"yaml": "2.9.0"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
import { CatalogShell } from "./components/CatalogShell.js";
|
|
3
|
+
import { ComponentsPage } from "./pages/ComponentsPage.js";
|
|
4
|
+
import { DesignSystemPage } from "./pages/DesignSystemPage.js";
|
|
5
|
+
|
|
6
|
+
type CatalogPage = "design-system" | "components";
|
|
7
|
+
|
|
8
|
+
function currentPage(): CatalogPage {
|
|
9
|
+
return window.location.hash.replace(/^#\/?/, "") === "components"
|
|
10
|
+
? "components"
|
|
11
|
+
: "design-system";
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function App() {
|
|
15
|
+
const [page, setPage] = useState<CatalogPage>(currentPage);
|
|
16
|
+
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const update = () => setPage(currentPage());
|
|
19
|
+
window.addEventListener("hashchange", update);
|
|
20
|
+
if (window.location.hash === "") window.location.replace("#/design-system");
|
|
21
|
+
return () => window.removeEventListener("hashchange", update);
|
|
22
|
+
}, []);
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<CatalogShell page={page}>
|
|
26
|
+
{page === "components" ? <ComponentsPage /> : <DesignSystemPage />}
|
|
27
|
+
</CatalogShell>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { type ReactNode, useState } from "react";
|
|
2
|
+
|
|
3
|
+
export function CatalogShell({ children, page }: { children: ReactNode; page: string }) {
|
|
4
|
+
const [darkMode, setDarkMode] = useState(false);
|
|
5
|
+
|
|
6
|
+
return (
|
|
7
|
+
<div className={`catalog-shell${darkMode ? " theme-dark" : ""}`}>
|
|
8
|
+
<header className="topbar">
|
|
9
|
+
<a className="brand" href="#/design-system" aria-label="ZAIP Design System">
|
|
10
|
+
<img className="brand-logo" src="logo_novo_azul.png" alt="ZAIP" />
|
|
11
|
+
<span className="brand-product">Design system</span>
|
|
12
|
+
</a>
|
|
13
|
+
<div className="topbar-actions">
|
|
14
|
+
<nav aria-label="Catálogo visual">
|
|
15
|
+
<a aria-current={page === "design-system" ? "page" : undefined} href="#/design-system">
|
|
16
|
+
Design system
|
|
17
|
+
</a>
|
|
18
|
+
<a aria-current={page === "components" ? "page" : undefined} href="#/components">
|
|
19
|
+
Components
|
|
20
|
+
</a>
|
|
21
|
+
</nav>
|
|
22
|
+
<button
|
|
23
|
+
className="theme-toggle"
|
|
24
|
+
type="button"
|
|
25
|
+
aria-pressed={darkMode}
|
|
26
|
+
onClick={() => setDarkMode((active) => !active)}
|
|
27
|
+
>
|
|
28
|
+
<span aria-hidden="true">{darkMode ? "☀" : "☾"}</span>
|
|
29
|
+
{darkMode ? "Light mode" : "Dark mode"}
|
|
30
|
+
</button>
|
|
31
|
+
</div>
|
|
32
|
+
</header>
|
|
33
|
+
<main>{children}</main>
|
|
34
|
+
<footer>
|
|
35
|
+
<span>Fonte canônica: .agents/design/DESIGN.md</span>
|
|
36
|
+
<span>ZAIP-AIOS · catálogo local</span>
|
|
37
|
+
</footer>
|
|
38
|
+
</div>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export function PageIntro({
|
|
43
|
+
eyebrow,
|
|
44
|
+
title,
|
|
45
|
+
description,
|
|
46
|
+
}: {
|
|
47
|
+
eyebrow: string;
|
|
48
|
+
title: string;
|
|
49
|
+
description: string;
|
|
50
|
+
}) {
|
|
51
|
+
return (
|
|
52
|
+
<section className="page-intro">
|
|
53
|
+
<p className="eyebrow">{eyebrow}</p>
|
|
54
|
+
<h1>{title}</h1>
|
|
55
|
+
<p className="lede">{description}</p>
|
|
56
|
+
</section>
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export function Section({
|
|
61
|
+
title,
|
|
62
|
+
description,
|
|
63
|
+
children,
|
|
64
|
+
}: {
|
|
65
|
+
title: string;
|
|
66
|
+
description?: string;
|
|
67
|
+
children: ReactNode;
|
|
68
|
+
}) {
|
|
69
|
+
return (
|
|
70
|
+
<section className="catalog-section">
|
|
71
|
+
<div className="section-heading">
|
|
72
|
+
<h2>{title}</h2>
|
|
73
|
+
{description ? <p>{description}</p> : null}
|
|
74
|
+
</div>
|
|
75
|
+
{children}
|
|
76
|
+
</section>
|
|
77
|
+
);
|
|
78
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ButtonHTMLAttributes,
|
|
3
|
+
InputHTMLAttributes,
|
|
4
|
+
ReactNode,
|
|
5
|
+
SelectHTMLAttributes,
|
|
6
|
+
} from "react";
|
|
7
|
+
|
|
8
|
+
export function Button({
|
|
9
|
+
variant = "primary",
|
|
10
|
+
className = "",
|
|
11
|
+
...props
|
|
12
|
+
}: ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
13
|
+
variant?: "primary" | "secondary" | "ghost";
|
|
14
|
+
}) {
|
|
15
|
+
return (
|
|
16
|
+
<button className={`button button-${variant} ${className}`.trim()} type="button" {...props} />
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function Badge({
|
|
21
|
+
children,
|
|
22
|
+
tone = "neutral",
|
|
23
|
+
}: {
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
tone?: "neutral" | "accent" | "success" | "warning" | "error";
|
|
26
|
+
}) {
|
|
27
|
+
return <span className={`badge badge-${tone}`}>{children}</span>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function Card({ children, accent = false }: { children: ReactNode; accent?: boolean }) {
|
|
31
|
+
return <article className={accent ? "card card-accent" : "card"}>{children}</article>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function Metric({ label, value, change }: { label: string; value: string; change: string }) {
|
|
35
|
+
return (
|
|
36
|
+
<Card>
|
|
37
|
+
<p className="metric-label">{label}</p>
|
|
38
|
+
<strong className="metric-value">{value}</strong>
|
|
39
|
+
<p className="metric-change">{change}</p>
|
|
40
|
+
</Card>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function Field({
|
|
45
|
+
label,
|
|
46
|
+
hint,
|
|
47
|
+
error,
|
|
48
|
+
...props
|
|
49
|
+
}: InputHTMLAttributes<HTMLInputElement> & {
|
|
50
|
+
label: string;
|
|
51
|
+
hint?: string;
|
|
52
|
+
error?: string;
|
|
53
|
+
}) {
|
|
54
|
+
const descriptionId = `${props.id ?? props.name ?? "field"}-description`;
|
|
55
|
+
return (
|
|
56
|
+
<label className="field">
|
|
57
|
+
<span>{label}</span>
|
|
58
|
+
{hint ? <small>{hint}</small> : null}
|
|
59
|
+
<input
|
|
60
|
+
aria-describedby={hint || error ? descriptionId : undefined}
|
|
61
|
+
aria-invalid={Boolean(error)}
|
|
62
|
+
{...props}
|
|
63
|
+
/>
|
|
64
|
+
{error ? <em id={descriptionId}>{error}</em> : hint ? <i id={descriptionId}>{hint}</i> : null}
|
|
65
|
+
</label>
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export function SelectField({
|
|
70
|
+
label,
|
|
71
|
+
children,
|
|
72
|
+
...props
|
|
73
|
+
}: SelectHTMLAttributes<HTMLSelectElement> & { label: string; children: ReactNode }) {
|
|
74
|
+
return (
|
|
75
|
+
<label className="field">
|
|
76
|
+
<span>{label}</span>
|
|
77
|
+
<select {...props}>{children}</select>
|
|
78
|
+
</label>
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export function EmptyState() {
|
|
83
|
+
return (
|
|
84
|
+
<Card>
|
|
85
|
+
<div className="empty-state">
|
|
86
|
+
<span className="empty-icon" aria-hidden="true">
|
|
87
|
+
◇
|
|
88
|
+
</span>
|
|
89
|
+
<h3>Nenhum item ainda</h3>
|
|
90
|
+
<p>Crie o primeiro registro para começar a acompanhar esta área.</p>
|
|
91
|
+
<Button>Adicionar item</Button>
|
|
92
|
+
</div>
|
|
93
|
+
</Card>
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export function DataTable() {
|
|
98
|
+
return (
|
|
99
|
+
<div className="table-wrap">
|
|
100
|
+
<table>
|
|
101
|
+
<caption className="sr-only">Exemplo de execuções recentes</caption>
|
|
102
|
+
<thead>
|
|
103
|
+
<tr>
|
|
104
|
+
<th>Execução</th>
|
|
105
|
+
<th>Status</th>
|
|
106
|
+
<th className="number">Tokens</th>
|
|
107
|
+
<th className="number">Custo</th>
|
|
108
|
+
</tr>
|
|
109
|
+
</thead>
|
|
110
|
+
<tbody>
|
|
111
|
+
<tr>
|
|
112
|
+
<td>
|
|
113
|
+
<strong>SPEC Checkout</strong>
|
|
114
|
+
<small>há 12 min</small>
|
|
115
|
+
</td>
|
|
116
|
+
<td>
|
|
117
|
+
<Badge tone="success">Concluída</Badge>
|
|
118
|
+
</td>
|
|
119
|
+
<td className="number">82.410</td>
|
|
120
|
+
<td className="number">R$ 18,42</td>
|
|
121
|
+
</tr>
|
|
122
|
+
<tr>
|
|
123
|
+
<td>
|
|
124
|
+
<strong>Task Ajustar login</strong>
|
|
125
|
+
<small>há 48 min</small>
|
|
126
|
+
</td>
|
|
127
|
+
<td>
|
|
128
|
+
<Badge tone="warning">Validando</Badge>
|
|
129
|
+
</td>
|
|
130
|
+
<td className="number">14.820</td>
|
|
131
|
+
<td className="number">R$ 3,17</td>
|
|
132
|
+
</tr>
|
|
133
|
+
</tbody>
|
|
134
|
+
</table>
|
|
135
|
+
</div>
|
|
136
|
+
);
|
|
137
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { describe, expect, it } from "vitest";
|
|
4
|
+
import { parse } from "yaml";
|
|
5
|
+
|
|
6
|
+
const designRoot = resolve(import.meta.dirname, "../../..");
|
|
7
|
+
|
|
8
|
+
describe("design contract", () => {
|
|
9
|
+
it("keeps structured tokens aligned with DESIGN.md frontmatter", async () => {
|
|
10
|
+
const [markdown, tokensSource, ...styles] = await Promise.all([
|
|
11
|
+
readFile(resolve(designRoot, "DESIGN.md"), "utf8"),
|
|
12
|
+
readFile(resolve(designRoot, "tokens.json"), "utf8"),
|
|
13
|
+
readFile(resolve(import.meta.dirname, "styles.css"), "utf8"),
|
|
14
|
+
readFile(resolve(import.meta.dirname, "styles/catalog.css"), "utf8"),
|
|
15
|
+
readFile(resolve(import.meta.dirname, "styles/design-system.css"), "utf8"),
|
|
16
|
+
readFile(resolve(import.meta.dirname, "styles/components.css"), "utf8"),
|
|
17
|
+
]);
|
|
18
|
+
const css = styles.join("\n");
|
|
19
|
+
const match = /^---\n([\s\S]+?)\n---/.exec(markdown);
|
|
20
|
+
expect(match?.[1]).toBeDefined();
|
|
21
|
+
const design = parse(match?.[1] ?? "") as Record<string, unknown>;
|
|
22
|
+
const tokens = JSON.parse(tokensSource) as Record<string, unknown>;
|
|
23
|
+
|
|
24
|
+
expect(tokens.colors).toEqual(design.colors);
|
|
25
|
+
expect(tokens.dark).toEqual(design.dark);
|
|
26
|
+
expect(tokens.neutral).toEqual(design.neutral);
|
|
27
|
+
expect(tokens.rounded).toEqual(design.rounded);
|
|
28
|
+
expect(tokens.spacing).toEqual(design.spacing);
|
|
29
|
+
for (const value of Object.values(tokens.colors as Record<string, string>)) {
|
|
30
|
+
expect(css.toLowerCase()).toContain(value.toLowerCase());
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StrictMode } from "react";
|
|
2
|
+
import { createRoot } from "react-dom/client";
|
|
3
|
+
import { App } from "./App.js";
|
|
4
|
+
import "./styles.css";
|
|
5
|
+
|
|
6
|
+
const root = document.getElementById("root");
|
|
7
|
+
if (root === null) throw new Error("Catalog root element is missing");
|
|
8
|
+
|
|
9
|
+
createRoot(root).render(
|
|
10
|
+
<StrictMode>
|
|
11
|
+
<App />
|
|
12
|
+
</StrictMode>,
|
|
13
|
+
);
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { PageIntro, Section } from "../components/CatalogShell.js";
|
|
2
|
+
import {
|
|
3
|
+
Badge,
|
|
4
|
+
Button,
|
|
5
|
+
Card,
|
|
6
|
+
DataTable,
|
|
7
|
+
EmptyState,
|
|
8
|
+
Field,
|
|
9
|
+
Metric,
|
|
10
|
+
SelectField,
|
|
11
|
+
} from "../components/Primitives.js";
|
|
12
|
+
|
|
13
|
+
export function ComponentsPage() {
|
|
14
|
+
return (
|
|
15
|
+
<>
|
|
16
|
+
<PageIntro
|
|
17
|
+
eyebrow="Documentação executável"
|
|
18
|
+
title="Components"
|
|
19
|
+
description="Espécimes básicos para padronizar estados, comportamento e acessibilidade. Componentes de negócio continuam nos módulos do produto."
|
|
20
|
+
/>
|
|
21
|
+
<Section
|
|
22
|
+
title="Ações e status"
|
|
23
|
+
description="Hierarquia explícita e feedback que não depende apenas de cor."
|
|
24
|
+
>
|
|
25
|
+
<Card>
|
|
26
|
+
<div className="specimen-row">
|
|
27
|
+
<Button>Primário</Button>
|
|
28
|
+
<Button variant="secondary">Secundário</Button>
|
|
29
|
+
<Button variant="ghost">Ghost</Button>
|
|
30
|
+
<Button disabled>Desabilitado</Button>
|
|
31
|
+
</div>
|
|
32
|
+
<div className="specimen-row">
|
|
33
|
+
<Badge tone="accent">Accent</Badge>
|
|
34
|
+
<Badge tone="success">Sucesso</Badge>
|
|
35
|
+
<Badge tone="warning">Atenção</Badge>
|
|
36
|
+
<Badge tone="error">Erro</Badge>
|
|
37
|
+
<Badge>Neutro</Badge>
|
|
38
|
+
</div>
|
|
39
|
+
</Card>
|
|
40
|
+
</Section>
|
|
41
|
+
<Section title="Métricas" description="Números tabulares acompanhados de unidade e contexto.">
|
|
42
|
+
<div className="metric-grid">
|
|
43
|
+
<Metric label="Tokens totais" value="1,28M" change="+8,4% no período" />
|
|
44
|
+
<Metric label="Custo de execução" value="R$ 284" change="62% do custo total" />
|
|
45
|
+
<Metric label="Assertividade" value="94,2%" change="+3,1 p.p." />
|
|
46
|
+
</div>
|
|
47
|
+
</Section>
|
|
48
|
+
<Section
|
|
49
|
+
title="Formulários"
|
|
50
|
+
description="Labels persistentes, ajuda objetiva, foco visível e erro acionável."
|
|
51
|
+
>
|
|
52
|
+
<Card>
|
|
53
|
+
<div className="form-grid">
|
|
54
|
+
<Field label="Nome" placeholder="Ex.: Checkout B2B" />
|
|
55
|
+
<Field
|
|
56
|
+
label="Identificador"
|
|
57
|
+
hint="Somente letras minúsculas e hífen."
|
|
58
|
+
defaultValue="checkout-b2b"
|
|
59
|
+
/>
|
|
60
|
+
<SelectField label="Risco" defaultValue="standard">
|
|
61
|
+
<option value="lite">Lite</option>
|
|
62
|
+
<option value="standard">Standard</option>
|
|
63
|
+
<option value="critical">Critical</option>
|
|
64
|
+
</SelectField>
|
|
65
|
+
<Field label="Responsável" defaultValue="" error="Selecione uma pessoa responsável." />
|
|
66
|
+
</div>
|
|
67
|
+
</Card>
|
|
68
|
+
</Section>
|
|
69
|
+
<Section
|
|
70
|
+
title="Dados tabulares"
|
|
71
|
+
description="Cabeçalhos semânticos, alinhamento numérico e leitura responsiva."
|
|
72
|
+
>
|
|
73
|
+
<DataTable />
|
|
74
|
+
</Section>
|
|
75
|
+
<Section
|
|
76
|
+
title="Estado vazio"
|
|
77
|
+
description="Explique o estado e ofereça a próxima ação segura."
|
|
78
|
+
>
|
|
79
|
+
<EmptyState />
|
|
80
|
+
</Section>
|
|
81
|
+
</>
|
|
82
|
+
);
|
|
83
|
+
}
|