@agentskillkit/agent-skills 1.0.1
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/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
- package/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
- package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
- package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
- package/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
- package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.agent/.shared/ui-ux-pro-max/scripts/search.py +106 -0
- package/.agent/ARCHITECTURE.md +292 -0
- package/.agent/GEMINI.md +374 -0
- package/.agent/agents/backend-specialist.md +263 -0
- package/.agent/agents/code-archaeologist.md +106 -0
- package/.agent/agents/database-architect.md +226 -0
- package/.agent/agents/debugger.md +225 -0
- package/.agent/agents/devops-engineer.md +242 -0
- package/.agent/agents/documentation-writer.md +104 -0
- package/.agent/agents/explorer-agent.md +73 -0
- package/.agent/agents/frontend-specialist.md +556 -0
- package/.agent/agents/game-developer.md +162 -0
- package/.agent/agents/mobile-developer.md +377 -0
- package/.agent/agents/orchestrator.md +416 -0
- package/.agent/agents/penetration-tester.md +188 -0
- package/.agent/agents/performance-optimizer.md +187 -0
- package/.agent/agents/product-manager.md +112 -0
- package/.agent/agents/product-owner.md +95 -0
- package/.agent/agents/project-planner.md +406 -0
- package/.agent/agents/qa-automation-engineer.md +103 -0
- package/.agent/agents/security-auditor.md +170 -0
- package/.agent/agents/seo-specialist.md +111 -0
- package/.agent/agents/test-engineer.md +158 -0
- package/.agent/knowledge/lessons-learned.yaml +17 -0
- package/.agent/rules/GEMINI.md +253 -0
- package/.agent/scripts/auto_preview.py +148 -0
- package/.agent/scripts/checklist.py +217 -0
- package/.agent/scripts/session_manager.py +120 -0
- package/.agent/scripts/verify_all.py +327 -0
- package/.agent/skills/aesthetic/SKILL.md +121 -0
- package/.agent/skills/aesthetic/assets/design-guideline-template.md +163 -0
- package/.agent/skills/aesthetic/assets/design-story-template.md +135 -0
- package/.agent/skills/aesthetic/references/design-principles.md +62 -0
- package/.agent/skills/aesthetic/references/design-resources.md +75 -0
- package/.agent/skills/aesthetic/references/micro-interactions.md +53 -0
- package/.agent/skills/aesthetic/references/storytelling-design.md +50 -0
- package/.agent/skills/api-patterns/SKILL.md +81 -0
- package/.agent/skills/api-patterns/rules/api-style.md +42 -0
- package/.agent/skills/api-patterns/rules/auth.md +24 -0
- package/.agent/skills/api-patterns/rules/documentation.md +26 -0
- package/.agent/skills/api-patterns/rules/graphql.md +41 -0
- package/.agent/skills/api-patterns/rules/rate-limiting.md +31 -0
- package/.agent/skills/api-patterns/rules/response.md +37 -0
- package/.agent/skills/api-patterns/rules/rest.md +40 -0
- package/.agent/skills/api-patterns/rules/security-testing.md +122 -0
- package/.agent/skills/api-patterns/rules/trpc.md +41 -0
- package/.agent/skills/api-patterns/rules/versioning.md +22 -0
- package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
- package/.agent/skills/app-builder/SKILL.md +75 -0
- package/.agent/skills/app-builder/agent-coordination.md +71 -0
- package/.agent/skills/app-builder/feature-building.md +53 -0
- package/.agent/skills/app-builder/project-detection.md +34 -0
- package/.agent/skills/app-builder/scaffolding.md +118 -0
- package/.agent/skills/app-builder/tech-stack.md +40 -0
- package/.agent/skills/app-builder/templates/SKILL.md +39 -0
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
- package/.agent/skills/architecture/SKILL.md +55 -0
- package/.agent/skills/architecture/context-discovery.md +43 -0
- package/.agent/skills/architecture/examples.md +94 -0
- package/.agent/skills/architecture/pattern-selection.md +68 -0
- package/.agent/skills/architecture/patterns-reference.md +50 -0
- package/.agent/skills/architecture/trade-off-analysis.md +77 -0
- package/.agent/skills/bash-linux/SKILL.md +199 -0
- package/.agent/skills/behavioral-modes/SKILL.md +242 -0
- package/.agent/skills/brainstorming/SKILL.md +163 -0
- package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
- package/.agent/skills/clean-code/SKILL.md +201 -0
- package/.agent/skills/code-review-checklist/SKILL.md +109 -0
- package/.agent/skills/code-reviewer/.skill-source.json +8 -0
- package/.agent/skills/code-reviewer/SKILL.md +32 -0
- package/.agent/skills/code-reviewer/enforcement/checklists/backend-api-review-checklist.md +5 -0
- package/.agent/skills/code-reviewer/examples/approved-pr/review-output.md +76 -0
- package/.agent/skills/code-reviewer/examples/rejected-pr/review-output.md +99 -0
- package/.agent/skills/code-reviewer/examples/scenarios.md +3 -0
- package/.agent/skills/code-reviewer/metadata/doctrine-mapping.yaml +167 -0
- package/.agent/skills/code-reviewer/metadata/intent-triggers.yaml +41 -0
- package/.agent/skills/code-reviewer/resources/links.md +59 -0
- package/.agent/skills/code-reviewer/scripts/audit_pr.js +8 -0
- package/.agent/skills/code-reviewer/scripts/audit_pr.v2.js +417 -0
- package/.agent/skills/code-reviewer/scripts/validate_doctrine.js +307 -0
- package/.agent/skills/context-engineering/SKILL.md +86 -0
- package/.agent/skills/context-engineering/references/context-compression.md +84 -0
- package/.agent/skills/context-engineering/references/context-degradation.md +93 -0
- package/.agent/skills/context-engineering/references/context-fundamentals.md +75 -0
- package/.agent/skills/context-engineering/references/context-optimization.md +82 -0
- package/.agent/skills/context-engineering/references/evaluation.md +89 -0
- package/.agent/skills/context-engineering/references/memory-systems.md +88 -0
- package/.agent/skills/context-engineering/references/multi-agent-patterns.md +90 -0
- package/.agent/skills/context-engineering/references/project-development.md +97 -0
- package/.agent/skills/context-engineering/references/tool-design.md +86 -0
- package/.agent/skills/context-engineering/scripts/compression_evaluator.py +329 -0
- package/.agent/skills/context-engineering/scripts/context_analyzer.py +294 -0
- package/.agent/skills/database-design/SKILL.md +52 -0
- package/.agent/skills/database-design/database-selection.md +43 -0
- package/.agent/skills/database-design/indexing.md +39 -0
- package/.agent/skills/database-design/migrations.md +48 -0
- package/.agent/skills/database-design/optimization.md +36 -0
- package/.agent/skills/database-design/orm-selection.md +30 -0
- package/.agent/skills/database-design/schema-design.md +56 -0
- package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
- package/.agent/skills/debugging/SKILL.md +42 -0
- package/.agent/skills/debugging/defense-in-depth/SKILL.md +130 -0
- package/.agent/skills/debugging/root-cause-tracing/SKILL.md +177 -0
- package/.agent/skills/debugging/root-cause-tracing/find-polluter.sh +63 -0
- package/.agent/skills/debugging/verification-before-completion/SKILL.md +142 -0
- package/.agent/skills/deployment-procedures/SKILL.md +241 -0
- package/.agent/skills/doc.md +177 -0
- package/.agent/skills/document-skills/SKILL.md +49 -0
- package/.agent/skills/document-skills/docx/LICENSE.txt +30 -0
- package/.agent/skills/document-skills/docx/SKILL.md +197 -0
- package/.agent/skills/document-skills/docx/docx-js.md +350 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.agent/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.agent/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
- package/.agent/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
- package/.agent/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
- package/.agent/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/.agent/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/.agent/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/.agent/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/.agent/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/.agent/skills/document-skills/docx/ooxml.md +610 -0
- package/.agent/skills/document-skills/docx/scripts/__init__.py +1 -0
- package/.agent/skills/document-skills/docx/scripts/document.py +1276 -0
- package/.agent/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
- package/.agent/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/.agent/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/.agent/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/.agent/skills/document-skills/docx/scripts/templates/people.xml +3 -0
- package/.agent/skills/document-skills/docx/scripts/utilities.py +374 -0
- package/.agent/skills/document-skills/pdf/LICENSE.txt +30 -0
- package/.agent/skills/document-skills/pdf/SKILL.md +294 -0
- package/.agent/skills/document-skills/pdf/forms.md +205 -0
- package/.agent/skills/document-skills/pdf/reference.md +612 -0
- package/.agent/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/.agent/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/.agent/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/.agent/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/.agent/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
- package/.agent/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/.agent/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/.agent/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/.agent/skills/document-skills/pptx/LICENSE.txt +30 -0
- package/.agent/skills/document-skills/pptx/SKILL.md +484 -0
- package/.agent/skills/document-skills/pptx/html2pptx.md +625 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.agent/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.agent/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
- package/.agent/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/.agent/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
- package/.agent/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/.agent/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/.agent/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/.agent/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/.agent/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/.agent/skills/document-skills/pptx/ooxml.md +427 -0
- package/.agent/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
- package/.agent/skills/document-skills/pptx/scripts/inventory.py +1020 -0
- package/.agent/skills/document-skills/pptx/scripts/rearrange.py +231 -0
- package/.agent/skills/document-skills/pptx/scripts/replace.py +385 -0
- package/.agent/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
- package/.agent/skills/document-skills/xlsx/LICENSE.txt +30 -0
- package/.agent/skills/document-skills/xlsx/SKILL.md +289 -0
- package/.agent/skills/document-skills/xlsx/recalc.py +178 -0
- package/.agent/skills/documentation-templates/SKILL.md +194 -0
- package/.agent/skills/frontend/SKILL.md +38 -0
- package/.agent/skills/frontend/rules/_sections.md +46 -0
- package/.agent/skills/frontend/rules/_template.md +28 -0
- package/.agent/skills/frontend/rules/advanced-event-handler-refs.md +55 -0
- package/.agent/skills/frontend/rules/advanced-init-once.md +42 -0
- package/.agent/skills/frontend/rules/advanced-use-latest.md +39 -0
- package/.agent/skills/frontend/rules/async-api-routes.md +38 -0
- package/.agent/skills/frontend/rules/async-defer-await.md +80 -0
- package/.agent/skills/frontend/rules/async-dependencies.md +51 -0
- package/.agent/skills/frontend/rules/async-parallel.md +28 -0
- package/.agent/skills/frontend/rules/async-suspense-boundaries.md +99 -0
- package/.agent/skills/frontend/rules/bundle-barrel-imports.md +59 -0
- package/.agent/skills/frontend/rules/bundle-conditional.md +31 -0
- package/.agent/skills/frontend/rules/bundle-defer-third-party.md +49 -0
- package/.agent/skills/frontend/rules/bundle-dynamic-imports.md +35 -0
- package/.agent/skills/frontend/rules/bundle-preload.md +50 -0
- package/.agent/skills/frontend/rules/client-event-listeners.md +74 -0
- package/.agent/skills/frontend/rules/client-localstorage-schema.md +71 -0
- package/.agent/skills/frontend/rules/client-passive-event-listeners.md +48 -0
- package/.agent/skills/frontend/rules/client-swr-dedup.md +56 -0
- package/.agent/skills/frontend/rules/js-batch-dom-css.md +107 -0
- package/.agent/skills/frontend/rules/js-cache-function-results.md +80 -0
- package/.agent/skills/frontend/rules/js-cache-property-access.md +28 -0
- package/.agent/skills/frontend/rules/js-cache-storage.md +70 -0
- package/.agent/skills/frontend/rules/js-combine-iterations.md +32 -0
- package/.agent/skills/frontend/rules/js-early-exit.md +50 -0
- package/.agent/skills/frontend/rules/js-hoist-regexp.md +45 -0
- package/.agent/skills/frontend/rules/js-index-maps.md +37 -0
- package/.agent/skills/frontend/rules/js-length-check-first.md +49 -0
- package/.agent/skills/frontend/rules/js-min-max-loop.md +82 -0
- package/.agent/skills/frontend/rules/js-set-map-lookups.md +24 -0
- package/.agent/skills/frontend/rules/js-tosorted-immutable.md +57 -0
- package/.agent/skills/frontend/rules/rendering-activity.md +26 -0
- package/.agent/skills/frontend/rules/rendering-animate-svg-wrapper.md +47 -0
- package/.agent/skills/frontend/rules/rendering-conditional-render.md +40 -0
- package/.agent/skills/frontend/rules/rendering-content-visibility.md +38 -0
- package/.agent/skills/frontend/rules/rendering-hoist-jsx.md +46 -0
- package/.agent/skills/frontend/rules/rendering-hydration-no-flicker.md +82 -0
- package/.agent/skills/frontend/rules/rendering-hydration-suppress-warning.md +30 -0
- package/.agent/skills/frontend/rules/rendering-svg-precision.md +28 -0
- package/.agent/skills/frontend/rules/rendering-usetransition-loading.md +75 -0
- package/.agent/skills/frontend/rules/rerender-defer-reads.md +39 -0
- package/.agent/skills/frontend/rules/rerender-dependencies.md +45 -0
- package/.agent/skills/frontend/rules/rerender-derived-state-no-effect.md +40 -0
- package/.agent/skills/frontend/rules/rerender-derived-state.md +29 -0
- package/.agent/skills/frontend/rules/rerender-functional-setstate.md +74 -0
- package/.agent/skills/frontend/rules/rerender-lazy-state-init.md +58 -0
- package/.agent/skills/frontend/rules/rerender-memo-with-default-value.md +38 -0
- package/.agent/skills/frontend/rules/rerender-memo.md +44 -0
- package/.agent/skills/frontend/rules/rerender-move-effect-to-event.md +45 -0
- package/.agent/skills/frontend/rules/rerender-simple-expression-in-memo.md +35 -0
- package/.agent/skills/frontend/rules/rerender-transitions.md +40 -0
- package/.agent/skills/frontend/rules/rerender-use-ref-transient-values.md +73 -0
- package/.agent/skills/frontend/rules/schema.json +34 -0
- package/.agent/skills/frontend/rules/server-after-nonblocking.md +73 -0
- package/.agent/skills/frontend/rules/server-auth-actions.md +96 -0
- package/.agent/skills/frontend/rules/server-cache-lru.md +41 -0
- package/.agent/skills/frontend/rules/server-cache-react.md +76 -0
- package/.agent/skills/frontend/rules/server-dedup-props.md +65 -0
- package/.agent/skills/frontend/rules/server-parallel-fetching.md +83 -0
- package/.agent/skills/frontend/rules/server-serialization.md +38 -0
- package/.agent/skills/frontend-design/SKILL.md +33 -0
- package/.agent/skills/frontend-design/rules/animation-guide.md +331 -0
- package/.agent/skills/frontend-design/rules/color-system.md +311 -0
- package/.agent/skills/frontend-design/rules/decision-trees.md +418 -0
- package/.agent/skills/frontend-design/rules/motion-graphics.md +306 -0
- package/.agent/skills/frontend-design/rules/typography-system.md +345 -0
- package/.agent/skills/frontend-design/rules/ux-psychology.md +541 -0
- package/.agent/skills/frontend-design/rules/visual-effects.md +383 -0
- package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
- package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
- package/.agent/skills/game-development/SKILL.md +167 -0
- package/.agent/skills/game-development/game-art/SKILL.md +185 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
- package/.agent/skills/game-development/game-design/SKILL.md +129 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
- package/.agent/skills/game-development/web-games/SKILL.md +150 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
- package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
- package/.agent/skills/git-conventions/.skill-source.json +8 -0
- package/.agent/skills/git-conventions/SKILL.md +28 -0
- package/.agent/skills/git-conventions/enforcement/commit-validation-rules.md +55 -0
- package/.agent/skills/git-conventions/examples/bad-commits.md +201 -0
- package/.agent/skills/git-conventions/examples/good-commits.md +135 -0
- package/.agent/skills/git-conventions/metadata/commit-config.yaml +79 -0
- package/.agent/skills/git-conventions/metadata/intent-triggers.yaml +25 -0
- package/.agent/skills/git-conventions/metadata/scope-mapping.yaml +83 -0
- package/.agent/skills/git-conventions/resources/BEST_PRACTICES.md +121 -0
- package/.agent/skills/git-conventions/resources/references.md +53 -0
- package/.agent/skills/git-conventions/scripts/format-commit.js +393 -0
- package/.agent/skills/git-conventions/scripts/validate-commit-msg.sh +27 -0
- package/.agent/skills/governance/.skill-source.json +8 -0
- package/.agent/skills/governance/CHANGELOG.md +222 -0
- package/.agent/skills/governance/README.md +250 -0
- package/.agent/skills/governance/SKILL.md +199 -0
- package/.agent/skills/governance/VERSION +4 -0
- package/.agent/skills/governance/examples/violation-backend-mutation/after.tsx +59 -0
- package/.agent/skills/governance/examples/violation-backend-mutation/before.tsx +42 -0
- package/.agent/skills/governance/examples/violation-backend-mutation/explanation.md +87 -0
- package/.agent/skills/governance/examples/violation-chart-injection/after.tsx +99 -0
- package/.agent/skills/governance/examples/violation-chart-injection/before.tsx +57 -0
- package/.agent/skills/governance/examples/violation-chart-injection/explanation.md +116 -0
- package/.agent/skills/governance/knowledge/lessons-learned.yaml +3 -0
- package/.agent/skills/governance/metadata/precedence.yaml +117 -0
- package/.agent/skills/governance/metadata/scope-map.yaml +156 -0
- package/.agent/skills/governance/proposals/v1.1-change-proposal-template.md +197 -0
- package/.agent/skills/governance/resources/AUTHORITY_MODEL.md +111 -0
- package/.agent/skills/governance/resources/ENFORCEMENT_GUIDE.md +242 -0
- package/.agent/skills/governance/resources/LOAD_ORDER.md +82 -0
- package/.agent/skills/governance/rules/constitution/coinpika-master-constitution.md +206 -0
- package/.agent/skills/governance/rules/doctrines/architecture/coinpika-architecture-doctrine.md +184 -0
- package/.agent/skills/governance/rules/doctrines/backend/coinpika-backend-data-engine-doctrine.md +214 -0
- package/.agent/skills/governance/rules/doctrines/commercial/coinpika-commercial-guardrails-doctrine.md +192 -0
- package/.agent/skills/governance/rules/doctrines/data/coinpika-chart-data-doctrine.md +198 -0
- package/.agent/skills/governance/rules/doctrines/frontend/coinpika-frontend-mobile-doctrine.md +165 -0
- package/.agent/skills/governance/rules/doctrines/frontend/coinpika-swipe-tabs-doctrine.md +172 -0
- package/.agent/skills/governance/rules/doctrines/learning/coinpika-learning-engine-doctrine.md +188 -0
- package/.agent/skills/governance/rules/doctrines/performance/coinpika-performance-doctrine.md +176 -0
- package/.agent/skills/governance/rules/doctrines/review/coinpika-code-review-doctrine.md +170 -0
- package/.agent/skills/governance/rules/enforcement/agents/coinpika-agent-enforcement-protocol.md +214 -0
- package/.agent/skills/governance/rules/enforcement/agents/coinpika-agent-system-prompt.md +192 -0
- package/.agent/skills/governance/rules/enforcement/checklists/backend-api-review-checklist.md +127 -0
- package/.agent/skills/governance/rules/enforcement/checklists/chart-component-review-checklist.md +143 -0
- package/.agent/skills/governance/rules/enforcement/checklists/coinpika-frontend-gesture-review-checklist.md +190 -0
- package/.agent/skills/governance/rules/enforcement/playbooks/doctrine-violation-playbook.md +232 -0
- package/.agent/skills/governance/scripts/audit_pr.js +218 -0
- package/.agent/skills/governance/scripts/learn.js +161 -0
- package/.agent/skills/governance/scripts/validate_doctrine.js +286 -0
- package/.agent/skills/i18n-localization/SKILL.md +154 -0
- package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
- package/.agent/skills/intelligent-routing/SKILL.md +335 -0
- package/.agent/skills/lint-and-validate/SKILL.md +45 -0
- package/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
- package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
- package/.agent/skills/mcp-builder/SKILL.md +176 -0
- package/.agent/skills/mermaidjs-v11/SKILL.md +115 -0
- package/.agent/skills/mermaidjs-v11/references/cli-usage.md +228 -0
- package/.agent/skills/mermaidjs-v11/references/configuration.md +232 -0
- package/.agent/skills/mermaidjs-v11/references/diagram-types.md +315 -0
- package/.agent/skills/mermaidjs-v11/references/examples.md +344 -0
- package/.agent/skills/mermaidjs-v11/references/integration.md +310 -0
- package/.agent/skills/mobile-design/SKILL.md +76 -0
- package/.agent/skills/mobile-design/references/anti-patterns.md +46 -0
- package/.agent/skills/mobile-design/references/decision-trees.md +516 -0
- package/.agent/skills/mobile-design/references/mobile-backend.md +491 -0
- package/.agent/skills/mobile-design/references/mobile-color-system.md +420 -0
- package/.agent/skills/mobile-design/references/mobile-debugging.md +122 -0
- package/.agent/skills/mobile-design/references/mobile-design-thinking.md +357 -0
- package/.agent/skills/mobile-design/references/mobile-navigation.md +458 -0
- package/.agent/skills/mobile-design/references/mobile-performance.md +767 -0
- package/.agent/skills/mobile-design/references/mobile-testing.md +356 -0
- package/.agent/skills/mobile-design/references/mobile-typography.md +433 -0
- package/.agent/skills/mobile-design/references/platform-android.md +666 -0
- package/.agent/skills/mobile-design/references/platform-ios.md +561 -0
- package/.agent/skills/mobile-design/references/touch-psychology.md +537 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
- package/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
- package/.agent/skills/nodejs-best-practices/SKILL.md +76 -0
- package/.agent/skills/nodejs-best-practices/references/architecture-patterns.md +34 -0
- package/.agent/skills/nodejs-best-practices/references/async-patterns.md +32 -0
- package/.agent/skills/nodejs-best-practices/references/error-handling.md +39 -0
- package/.agent/skills/nodejs-best-practices/references/framework-selection.md +39 -0
- package/.agent/skills/nodejs-best-practices/references/runtime-modules.md +33 -0
- package/.agent/skills/nodejs-best-practices/references/testing-strategy.md +25 -0
- package/.agent/skills/nodejs-best-practices/references/validation-security.md +45 -0
- package/.agent/skills/parallel-agents/SKILL.md +175 -0
- package/.agent/skills/performance-profiling/SKILL.md +143 -0
- package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
- package/.agent/skills/plan-writing/SKILL.md +152 -0
- package/.agent/skills/powershell-windows/SKILL.md +167 -0
- package/.agent/skills/problem-solving/ABOUT.md +40 -0
- package/.agent/skills/problem-solving/SKILL.md +69 -0
- package/.agent/skills/problem-solving/collision-zone-thinking/SKILL.md +62 -0
- package/.agent/skills/problem-solving/inversion-exercise/SKILL.md +58 -0
- package/.agent/skills/problem-solving/meta-pattern-recognition/SKILL.md +54 -0
- package/.agent/skills/problem-solving/scale-game/SKILL.md +63 -0
- package/.agent/skills/problem-solving/simplification-cascades/SKILL.md +76 -0
- package/.agent/skills/problem-solving/when-stuck/SKILL.md +88 -0
- package/.agent/skills/python-patterns/SKILL.md +80 -0
- package/.agent/skills/python-patterns/references/async-patterns.md +57 -0
- package/.agent/skills/python-patterns/references/django-patterns.md +41 -0
- package/.agent/skills/python-patterns/references/fastapi-patterns.md +54 -0
- package/.agent/skills/python-patterns/references/framework-selection.md +39 -0
- package/.agent/skills/python-patterns/references/project-structure.md +80 -0
- package/.agent/skills/python-patterns/references/testing-patterns.md +34 -0
- package/.agent/skills/python-patterns/references/type-hints.md +51 -0
- package/.agent/skills/react-patterns/SKILL.md +198 -0
- package/.agent/skills/red-team-tactics/SKILL.md +199 -0
- package/.agent/skills/registry.json +367 -0
- package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
- package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
- package/.agent/skills/sequential-thinking/README.md +118 -0
- package/.agent/skills/sequential-thinking/SKILL.md +93 -0
- package/.agent/skills/sequential-thinking/references/advanced.md +122 -0
- package/.agent/skills/sequential-thinking/references/examples.md +274 -0
- package/.agent/skills/server-management/SKILL.md +161 -0
- package/.agent/skills/skill-creator/LICENSE.txt +202 -0
- package/.agent/skills/skill-creator/SKILL.md +237 -0
- package/.agent/skills/skill-creator/scripts/init_skill.py +303 -0
- package/.agent/skills/skill-creator/scripts/package_skill.py +110 -0
- package/.agent/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/.agent/skills/systematic-debugging/SKILL.md +109 -0
- package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
- package/.agent/skills/tdd-workflow/SKILL.md +149 -0
- package/.agent/skills/testing-patterns/SKILL.md +178 -0
- package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
- package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
- package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
- package/.agent/skills/webapp-testing/SKILL.md +187 -0
- package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
- package/.agent/workflows/architect.md +200 -0
- package/.agent/workflows/autopilot.md +254 -0
- package/.agent/workflows/boost.md +163 -0
- package/.agent/workflows/build.md +192 -0
- package/.agent/workflows/chronicle.md +172 -0
- package/.agent/workflows/diagnose.md +207 -0
- package/.agent/workflows/forge.md +123 -0
- package/.agent/workflows/inspect.md +187 -0
- package/.agent/workflows/launch.md +208 -0
- package/.agent/workflows/pulse.md +115 -0
- package/.agent/workflows/stage.md +117 -0
- package/.agent/workflows/studio.md +319 -0
- package/.agent/workflows/think.md +173 -0
- package/.agent/workflows/validate.md +226 -0
- package/.editorconfig +21 -0
- package/.github/workflows/release.yml +39 -0
- package/CHANGELOG.md +38 -0
- package/LICENSE +16 -0
- package/README.md +294 -0
- package/VERSIONING.md +45 -0
- package/docs/PATTERNS_REFERENCE.md +93 -0
- package/docs/PLAN-consolidation-final.md +14 -0
- package/docs/PLAN-integration.md +28 -0
- package/docs/PLAN-rebrand-agent-skills-kit.md +104 -0
- package/docs/PLAN-refactor.md +48 -0
- package/docs/PYTHON_SCRIPTS.md +55 -0
- package/docs/awf-user-guide.md +436 -0
- package/docs/context-engineering-guide.md +99 -0
- package/package.json +38 -0
- package/packages/cli/.agent/knowledge/lessons-learned.yaml +32 -0
- package/packages/cli/bin/ag-smart.js +155 -0
- package/packages/cli/bin/ag-smart.v1.js +78 -0
- package/packages/cli/lib/audit.js +69 -0
- package/packages/cli/lib/audit.v2.js +151 -0
- package/packages/cli/lib/auto-learn.js +319 -0
- package/packages/cli/lib/auto_preview.py +148 -0
- package/packages/cli/lib/checklist.py +222 -0
- package/packages/cli/lib/config.js +29 -0
- package/packages/cli/lib/eslint-fix.js +238 -0
- package/packages/cli/lib/fix.js +278 -0
- package/packages/cli/lib/generate-registry.js +42 -0
- package/packages/cli/lib/hooks/install-hooks.js +176 -0
- package/packages/cli/lib/hooks/lint-learn.js +172 -0
- package/packages/cli/lib/learn.js +173 -0
- package/packages/cli/lib/learn.test.js +70 -0
- package/packages/cli/lib/learn.v2.js +255 -0
- package/packages/cli/lib/recall.js +75 -0
- package/packages/cli/lib/recall.v2.js +252 -0
- package/packages/cli/lib/session_manager.py +120 -0
- package/packages/cli/lib/skill-learn.js +296 -0
- package/packages/cli/lib/stats.js +143 -0
- package/packages/cli/lib/types.js +33 -0
- package/packages/cli/lib/verify_all.py +327 -0
- package/packages/cli/lib/watcher.js +181 -0
- package/packages/cli/package-lock.json +1837 -0
- package/packages/cli/package.json +23 -0
- package/packages/cli/vitest.config.js +9 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
API Validator - Checks API endpoints for best practices.
|
|
4
|
+
Validates OpenAPI specs, response formats, and common issues.
|
|
5
|
+
"""
|
|
6
|
+
import sys
|
|
7
|
+
import json
|
|
8
|
+
import re
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
|
|
11
|
+
# Fix Windows console encoding for Unicode output
|
|
12
|
+
try:
|
|
13
|
+
sys.stdout.reconfigure(encoding='utf-8', errors='replace')
|
|
14
|
+
sys.stderr.reconfigure(encoding='utf-8', errors='replace')
|
|
15
|
+
except AttributeError:
|
|
16
|
+
pass # Python < 3.7
|
|
17
|
+
|
|
18
|
+
def find_api_files(project_path: Path) -> list:
|
|
19
|
+
"""Find API-related files."""
|
|
20
|
+
patterns = [
|
|
21
|
+
"**/*api*.ts", "**/*api*.js", "**/*api*.py",
|
|
22
|
+
"**/routes/*.ts", "**/routes/*.js", "**/routes/*.py",
|
|
23
|
+
"**/controllers/*.ts", "**/controllers/*.js",
|
|
24
|
+
"**/endpoints/*.ts", "**/endpoints/*.py",
|
|
25
|
+
"**/*.openapi.json", "**/*.openapi.yaml",
|
|
26
|
+
"**/swagger.json", "**/swagger.yaml",
|
|
27
|
+
"**/openapi.json", "**/openapi.yaml"
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
files = []
|
|
31
|
+
for pattern in patterns:
|
|
32
|
+
files.extend(project_path.glob(pattern))
|
|
33
|
+
|
|
34
|
+
# Exclude node_modules, etc.
|
|
35
|
+
return [f for f in files if not any(x in str(f) for x in ['node_modules', '.git', 'dist', 'build', '__pycache__'])]
|
|
36
|
+
|
|
37
|
+
def check_openapi_spec(file_path: Path) -> dict:
|
|
38
|
+
"""Check OpenAPI/Swagger specification."""
|
|
39
|
+
issues = []
|
|
40
|
+
passed = []
|
|
41
|
+
|
|
42
|
+
try:
|
|
43
|
+
content = file_path.read_text(encoding='utf-8')
|
|
44
|
+
|
|
45
|
+
if file_path.suffix == '.json':
|
|
46
|
+
spec = json.loads(content)
|
|
47
|
+
else:
|
|
48
|
+
# Basic YAML check
|
|
49
|
+
if 'openapi:' in content or 'swagger:' in content:
|
|
50
|
+
passed.append("[OK] OpenAPI/Swagger version defined")
|
|
51
|
+
else:
|
|
52
|
+
issues.append("[X] No OpenAPI version found")
|
|
53
|
+
|
|
54
|
+
if 'paths:' in content:
|
|
55
|
+
passed.append("[OK] Paths section exists")
|
|
56
|
+
else:
|
|
57
|
+
issues.append("[X] No paths defined")
|
|
58
|
+
|
|
59
|
+
if 'components:' in content or 'definitions:' in content:
|
|
60
|
+
passed.append("[OK] Schema components defined")
|
|
61
|
+
|
|
62
|
+
return {'file': str(file_path), 'passed': passed, 'issues': issues, 'type': 'openapi'}
|
|
63
|
+
|
|
64
|
+
# JSON OpenAPI checks
|
|
65
|
+
if 'openapi' in spec or 'swagger' in spec:
|
|
66
|
+
passed.append("[OK] OpenAPI version defined")
|
|
67
|
+
|
|
68
|
+
if 'info' in spec:
|
|
69
|
+
if 'title' in spec['info']:
|
|
70
|
+
passed.append("[OK] API title defined")
|
|
71
|
+
if 'version' in spec['info']:
|
|
72
|
+
passed.append("[OK] API version defined")
|
|
73
|
+
if 'description' not in spec['info']:
|
|
74
|
+
issues.append("[!] API description missing")
|
|
75
|
+
|
|
76
|
+
if 'paths' in spec:
|
|
77
|
+
path_count = len(spec['paths'])
|
|
78
|
+
passed.append(f"[OK] {path_count} endpoints defined")
|
|
79
|
+
|
|
80
|
+
# Check each path
|
|
81
|
+
for path, methods in spec['paths'].items():
|
|
82
|
+
for method, details in methods.items():
|
|
83
|
+
if method in ['get', 'post', 'put', 'patch', 'delete']:
|
|
84
|
+
if 'responses' not in details:
|
|
85
|
+
issues.append(f"[X] {method.upper()} {path}: No responses defined")
|
|
86
|
+
if 'summary' not in details and 'description' not in details:
|
|
87
|
+
issues.append(f"[!] {method.upper()} {path}: No description")
|
|
88
|
+
|
|
89
|
+
except Exception as e:
|
|
90
|
+
issues.append(f"[X] Parse error: {e}")
|
|
91
|
+
|
|
92
|
+
return {'file': str(file_path), 'passed': passed, 'issues': issues, 'type': 'openapi'}
|
|
93
|
+
|
|
94
|
+
def check_api_code(file_path: Path) -> dict:
|
|
95
|
+
"""Check API code for common issues."""
|
|
96
|
+
issues = []
|
|
97
|
+
passed = []
|
|
98
|
+
|
|
99
|
+
try:
|
|
100
|
+
content = file_path.read_text(encoding='utf-8')
|
|
101
|
+
|
|
102
|
+
# Check for error handling
|
|
103
|
+
error_patterns = [
|
|
104
|
+
r'try\s*{', r'try:', r'\.catch\(',
|
|
105
|
+
r'except\s+', r'catch\s*\('
|
|
106
|
+
]
|
|
107
|
+
has_error_handling = any(re.search(p, content) for p in error_patterns)
|
|
108
|
+
if has_error_handling:
|
|
109
|
+
passed.append("[OK] Error handling present")
|
|
110
|
+
else:
|
|
111
|
+
issues.append("[X] No error handling found")
|
|
112
|
+
|
|
113
|
+
# Check for status codes
|
|
114
|
+
status_patterns = [
|
|
115
|
+
r'status\s*\(\s*\d{3}\s*\)', r'statusCode\s*[=:]\s*\d{3}',
|
|
116
|
+
r'HttpStatus\.', r'status_code\s*=\s*\d{3}',
|
|
117
|
+
r'\.status\(\d{3}\)', r'res\.status\('
|
|
118
|
+
]
|
|
119
|
+
has_status = any(re.search(p, content) for p in status_patterns)
|
|
120
|
+
if has_status:
|
|
121
|
+
passed.append("[OK] HTTP status codes used")
|
|
122
|
+
else:
|
|
123
|
+
issues.append("[!] No explicit HTTP status codes")
|
|
124
|
+
|
|
125
|
+
# Check for validation
|
|
126
|
+
validation_patterns = [
|
|
127
|
+
r'validate', r'schema', r'zod', r'joi', r'yup',
|
|
128
|
+
r'pydantic', r'@Body\(', r'@Query\('
|
|
129
|
+
]
|
|
130
|
+
has_validation = any(re.search(p, content, re.I) for p in validation_patterns)
|
|
131
|
+
if has_validation:
|
|
132
|
+
passed.append("[OK] Input validation present")
|
|
133
|
+
else:
|
|
134
|
+
issues.append("[!] No input validation detected")
|
|
135
|
+
|
|
136
|
+
# Check for auth middleware
|
|
137
|
+
auth_patterns = [
|
|
138
|
+
r'auth', r'jwt', r'bearer', r'token',
|
|
139
|
+
r'middleware', r'guard', r'@Authenticated'
|
|
140
|
+
]
|
|
141
|
+
has_auth = any(re.search(p, content, re.I) for p in auth_patterns)
|
|
142
|
+
if has_auth:
|
|
143
|
+
passed.append("[OK] Authentication/authorization detected")
|
|
144
|
+
|
|
145
|
+
# Check for rate limiting
|
|
146
|
+
rate_patterns = [r'rateLimit', r'throttle', r'rate.?limit']
|
|
147
|
+
has_rate = any(re.search(p, content, re.I) for p in rate_patterns)
|
|
148
|
+
if has_rate:
|
|
149
|
+
passed.append("[OK] Rate limiting present")
|
|
150
|
+
|
|
151
|
+
# Check for logging
|
|
152
|
+
log_patterns = [r'console\.log', r'logger\.', r'logging\.', r'log\.']
|
|
153
|
+
has_logging = any(re.search(p, content) for p in log_patterns)
|
|
154
|
+
if has_logging:
|
|
155
|
+
passed.append("[OK] Logging present")
|
|
156
|
+
|
|
157
|
+
except Exception as e:
|
|
158
|
+
issues.append(f"[X] Read error: {e}")
|
|
159
|
+
|
|
160
|
+
return {'file': str(file_path), 'passed': passed, 'issues': issues, 'type': 'code'}
|
|
161
|
+
|
|
162
|
+
def main():
|
|
163
|
+
target = sys.argv[1] if len(sys.argv) > 1 else "."
|
|
164
|
+
project_path = Path(target)
|
|
165
|
+
|
|
166
|
+
print("\n" + "=" * 60)
|
|
167
|
+
print(" API VALIDATOR - Endpoint Best Practices Check")
|
|
168
|
+
print("=" * 60 + "\n")
|
|
169
|
+
|
|
170
|
+
api_files = find_api_files(project_path)
|
|
171
|
+
|
|
172
|
+
if not api_files:
|
|
173
|
+
print("[!] No API files found.")
|
|
174
|
+
print(" Looking for: routes/, controllers/, api/, openapi.json/yaml")
|
|
175
|
+
sys.exit(0)
|
|
176
|
+
|
|
177
|
+
results = []
|
|
178
|
+
for file_path in api_files[:15]: # Limit
|
|
179
|
+
if 'openapi' in file_path.name.lower() or 'swagger' in file_path.name.lower():
|
|
180
|
+
result = check_openapi_spec(file_path)
|
|
181
|
+
else:
|
|
182
|
+
result = check_api_code(file_path)
|
|
183
|
+
results.append(result)
|
|
184
|
+
|
|
185
|
+
# Print results
|
|
186
|
+
total_issues = 0
|
|
187
|
+
total_passed = 0
|
|
188
|
+
|
|
189
|
+
for result in results:
|
|
190
|
+
print(f"\n[FILE] {result['file']} [{result['type']}]")
|
|
191
|
+
for item in result['passed']:
|
|
192
|
+
print(f" {item}")
|
|
193
|
+
total_passed += 1
|
|
194
|
+
for item in result['issues']:
|
|
195
|
+
print(f" {item}")
|
|
196
|
+
if item.startswith("[X]"):
|
|
197
|
+
total_issues += 1
|
|
198
|
+
|
|
199
|
+
print("\n" + "=" * 60)
|
|
200
|
+
print(f"[RESULTS] {total_passed} passed, {total_issues} critical issues")
|
|
201
|
+
print("=" * 60)
|
|
202
|
+
|
|
203
|
+
if total_issues == 0:
|
|
204
|
+
print("[OK] API validation passed")
|
|
205
|
+
sys.exit(0)
|
|
206
|
+
else:
|
|
207
|
+
print("[X] Fix critical issues before deployment")
|
|
208
|
+
sys.exit(1)
|
|
209
|
+
|
|
210
|
+
if __name__ == "__main__":
|
|
211
|
+
main()
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: app-builder
|
|
3
|
+
description: Main application building orchestrator. Creates full-stack applications from natural language requests. Determines project type, selects tech stack, coordinates agents.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, Agent
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# App Builder - Application Building Orchestrator
|
|
8
|
+
|
|
9
|
+
> Analyzes user's requests, determines tech stack, plans structure, and coordinates agents.
|
|
10
|
+
|
|
11
|
+
## 🎯 Selective Reading Rule
|
|
12
|
+
|
|
13
|
+
**Read ONLY files relevant to the request!** Check the content map, find what you need.
|
|
14
|
+
|
|
15
|
+
| File | Description | When to Read |
|
|
16
|
+
|------|-------------|--------------|
|
|
17
|
+
| `project-detection.md` | Keyword matrix, project type detection | Starting new project |
|
|
18
|
+
| `tech-stack.md` | 2025 default stack, alternatives | Choosing technologies |
|
|
19
|
+
| `agent-coordination.md` | Agent pipeline, execution order | Coordinating multi-agent work |
|
|
20
|
+
| `scaffolding.md` | Directory structure, core files | Creating project structure |
|
|
21
|
+
| `feature-building.md` | Feature analysis, error handling | Adding features to existing project |
|
|
22
|
+
| `templates/SKILL.md` | **Project templates** | Scaffolding new project |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 📦 Templates (13)
|
|
27
|
+
|
|
28
|
+
Quick-start scaffolding for new projects. **Read the matching template only!**
|
|
29
|
+
|
|
30
|
+
| Template | Tech Stack | When to Use |
|
|
31
|
+
|----------|------------|-------------|
|
|
32
|
+
| [nextjs-fullstack](templates/nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack web app |
|
|
33
|
+
| [nextjs-saas](templates/nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS product |
|
|
34
|
+
| [nextjs-static](templates/nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page |
|
|
35
|
+
| [nuxt-app](templates/nuxt-app/TEMPLATE.md) | Nuxt 3 + Pinia | Vue full-stack app |
|
|
36
|
+
| [express-api](templates/express-api/TEMPLATE.md) | Express + JWT | REST API |
|
|
37
|
+
| [python-fastapi](templates/python-fastapi/TEMPLATE.md) | FastAPI | Python API |
|
|
38
|
+
| [react-native-app](templates/react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app |
|
|
39
|
+
| [flutter-app](templates/flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform mobile |
|
|
40
|
+
| [electron-desktop](templates/electron-desktop/TEMPLATE.md) | Electron + React | Desktop app |
|
|
41
|
+
| [chrome-extension](templates/chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension |
|
|
42
|
+
| [cli-tool](templates/cli-tool/TEMPLATE.md) | Node.js + Commander | CLI app |
|
|
43
|
+
| [monorepo-turborepo](templates/monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 🔗 Related Agents
|
|
48
|
+
|
|
49
|
+
| Agent | Role |
|
|
50
|
+
|-------|------|
|
|
51
|
+
| `project-planner` | Task breakdown, dependency graph |
|
|
52
|
+
| `frontend-specialist` | UI components, pages |
|
|
53
|
+
| `backend-specialist` | API, business logic |
|
|
54
|
+
| `database-architect` | Schema, migrations |
|
|
55
|
+
| `devops-engineer` | Deployment, preview |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Usage Example
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
User: "Make an Instagram clone with photo sharing and likes"
|
|
63
|
+
|
|
64
|
+
App Builder Process:
|
|
65
|
+
1. Project type: Social Media App
|
|
66
|
+
2. Tech stack: Next.js + Prisma + Cloudinary + Clerk
|
|
67
|
+
3. Create plan:
|
|
68
|
+
├─ Database schema (users, posts, likes, follows)
|
|
69
|
+
├─ API routes (12 endpoints)
|
|
70
|
+
├─ Pages (feed, profile, upload)
|
|
71
|
+
└─ Components (PostCard, Feed, LikeButton)
|
|
72
|
+
4. Coordinate agents
|
|
73
|
+
5. Report progress
|
|
74
|
+
6. Start preview
|
|
75
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Agent Coordination
|
|
2
|
+
|
|
3
|
+
> How App Builder orchestrates specialist agents.
|
|
4
|
+
|
|
5
|
+
## Agent Pipeline
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
9
|
+
│ APP BUILDER (Orchestrator) │
|
|
10
|
+
└─────────────────────────────────────────────────────────────┘
|
|
11
|
+
│
|
|
12
|
+
▼
|
|
13
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
14
|
+
│ PROJECT PLANNER │
|
|
15
|
+
│ • Task breakdown │
|
|
16
|
+
│ • Dependency graph │
|
|
17
|
+
│ • File structure planning │
|
|
18
|
+
│ • Create {task-slug}.md in project root (MANDATORY) │
|
|
19
|
+
└─────────────────────────────────────────────────────────────┘
|
|
20
|
+
│
|
|
21
|
+
▼
|
|
22
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
23
|
+
│ CHECKPOINT: PLAN VERIFICATION │
|
|
24
|
+
│ 🔴 VERIFY: Does {task-slug}.md exist in project root? │
|
|
25
|
+
│ 🔴 If NO → STOP → Create plan file first │
|
|
26
|
+
│ 🔴 If YES → Proceed to specialist agents │
|
|
27
|
+
└─────────────────────────────────────────────────────────────┘
|
|
28
|
+
│
|
|
29
|
+
┌───────────────────┼───────────────────┐
|
|
30
|
+
▼ ▼ ▼
|
|
31
|
+
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
32
|
+
│ DATABASE │ │ BACKEND │ │ FRONTEND │
|
|
33
|
+
│ ARCHITECT │ │ SPECIALIST │ │ SPECIALIST │
|
|
34
|
+
│ │ │ │ │ │
|
|
35
|
+
│ • Schema design │ │ • API routes │ │ • Components │
|
|
36
|
+
│ • Migrations │ │ • Controllers │ │ • Pages │
|
|
37
|
+
│ • Seed data │ │ • Middleware │ │ • Styling │
|
|
38
|
+
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
39
|
+
│ │ │
|
|
40
|
+
└───────────────────┼───────────────────┘
|
|
41
|
+
▼
|
|
42
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
43
|
+
│ PARALLEL PHASE (Optional) │
|
|
44
|
+
│ • Security Auditor → Vulnerability check │
|
|
45
|
+
│ • Test Engineer → Unit tests │
|
|
46
|
+
│ • Performance Optimizer → Bundle analysis │
|
|
47
|
+
└─────────────────────────────────────────────────────────────┘
|
|
48
|
+
│
|
|
49
|
+
▼
|
|
50
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
51
|
+
│ DEVOPS ENGINEER │
|
|
52
|
+
│ • Environment setup │
|
|
53
|
+
│ • Preview deployment │
|
|
54
|
+
│ • Health check │
|
|
55
|
+
└─────────────────────────────────────────────────────────────┘
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Execution Order
|
|
59
|
+
|
|
60
|
+
| Phase | Agent(s) | Parallel? | Prerequisite | CHECKPOINT |
|
|
61
|
+
|-------|----------|-----------|--------------|------------|
|
|
62
|
+
| 0 | Socratic Gate | ❌ | - | ✅ Ask 3 questions |
|
|
63
|
+
| 1 | Project Planner | ❌ | Questions answered | ✅ **PLAN.md created** |
|
|
64
|
+
| 1.5 | **PLAN VERIFICATION** | ❌ | PLAN.md exists | ✅ **File exists in root** |
|
|
65
|
+
| 2 | Database Architect | ❌ | Plan ready | Schema defined |
|
|
66
|
+
| 3 | Backend Specialist | ❌ | Schema ready | API routes created |
|
|
67
|
+
| 4 | Frontend Specialist | ✅ | API ready (partial) | UI components ready |
|
|
68
|
+
| 5 | Security Auditor, Test Engineer | ✅ | Code ready | Tests & audit pass |
|
|
69
|
+
| 6 | DevOps Engineer | ❌ | All code ready | Deployment ready |
|
|
70
|
+
|
|
71
|
+
> 🔴 **CRITICAL:** Phase 1.5 is MANDATORY. No specialist agents proceed without PLAN.md verification.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Feature Building
|
|
2
|
+
|
|
3
|
+
> How to analyze and implement new features.
|
|
4
|
+
|
|
5
|
+
## Feature Analysis
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
Request: "add payment system"
|
|
9
|
+
|
|
10
|
+
Analysis:
|
|
11
|
+
├── Required Changes:
|
|
12
|
+
│ ├── Database: orders, payments tables
|
|
13
|
+
│ ├── Backend: /api/checkout, /api/webhooks/stripe
|
|
14
|
+
│ ├── Frontend: CheckoutForm, PaymentSuccess
|
|
15
|
+
│ └── Config: Stripe API keys
|
|
16
|
+
│
|
|
17
|
+
├── Dependencies:
|
|
18
|
+
│ ├── stripe package
|
|
19
|
+
│ └── Existing user authentication
|
|
20
|
+
│
|
|
21
|
+
└── Estimated Time: 15-20 minutes
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Iterative Enhancement Process
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
1. Analyze existing project
|
|
28
|
+
2. Create change plan
|
|
29
|
+
3. Present plan to user
|
|
30
|
+
4. Get approval
|
|
31
|
+
5. Apply changes
|
|
32
|
+
6. Test
|
|
33
|
+
7. Show preview
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Error Handling
|
|
37
|
+
|
|
38
|
+
| Error Type | Solution Strategy |
|
|
39
|
+
|------------|-------------------|
|
|
40
|
+
| TypeScript Error | Fix type, add missing import |
|
|
41
|
+
| Missing Dependency | Run npm install |
|
|
42
|
+
| Port Conflict | Suggest alternative port |
|
|
43
|
+
| Database Error | Check migration, validate connection |
|
|
44
|
+
|
|
45
|
+
## Recovery Strategy
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
1. Detect error
|
|
49
|
+
2. Try automatic fix
|
|
50
|
+
3. If failed, report to user
|
|
51
|
+
4. Suggest alternative
|
|
52
|
+
5. Rollback if necessary
|
|
53
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Project Type Detection
|
|
2
|
+
|
|
3
|
+
> Analyze user requests to determine project type and template.
|
|
4
|
+
|
|
5
|
+
## Keyword Matrix
|
|
6
|
+
|
|
7
|
+
| Keywords | Project Type | Template |
|
|
8
|
+
|----------|--------------|----------|
|
|
9
|
+
| blog, post, article | Blog | astro-static |
|
|
10
|
+
| e-commerce, product, cart, payment | E-commerce | nextjs-saas |
|
|
11
|
+
| dashboard, panel, management | Admin Dashboard | nextjs-fullstack |
|
|
12
|
+
| api, backend, service, rest | API Service | express-api |
|
|
13
|
+
| python, fastapi, django | Python API | python-fastapi |
|
|
14
|
+
| mobile, android, ios, react native | Mobile App (RN) | react-native-app |
|
|
15
|
+
| flutter, dart | Mobile App (Flutter) | flutter-app |
|
|
16
|
+
| portfolio, personal, cv | Portfolio | nextjs-static |
|
|
17
|
+
| crm, customer, sales | CRM | nextjs-fullstack |
|
|
18
|
+
| saas, subscription, stripe | SaaS | nextjs-saas |
|
|
19
|
+
| landing, promotional, marketing | Landing Page | nextjs-static |
|
|
20
|
+
| docs, documentation | Documentation | astro-static |
|
|
21
|
+
| extension, plugin, chrome | Browser Extension | chrome-extension |
|
|
22
|
+
| desktop, electron | Desktop App | electron-desktop |
|
|
23
|
+
| cli, command line, terminal | CLI Tool | cli-tool |
|
|
24
|
+
| monorepo, workspace | Monorepo | monorepo-turborepo |
|
|
25
|
+
|
|
26
|
+
## Detection Process
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
1. Tokenize user request
|
|
30
|
+
2. Extract keywords
|
|
31
|
+
3. Determine project type
|
|
32
|
+
4. Detect missing information → forward to conversation-manager
|
|
33
|
+
5. Suggest tech stack
|
|
34
|
+
```
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Project Scaffolding
|
|
2
|
+
|
|
3
|
+
> Directory structure and core files for new projects.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Next.js Full-Stack Structure (2025 Optimized)
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
project-name/
|
|
11
|
+
├── src/
|
|
12
|
+
│ ├── app/ # Routes only (thin layer)
|
|
13
|
+
│ │ ├── layout.tsx
|
|
14
|
+
│ │ ├── page.tsx
|
|
15
|
+
│ │ ├── globals.css
|
|
16
|
+
│ │ ├── (auth)/ # Route group - auth pages
|
|
17
|
+
│ │ │ ├── login/page.tsx
|
|
18
|
+
│ │ │ └── register/page.tsx
|
|
19
|
+
│ │ ├── (dashboard)/ # Route group - dashboard layout
|
|
20
|
+
│ │ │ ├── layout.tsx
|
|
21
|
+
│ │ │ └── page.tsx
|
|
22
|
+
│ │ └── api/
|
|
23
|
+
│ │ └── [resource]/route.ts
|
|
24
|
+
│ │
|
|
25
|
+
│ ├── features/ # Feature-based modules
|
|
26
|
+
│ │ ├── auth/
|
|
27
|
+
│ │ │ ├── components/
|
|
28
|
+
│ │ │ ├── hooks/
|
|
29
|
+
│ │ │ ├── actions.ts # Server Actions
|
|
30
|
+
│ │ │ ├── queries.ts # Data fetching
|
|
31
|
+
│ │ │ └── types.ts
|
|
32
|
+
│ │ ├── products/
|
|
33
|
+
│ │ │ ├── components/
|
|
34
|
+
│ │ │ ├── actions.ts
|
|
35
|
+
│ │ │ └── queries.ts
|
|
36
|
+
│ │ └── cart/
|
|
37
|
+
│ │ └── ...
|
|
38
|
+
│ │
|
|
39
|
+
│ ├── shared/ # Shared utilities
|
|
40
|
+
│ │ ├── components/ui/ # Reusable UI components
|
|
41
|
+
│ │ ├── lib/ # Utils, helpers
|
|
42
|
+
│ │ └── hooks/ # Global hooks
|
|
43
|
+
│ │
|
|
44
|
+
│ └── server/ # Server-only code
|
|
45
|
+
│ ├── db/ # Database client (Prisma)
|
|
46
|
+
│ ├── auth/ # Auth config
|
|
47
|
+
│ └── services/ # External API integrations
|
|
48
|
+
│
|
|
49
|
+
├── prisma/
|
|
50
|
+
│ ├── schema.prisma
|
|
51
|
+
│ ├── migrations/
|
|
52
|
+
│ └── seed.ts
|
|
53
|
+
│
|
|
54
|
+
├── public/
|
|
55
|
+
├── .env.example
|
|
56
|
+
├── .env.local
|
|
57
|
+
├── package.json
|
|
58
|
+
├── tailwind.config.ts
|
|
59
|
+
├── tsconfig.json
|
|
60
|
+
└── README.md
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Structure Principles
|
|
66
|
+
|
|
67
|
+
| Principle | Implementation |
|
|
68
|
+
|-----------|----------------|
|
|
69
|
+
| **Feature isolation** | Each feature in `features/` with its own components, hooks, actions |
|
|
70
|
+
| **Server/Client separation** | Server-only code in `server/`, prevents accidental client imports |
|
|
71
|
+
| **Thin routes** | `app/` only for routing, logic lives in `features/` |
|
|
72
|
+
| **Route groups** | `(groupName)/` for layout sharing without URL impact |
|
|
73
|
+
| **Shared code** | `shared/` for truly reusable UI and utilities |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Core Files
|
|
78
|
+
|
|
79
|
+
| File | Purpose |
|
|
80
|
+
|------|---------|
|
|
81
|
+
| `package.json` | Dependencies |
|
|
82
|
+
| `tsconfig.json` | TypeScript + path aliases (`@/features/*`) |
|
|
83
|
+
| `tailwind.config.ts` | Tailwind config |
|
|
84
|
+
| `.env.example` | Environment template |
|
|
85
|
+
| `README.md` | Project documentation |
|
|
86
|
+
| `.gitignore` | Git ignore rules |
|
|
87
|
+
| `prisma/schema.prisma` | Database schema |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Path Aliases (tsconfig.json)
|
|
92
|
+
|
|
93
|
+
```json
|
|
94
|
+
{
|
|
95
|
+
"compilerOptions": {
|
|
96
|
+
"paths": {
|
|
97
|
+
"@/*": ["./src/*"],
|
|
98
|
+
"@/features/*": ["./src/features/*"],
|
|
99
|
+
"@/shared/*": ["./src/shared/*"],
|
|
100
|
+
"@/server/*": ["./src/server/*"]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## When to Use What
|
|
109
|
+
|
|
110
|
+
| Need | Location |
|
|
111
|
+
|------|----------|
|
|
112
|
+
| New page/route | `app/(group)/page.tsx` |
|
|
113
|
+
| Feature component | `features/[name]/components/` |
|
|
114
|
+
| Server action | `features/[name]/actions.ts` |
|
|
115
|
+
| Data fetching | `features/[name]/queries.ts` |
|
|
116
|
+
| Reusable button/input | `shared/components/ui/` |
|
|
117
|
+
| Database query | `server/db/` |
|
|
118
|
+
| External API call | `server/services/` |
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Tech Stack Selection (2025)
|
|
2
|
+
|
|
3
|
+
> Default and alternative technology choices for web applications.
|
|
4
|
+
|
|
5
|
+
## Default Stack (Web App - 2025)
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
Frontend:
|
|
9
|
+
framework: Next.js 16 (Stable)
|
|
10
|
+
language: TypeScript 5.7+
|
|
11
|
+
styling: Tailwind CSS v4
|
|
12
|
+
state: React 19 Actions / Server Components
|
|
13
|
+
bundler: Turbopack (Stable for Dev)
|
|
14
|
+
|
|
15
|
+
Backend:
|
|
16
|
+
runtime: Node.js 23
|
|
17
|
+
framework: Next.js API Routes / Hono (for Edge)
|
|
18
|
+
validation: Zod / TypeBox
|
|
19
|
+
|
|
20
|
+
Database:
|
|
21
|
+
primary: PostgreSQL
|
|
22
|
+
orm: Prisma / Drizzle
|
|
23
|
+
hosting: Supabase / Neon
|
|
24
|
+
|
|
25
|
+
Auth:
|
|
26
|
+
provider: Auth.js (v5) / Clerk
|
|
27
|
+
|
|
28
|
+
Monorepo:
|
|
29
|
+
tool: Turborepo 2.0
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Alternative Options
|
|
33
|
+
|
|
34
|
+
| Need | Default | Alternative |
|
|
35
|
+
|------|---------|-------------|
|
|
36
|
+
| Real-time | - | Supabase Realtime, Socket.io |
|
|
37
|
+
| File storage | - | Cloudinary, S3 |
|
|
38
|
+
| Payment | Stripe | LemonSqueezy, Paddle |
|
|
39
|
+
| Email | - | Resend, SendGrid |
|
|
40
|
+
| Search | - | Algolia, Typesense |
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: templates
|
|
3
|
+
description: Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 12 templates for various tech stacks.
|
|
4
|
+
allowed-tools: Read, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Project Templates
|
|
8
|
+
|
|
9
|
+
> Quick-start templates for scaffolding new projects.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 🎯 Selective Reading Rule
|
|
14
|
+
|
|
15
|
+
**Read ONLY the template matching user's project type!**
|
|
16
|
+
|
|
17
|
+
| Template | Tech Stack | When to Use |
|
|
18
|
+
|----------|------------|-------------|
|
|
19
|
+
| [nextjs-fullstack](nextjs-fullstack/TEMPLATE.md) | Next.js + Prisma | Full-stack web app |
|
|
20
|
+
| [nextjs-saas](nextjs-saas/TEMPLATE.md) | Next.js + Stripe | SaaS product |
|
|
21
|
+
| [nextjs-static](nextjs-static/TEMPLATE.md) | Next.js + Framer | Landing page |
|
|
22
|
+
| [express-api](express-api/TEMPLATE.md) | Express + JWT | REST API |
|
|
23
|
+
| [python-fastapi](python-fastapi/TEMPLATE.md) | FastAPI | Python API |
|
|
24
|
+
| [react-native-app](react-native-app/TEMPLATE.md) | Expo + Zustand | Mobile app |
|
|
25
|
+
| [flutter-app](flutter-app/TEMPLATE.md) | Flutter + Riverpod | Cross-platform |
|
|
26
|
+
| [electron-desktop](electron-desktop/TEMPLATE.md) | Electron + React | Desktop app |
|
|
27
|
+
| [chrome-extension](chrome-extension/TEMPLATE.md) | Chrome MV3 | Browser extension |
|
|
28
|
+
| [cli-tool](cli-tool/TEMPLATE.md) | Node.js + Commander | CLI app |
|
|
29
|
+
| [monorepo-turborepo](monorepo-turborepo/TEMPLATE.md) | Turborepo + pnpm | Monorepo |
|
|
30
|
+
| [astro-static](astro-static/TEMPLATE.md) | Astro + MDX | Blog / Docs |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Usage
|
|
35
|
+
|
|
36
|
+
1. User says "create [type] app"
|
|
37
|
+
2. Match to appropriate template
|
|
38
|
+
3. Read ONLY that template's TEMPLATE.md
|
|
39
|
+
4. Follow its tech stack and structure
|