@dtt_siye/atool 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +235 -0
- package/VERSION +1 -0
- package/agents/code-reviewer.md +29 -0
- package/bin/atool.js +235 -0
- package/bin/postinstall.js +23 -0
- package/hooks/doc-sync-reminder +155 -0
- package/hooks/hooks-cursor.json +37 -0
- package/hooks/hooks.json +37 -0
- package/hooks/prompt-guard +135 -0
- package/hooks/session-start +286 -0
- package/install.sh +603 -0
- package/lib/analyze-source.sh +1265 -0
- package/lib/common.sh +1041 -0
- package/lib/compute-importance.sh +598 -0
- package/lib/detect-stack.sh +354 -0
- package/lib/generate-visualization.sh +266 -0
- package/lib/install-claude.sh +43 -0
- package/lib/install-cursor.sh +281 -0
- package/lib/install-hooks.sh +285 -0
- package/lib/install-kiro.sh +543 -0
- package/lib/install-mcp.sh +99 -0
- package/lib/install-skills.sh +129 -0
- package/lib/knowledge-graph.sh +1014 -0
- package/lib/multi-dimensional-analysis.sh +413 -0
- package/lib/pre-scan.sh +1045 -0
- package/lib/project-init.sh +552 -0
- package/lib/visualization-template.html +545 -0
- package/mcp/recommended.json +24 -0
- package/package.json +39 -0
- package/skills/_superpowers/.claude-plugin/marketplace.json +20 -0
- package/skills/_superpowers/.claude-plugin/plugin.json +20 -0
- package/skills/_superpowers/.codex/INSTALL.md +67 -0
- package/skills/_superpowers/.cursor-plugin/plugin.json +25 -0
- package/skills/_superpowers/.gitattributes +18 -0
- package/skills/_superpowers/.github/FUNDING.yml +3 -0
- package/skills/_superpowers/.github/ISSUE_TEMPLATE/bug_report.md +52 -0
- package/skills/_superpowers/.github/ISSUE_TEMPLATE/config.yml +5 -0
- package/skills/_superpowers/.github/ISSUE_TEMPLATE/feature_request.md +34 -0
- package/skills/_superpowers/.github/ISSUE_TEMPLATE/platform_support.md +23 -0
- package/skills/_superpowers/.github/PULL_REQUEST_TEMPLATE.md +87 -0
- package/skills/_superpowers/.opencode/INSTALL.md +83 -0
- package/skills/_superpowers/.opencode/plugins/superpowers.js +107 -0
- package/skills/_superpowers/CHANGELOG.md +13 -0
- package/skills/_superpowers/CODE_OF_CONDUCT.md +128 -0
- package/skills/_superpowers/GEMINI.md +2 -0
- package/skills/_superpowers/LICENSE +21 -0
- package/skills/_superpowers/README.md +187 -0
- package/skills/_superpowers/RELEASE-NOTES.md +1083 -0
- package/skills/_superpowers/agents/code-reviewer.md +48 -0
- package/skills/_superpowers/commands/brainstorm.md +5 -0
- package/skills/_superpowers/commands/execute-plan.md +5 -0
- package/skills/_superpowers/commands/write-plan.md +5 -0
- package/skills/_superpowers/docs/README.codex.md +126 -0
- package/skills/_superpowers/docs/README.opencode.md +130 -0
- package/skills/_superpowers/docs/plans/2025-11-22-opencode-support-design.md +294 -0
- package/skills/_superpowers/docs/plans/2025-11-22-opencode-support-implementation.md +1095 -0
- package/skills/_superpowers/docs/plans/2025-11-28-skills-improvements-from-user-feedback.md +711 -0
- package/skills/_superpowers/docs/plans/2026-01-17-visual-brainstorming.md +571 -0
- package/skills/_superpowers/docs/superpowers/plans/2026-01-22-document-review-system.md +301 -0
- package/skills/_superpowers/docs/superpowers/plans/2026-02-19-visual-brainstorming-refactor.md +523 -0
- package/skills/_superpowers/docs/superpowers/plans/2026-03-11-zero-dep-brainstorm-server.md +479 -0
- package/skills/_superpowers/docs/superpowers/plans/2026-03-23-codex-app-compatibility.md +564 -0
- package/skills/_superpowers/docs/superpowers/specs/2026-01-22-document-review-system-design.md +136 -0
- package/skills/_superpowers/docs/superpowers/specs/2026-02-19-visual-brainstorming-refactor-design.md +162 -0
- package/skills/_superpowers/docs/superpowers/specs/2026-03-11-zero-dep-brainstorm-server-design.md +118 -0
- package/skills/_superpowers/docs/superpowers/specs/2026-03-23-codex-app-compatibility-design.md +244 -0
- package/skills/_superpowers/docs/testing.md +303 -0
- package/skills/_superpowers/docs/windows/polyglot-hooks.md +212 -0
- package/skills/_superpowers/gemini-extension.json +6 -0
- package/skills/_superpowers/hooks/hooks-cursor.json +10 -0
- package/skills/_superpowers/hooks/hooks.json +16 -0
- package/skills/_superpowers/hooks/run-hook.cmd +46 -0
- package/skills/_superpowers/hooks/session-start +57 -0
- package/skills/_superpowers/package.json +6 -0
- package/skills/_superpowers/skills/brainstorming/SKILL.md +164 -0
- package/skills/_superpowers/skills/brainstorming/scripts/frame-template.html +214 -0
- package/skills/_superpowers/skills/brainstorming/scripts/helper.js +88 -0
- package/skills/_superpowers/skills/brainstorming/scripts/server.cjs +354 -0
- package/skills/_superpowers/skills/brainstorming/scripts/start-server.sh +148 -0
- package/skills/_superpowers/skills/brainstorming/scripts/stop-server.sh +56 -0
- package/skills/_superpowers/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/skills/_superpowers/skills/brainstorming/visual-companion.md +287 -0
- package/skills/_superpowers/skills/dispatching-parallel-agents/SKILL.md +182 -0
- package/skills/_superpowers/skills/executing-plans/SKILL.md +70 -0
- package/skills/_superpowers/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/skills/_superpowers/skills/receiving-code-review/SKILL.md +213 -0
- package/skills/_superpowers/skills/requesting-code-review/SKILL.md +105 -0
- package/skills/_superpowers/skills/requesting-code-review/code-reviewer.md +146 -0
- package/skills/_superpowers/skills/subagent-driven-development/SKILL.md +277 -0
- package/skills/_superpowers/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
- package/skills/_superpowers/skills/subagent-driven-development/implementer-prompt.md +113 -0
- package/skills/_superpowers/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/_superpowers/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/skills/_superpowers/skills/systematic-debugging/SKILL.md +296 -0
- package/skills/_superpowers/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/skills/_superpowers/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/skills/_superpowers/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/skills/_superpowers/skills/systematic-debugging/find-polluter.sh +63 -0
- package/skills/_superpowers/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/skills/_superpowers/skills/systematic-debugging/test-academic.md +14 -0
- package/skills/_superpowers/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/skills/_superpowers/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/skills/_superpowers/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/skills/_superpowers/skills/test-driven-development/SKILL.md +371 -0
- package/skills/_superpowers/skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/skills/_superpowers/skills/using-git-worktrees/SKILL.md +218 -0
- package/skills/_superpowers/skills/using-superpowers/SKILL.md +115 -0
- package/skills/_superpowers/skills/using-superpowers/references/codex-tools.md +100 -0
- package/skills/_superpowers/skills/using-superpowers/references/gemini-tools.md +33 -0
- package/skills/_superpowers/skills/verification-before-completion/SKILL.md +139 -0
- package/skills/_superpowers/skills/writing-plans/SKILL.md +152 -0
- package/skills/_superpowers/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/skills/_superpowers/skills/writing-skills/SKILL.md +655 -0
- package/skills/_superpowers/skills/writing-skills/anthropic-best-practices.md +1150 -0
- package/skills/_superpowers/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/skills/_superpowers/skills/writing-skills/graphviz-conventions.dot +172 -0
- package/skills/_superpowers/skills/writing-skills/persuasion-principles.md +187 -0
- package/skills/_superpowers/skills/writing-skills/render-graphs.js +168 -0
- package/skills/_superpowers/skills/writing-skills/testing-skills-with-subagents.md +384 -0
- package/skills/_superpowers/tests/brainstorm-server/package-lock.json +36 -0
- package/skills/_superpowers/tests/brainstorm-server/package.json +10 -0
- package/skills/_superpowers/tests/brainstorm-server/server.test.js +427 -0
- package/skills/_superpowers/tests/brainstorm-server/windows-lifecycle.test.sh +351 -0
- package/skills/_superpowers/tests/brainstorm-server/ws-protocol.test.js +392 -0
- package/skills/_superpowers/tests/claude-code/README.md +158 -0
- package/skills/_superpowers/tests/claude-code/analyze-token-usage.py +168 -0
- package/skills/_superpowers/tests/claude-code/run-skill-tests.sh +187 -0
- package/skills/_superpowers/tests/claude-code/test-document-review-system.sh +177 -0
- package/skills/_superpowers/tests/claude-code/test-helpers.sh +202 -0
- package/skills/_superpowers/tests/claude-code/test-subagent-driven-development-integration.sh +314 -0
- package/skills/_superpowers/tests/claude-code/test-subagent-driven-development.sh +165 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/action-oriented.txt +3 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/after-planning-flow.txt +17 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/claude-suggested-it.txt +11 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/i-know-what-sdd-means.txt +8 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/mid-conversation-execute-plan.txt +3 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/please-use-brainstorming.txt +1 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/skip-formalities.txt +3 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/subagent-driven-development-please.txt +1 -0
- package/skills/_superpowers/tests/explicit-skill-requests/prompts/use-systematic-debugging.txt +1 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-all.sh +70 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-claude-describes-sdd.sh +100 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-extended-multiturn-test.sh +113 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-haiku-test.sh +144 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-multiturn-test.sh +143 -0
- package/skills/_superpowers/tests/explicit-skill-requests/run-test.sh +136 -0
- package/skills/_superpowers/tests/opencode/run-tests.sh +163 -0
- package/skills/_superpowers/tests/opencode/setup.sh +73 -0
- package/skills/_superpowers/tests/opencode/test-plugin-loading.sh +72 -0
- package/skills/_superpowers/tests/opencode/test-priority.sh +198 -0
- package/skills/_superpowers/tests/opencode/test-tools.sh +104 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/dispatching-parallel-agents.txt +8 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/executing-plans.txt +1 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/requesting-code-review.txt +3 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/systematic-debugging.txt +11 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/test-driven-development.txt +7 -0
- package/skills/_superpowers/tests/skill-triggering/prompts/writing-plans.txt +10 -0
- package/skills/_superpowers/tests/skill-triggering/run-all.sh +60 -0
- package/skills/_superpowers/tests/skill-triggering/run-test.sh +88 -0
- package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/design.md +81 -0
- package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/plan.md +172 -0
- package/skills/_superpowers/tests/subagent-driven-dev/go-fractals/scaffold.sh +45 -0
- package/skills/_superpowers/tests/subagent-driven-dev/run-test.sh +106 -0
- package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/design.md +70 -0
- package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/plan.md +222 -0
- package/skills/_superpowers/tests/subagent-driven-dev/svelte-todo/scaffold.sh +46 -0
- package/skills/ai-project-architecture/SKILL.md +632 -0
- package/skills/ai-project-architecture/reference/structure-rules.md +406 -0
- package/skills/ai-project-architecture/templates/compliance-report.md +300 -0
- package/skills/ai-project-architecture/templates/migration-plan.md +433 -0
- package/skills/ai-project-architecture/templates/verification-checklist.md +408 -0
- package/skills/android-conventions/SKILL.md +125 -0
- package/skills/atool-init/SKILL.md +141 -0
- package/skills/clarify-before-build/SKILL.md +107 -0
- package/skills/code-review/SKILL.md +406 -0
- package/skills/code-review/rules/architecture.md +285 -0
- package/skills/code-review/rules/coupling-cohesion.md +309 -0
- package/skills/code-review/rules/dead-code.md +115 -0
- package/skills/code-review/rules/deprecation-debt.md +279 -0
- package/skills/code-review/rules/duplication.md +104 -0
- package/skills/code-review/rules/error-security.md +143 -0
- package/skills/code-review/rules/maintainability.md +203 -0
- package/skills/code-review/rules/quality.md +158 -0
- package/skills/devops-conventions/SKILL.md +205 -0
- package/skills/doc-coauthoring/SKILL.md +392 -0
- package/skills/doc-standards-enforcer/SKILL.md +290 -0
- package/skills/doc-standards-enforcer/examples/valid-document-example.md +67 -0
- package/skills/doc-standards-enforcer/references/101-standards-summary.md +318 -0
- package/skills/doc-standards-enforcer/scripts/check_references.py +175 -0
- package/skills/doc-standards-enforcer/scripts/fix_common_issues.py +303 -0
- package/skills/doc-standards-enforcer/scripts/validate_doc_standards.py +332 -0
- package/skills/docx/LICENSE.txt +30 -0
- package/skills/docx/SKILL.md +200 -0
- package/skills/docx/docx-js.md +350 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/docx/ooxml/scripts/pack.py +159 -0
- package/skills/docx/ooxml/scripts/unpack.py +29 -0
- package/skills/docx/ooxml/scripts/validate.py +69 -0
- package/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/docx/ooxml.md +610 -0
- package/skills/docx/scripts/__init__.py +1 -0
- package/skills/docx/scripts/document.py +1276 -0
- package/skills/docx/scripts/templates/comments.xml +3 -0
- package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/skills/docx/scripts/templates/people.xml +3 -0
- package/skills/docx/scripts/utilities.py +374 -0
- package/skills/flutter-conventions/SKILL.md +70 -0
- package/skills/go-conventions/SKILL.md +230 -0
- package/skills/harmony-conventions/SKILL.md +156 -0
- package/skills/java-conventions/SKILL.md +277 -0
- package/skills/pdf/LICENSE.txt +30 -0
- package/skills/pdf/SKILL.md +297 -0
- package/skills/pdf/forms.md +205 -0
- package/skills/pdf/reference.md +612 -0
- package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/skills/pdf/scripts/create_validation_image.py +41 -0
- package/skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/skills/pptx/LICENSE.txt +30 -0
- package/skills/pptx/SKILL.md +487 -0
- package/skills/pptx/html2pptx.md +625 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/skills/pptx/ooxml/scripts/pack.py +159 -0
- package/skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/skills/pptx/ooxml/scripts/validate.py +69 -0
- package/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/skills/pptx/ooxml.md +427 -0
- package/skills/pptx/scripts/html2pptx.js +979 -0
- package/skills/pptx/scripts/inventory.py +1020 -0
- package/skills/pptx/scripts/rearrange.py +231 -0
- package/skills/pptx/scripts/replace.py +385 -0
- package/skills/pptx/scripts/thumbnail.py +450 -0
- package/skills/project-analyze/SKILL.md +270 -0
- package/skills/project-analyze/phases/phase0-discovery.md +278 -0
- package/skills/project-analyze/phases/phase0.5-prescan.md +139 -0
- package/skills/project-analyze/phases/phase1-inventory.md +94 -0
- package/skills/project-analyze/phases/phase2-deep-analysis.md +249 -0
- package/skills/project-analyze/phases/phase2a-l4-analysis.md +94 -0
- package/skills/project-analyze/phases/phase2b-l5-analysis.md +97 -0
- package/skills/project-analyze/phases/phase3-knowledge-graph.md +120 -0
- package/skills/project-analyze/phases/phase3a-multi-dimensional.md +61 -0
- package/skills/project-analyze/phases/phase4-code-quality.md +81 -0
- package/skills/project-analyze/phases/phase5-synthesis.md +284 -0
- package/skills/project-analyze/phases/phase6-validation.md +179 -0
- package/skills/project-analyze/prompts/code-review-agent.md +122 -0
- package/skills/project-analyze/prompts/deep-analysis-agent.md +107 -0
- package/skills/project-analyze/prompts/inventory-agent.md +67 -0
- package/skills/project-analyze/prompts/l4-analysis-agent.md +98 -0
- package/skills/project-analyze/rules/android.md +282 -0
- package/skills/project-analyze/rules/devops.md +443 -0
- package/skills/project-analyze/rules/generic.md +243 -0
- package/skills/project-analyze/rules/go.md +289 -0
- package/skills/project-analyze/rules/harmony.md +257 -0
- package/skills/project-analyze/rules/java.md +507 -0
- package/skills/project-analyze/rules/mobile-flutter.md +315 -0
- package/skills/project-analyze/rules/mobile-react-native.md +283 -0
- package/skills/project-analyze/rules/mobile-swift.md +323 -0
- package/skills/project-analyze/rules/python.md +317 -0
- package/skills/project-analyze/rules/rust-tauri.md +243 -0
- package/skills/project-analyze/rules/rust.md +296 -0
- package/skills/project-analyze/rules/web-nextjs.md +364 -0
- package/skills/project-analyze/rules/web-react.md +298 -0
- package/skills/project-analyze/rules/web-vue.md +378 -0
- package/skills/project-analyze/rules/web.md +390 -0
- package/skills/project-query/SKILL.md +224 -0
- package/skills/project-query/rules/query-templates.md +212 -0
- package/skills/python-conventions/SKILL.md +169 -0
- package/skills/react-native-conventions/SKILL.md +73 -0
- package/skills/requirements-writer/README.md +153 -0
- package/skills/requirements-writer/SKILL.md +341 -0
- package/skills/requirements-writer/examples/prd-outline-example.md +217 -0
- package/skills/requirements-writer/templates/module-prd-template.md +362 -0
- package/skills/requirements-writer/templates/prd-outline-template.md +185 -0
- package/skills/requirements-writer/templates/user-story-template.md +1125 -0
- package/skills/rust-conventions/SKILL.md +361 -0
- package/skills/smart-dispatch/SKILL.md +296 -0
- package/skills/smart-dispatch/implementer-prompt.md +146 -0
- package/skills/smart-dispatch/reviewer-prompt.md +199 -0
- package/skills/software-architecture/SKILL.md +278 -0
- package/skills/swift-conventions/SKILL.md +72 -0
- package/skills/ui-ux-pro/SKILL.md +140 -0
- package/skills/verification-before-completion/SKILL.md +119 -0
- package/skills/web-conventions/SKILL.md +259 -0
- package/skills/webapp-testing/LICENSE.txt +202 -0
- package/skills/webapp-testing/SKILL.md +97 -0
- package/skills/webapp-testing/examples/console_logging.py +35 -0
- package/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/skills/webapp-testing/scripts/with_server.py +106 -0
- package/skills/writing-plans/SKILL.md +144 -0
- package/skills/xlsx/LICENSE.txt +30 -0
- package/skills/xlsx/SKILL.md +292 -0
- package/skills/xlsx/recalc.py +178 -0
- package/templates/CLAUDE.md.android +57 -0
- package/templates/CLAUDE.md.devops +50 -0
- package/templates/CLAUDE.md.generic +34 -0
- package/templates/CLAUDE.md.go +67 -0
- package/templates/CLAUDE.md.harmony +54 -0
- package/templates/CLAUDE.md.java +56 -0
- package/templates/CLAUDE.md.mobile-flutter +38 -0
- package/templates/CLAUDE.md.mobile-react-native +37 -0
- package/templates/CLAUDE.md.mobile-swift +40 -0
- package/templates/CLAUDE.md.python +65 -0
- package/templates/CLAUDE.md.rust +68 -0
- package/templates/CLAUDE.md.rust-tauri +120 -0
- package/templates/CLAUDE.md.web +63 -0
- package/templates/COMPONENT.md.android +58 -0
- package/templates/COMPONENT.md.devops +54 -0
- package/templates/COMPONENT.md.generic +35 -0
- package/templates/COMPONENT.md.go +59 -0
- package/templates/COMPONENT.md.harmony +63 -0
- package/templates/COMPONENT.md.java +69 -0
- package/templates/COMPONENT.md.mobile-flutter +56 -0
- package/templates/COMPONENT.md.mobile-react-native +55 -0
- package/templates/COMPONENT.md.mobile-swift +56 -0
- package/templates/COMPONENT.md.python +67 -0
- package/templates/COMPONENT.md.rust +57 -0
- package/templates/COMPONENT.md.rust-tauri +66 -0
- package/templates/COMPONENT.md.web +39 -0
- package/templates/README.md.android +71 -0
- package/templates/README.md.devops +68 -0
- package/templates/README.md.generic +39 -0
- package/templates/README.md.go +70 -0
- package/templates/README.md.harmony +72 -0
- package/templates/README.md.java +73 -0
- package/templates/README.md.mobile-flutter +69 -0
- package/templates/README.md.mobile-react-native +65 -0
- package/templates/README.md.mobile-swift +69 -0
- package/templates/README.md.monorepo +59 -0
- package/templates/README.md.python +66 -0
- package/templates/README.md.rust +69 -0
- package/templates/README.md.rust-tauri +149 -0
- package/templates/README.md.web +94 -0
- package/templates/UI_STYLE.md.android +74 -0
- package/templates/UI_STYLE.md.devops +50 -0
- package/templates/UI_STYLE.md.generic +31 -0
- package/templates/UI_STYLE.md.go +49 -0
- package/templates/UI_STYLE.md.harmony +71 -0
- package/templates/UI_STYLE.md.java +61 -0
- package/templates/UI_STYLE.md.mobile-flutter +70 -0
- package/templates/UI_STYLE.md.mobile-react-native +71 -0
- package/templates/UI_STYLE.md.mobile-swift +71 -0
- package/templates/UI_STYLE.md.python +58 -0
- package/templates/UI_STYLE.md.rust +52 -0
- package/templates/UI_STYLE.md.rust-tauri +102 -0
- package/templates/UI_STYLE.md.web +92 -0
- package/templates/cursor-rules.android.mdc +33 -0
- package/templates/cursor-rules.devops.mdc +32 -0
- package/templates/cursor-rules.generic.mdc +25 -0
- package/templates/cursor-rules.go.mdc +34 -0
- package/templates/cursor-rules.harmony.mdc +30 -0
- package/templates/cursor-rules.java.mdc +30 -0
- package/templates/cursor-rules.mobile-flutter.mdc +42 -0
- package/templates/cursor-rules.mobile-react-native.mdc +43 -0
- package/templates/cursor-rules.mobile-swift.mdc +42 -0
- package/templates/cursor-rules.python.mdc +33 -0
- package/templates/cursor-rules.rust-tauri.mdc +67 -0
- package/templates/cursor-rules.rust.mdc +30 -0
- package/templates/cursor-rules.web.mdc +30 -0
- package/templates/kiro-steering.android.md +39 -0
- package/templates/kiro-steering.devops.md +32 -0
- package/templates/kiro-steering.generic.md +28 -0
- package/templates/kiro-steering.go.md +41 -0
- package/templates/kiro-steering.harmony.md +36 -0
- package/templates/kiro-steering.java.md +37 -0
- package/templates/kiro-steering.mobile-flutter.md +73 -0
- package/templates/kiro-steering.mobile-react-native.md +71 -0
- package/templates/kiro-steering.mobile-swift.md +62 -0
- package/templates/kiro-steering.python.md +34 -0
- package/templates/kiro-steering.rust-tauri.md +50 -0
- package/templates/kiro-steering.rust.md +36 -0
- package/templates/kiro-steering.web.md +41 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Project Configuration
|
|
2
|
+
|
|
3
|
+
## Project Type
|
|
4
|
+
Go application / library
|
|
5
|
+
|
|
6
|
+
## Build & Run
|
|
7
|
+
- Build: `go build ./...`
|
|
8
|
+
- Run: `go run ./cmd/myapp`
|
|
9
|
+
- Test: `go test ./...`
|
|
10
|
+
- Vet: `go vet ./...`
|
|
11
|
+
- Lint: `golangci-lint run`
|
|
12
|
+
- Format: `gofmt -w .`
|
|
13
|
+
- Tidy: `go mod tidy`
|
|
14
|
+
|
|
15
|
+
## Code Style
|
|
16
|
+
- Follow Effective Go guidelines
|
|
17
|
+
- Use `gofmt`/`goimports` for formatting
|
|
18
|
+
- Use meaningful package names (lowercase, no underscores)
|
|
19
|
+
- Keep functions small and focused
|
|
20
|
+
- Handle errors explicitly (no silent drops)
|
|
21
|
+
- Use interfaces for abstraction
|
|
22
|
+
- Prefer composition over inheritance
|
|
23
|
+
- Use table-driven tests
|
|
24
|
+
|
|
25
|
+
## Architecture
|
|
26
|
+
- Standard Go project layout (cmd/, internal/, pkg/)
|
|
27
|
+
- Interface definitions for abstractions
|
|
28
|
+
- Dependency injection via interfaces
|
|
29
|
+
- Use context for cancellation and timeouts
|
|
30
|
+
- Structured logging (slog or zerolog)
|
|
31
|
+
- Configuration via environment variables or config files
|
|
32
|
+
|
|
33
|
+
## Error Handling
|
|
34
|
+
- Always check returned errors
|
|
35
|
+
- Wrap errors with context (fmt.Errorf with %w)
|
|
36
|
+
- Define sentinel errors with var
|
|
37
|
+
- Custom error types for domain errors
|
|
38
|
+
- Use errors.Is and errors.As for error inspection
|
|
39
|
+
|
|
40
|
+
## Testing
|
|
41
|
+
- Table-driven tests for comprehensive coverage
|
|
42
|
+
- Use testing package (no external frameworks required)
|
|
43
|
+
- Use testify/assert for assertions (if desired)
|
|
44
|
+
- Mock interfaces with mockgen
|
|
45
|
+
- Benchmark tests with `go test -bench`
|
|
46
|
+
- Race detection with `go test -race`
|
|
47
|
+
|
|
48
|
+
## Common Commands
|
|
49
|
+
```bash
|
|
50
|
+
# Build
|
|
51
|
+
go build ./...
|
|
52
|
+
|
|
53
|
+
# Run tests
|
|
54
|
+
go test ./...
|
|
55
|
+
|
|
56
|
+
# Run with race detection
|
|
57
|
+
go test -race ./...
|
|
58
|
+
|
|
59
|
+
# Lint
|
|
60
|
+
golangci-lint run
|
|
61
|
+
|
|
62
|
+
# Format
|
|
63
|
+
gofmt -w .
|
|
64
|
+
|
|
65
|
+
# Tidy dependencies
|
|
66
|
+
go mod tidy
|
|
67
|
+
```
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Project Configuration
|
|
2
|
+
|
|
3
|
+
## Project Type
|
|
4
|
+
HarmonyOS / ArkTS application
|
|
5
|
+
|
|
6
|
+
## Build & Run
|
|
7
|
+
- Build: `hvigorw assembleHap` or use DevEco Studio
|
|
8
|
+
- Run: Use DevEco Studio or `hdc install` for device deployment
|
|
9
|
+
- Test: `hvigorw test`
|
|
10
|
+
- Preview: Use DevEco Studio Previewer
|
|
11
|
+
|
|
12
|
+
## Code Style
|
|
13
|
+
- Follow ArkTS coding conventions
|
|
14
|
+
- Use declarative UI paradigm (ArkUI)
|
|
15
|
+
- Prefer @Component decorator for UI components
|
|
16
|
+
- Use ETS (Extended TypeScript) syntax
|
|
17
|
+
- Follow HarmonyOS design guidelines (consistent with device design language)
|
|
18
|
+
- Use modular architecture (feature modules)
|
|
19
|
+
|
|
20
|
+
## Architecture
|
|
21
|
+
- MVVM pattern recommended
|
|
22
|
+
- Use @State, @Prop, @Link for state management
|
|
23
|
+
- Use AppStorage and LocalStorage for shared state
|
|
24
|
+
- Use @Provide and @Consume for cross-component state
|
|
25
|
+
- Repository pattern for data access
|
|
26
|
+
- Emitters for event handling
|
|
27
|
+
|
|
28
|
+
## Resource Management
|
|
29
|
+
- Use `resources` directory for all resources (string, media, profile)
|
|
30
|
+
- Follow resource qualifiers (en_US, zh_CN, etc.)
|
|
31
|
+
- Use `$r('app.string.xxx')` for string references
|
|
32
|
+
- Use `$r('app.media.xxx')` for media references
|
|
33
|
+
|
|
34
|
+
## Navigation
|
|
35
|
+
- Use Navigation component for page routing
|
|
36
|
+
- Define routes in `main_pages.json`
|
|
37
|
+
- Use NavPathStack for programmatic navigation
|
|
38
|
+
|
|
39
|
+
## Testing
|
|
40
|
+
- Unit tests with standard test framework
|
|
41
|
+
- UI tests with UiTest framework
|
|
42
|
+
- Mock external dependencies
|
|
43
|
+
|
|
44
|
+
## Common Commands
|
|
45
|
+
```bash
|
|
46
|
+
# Build HAP package
|
|
47
|
+
hvigorw assembleHap
|
|
48
|
+
|
|
49
|
+
# Clean build
|
|
50
|
+
hvigorw clean
|
|
51
|
+
|
|
52
|
+
# Run tests
|
|
53
|
+
hvigorw test
|
|
54
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Project Configuration
|
|
2
|
+
|
|
3
|
+
## Project Type
|
|
4
|
+
Java / Spring Boot project
|
|
5
|
+
|
|
6
|
+
## Build & Run
|
|
7
|
+
- Build: `./mvnw clean package` or `./gradlew build`
|
|
8
|
+
- Run: `./mvnw spring-boot:run` or `./gradlew bootRun`
|
|
9
|
+
- Test: `./mvnw test` or `./gradlew test`
|
|
10
|
+
|
|
11
|
+
## Code Style
|
|
12
|
+
- Follow standard Java conventions (JLS)
|
|
13
|
+
- Use Spring Boot best practices and auto-configuration
|
|
14
|
+
- Prefer constructor injection over field injection
|
|
15
|
+
- Use `@RequiredArgsConstructor` from Lombok where appropriate
|
|
16
|
+
- Follow the package-by-feature convention
|
|
17
|
+
- Keep controllers thin - business logic in services
|
|
18
|
+
- Use DTOs for API request/response, map with MapStruct
|
|
19
|
+
|
|
20
|
+
## Architecture
|
|
21
|
+
- Layered architecture: Controller → Service → Repository
|
|
22
|
+
- Use Spring Data JPA for data access
|
|
23
|
+
- Define proper exception handlers with `@ControllerAdvice`
|
|
24
|
+
- Use `@ConfigurationProperties` for externalized configuration
|
|
25
|
+
- Follow SOLID principles
|
|
26
|
+
|
|
27
|
+
## Testing
|
|
28
|
+
- Unit tests with JUnit 5 and Mockito
|
|
29
|
+
- Integration tests with Spring Boot Test
|
|
30
|
+
- Test coverage minimum: 70% for business logic
|
|
31
|
+
- Use `@SpringBootTest` sparingly - prefer slice tests
|
|
32
|
+
|
|
33
|
+
## Dependencies
|
|
34
|
+
- Add new dependencies via `./mvnw dependency:add` or edit `pom.xml`/`build.gradle`
|
|
35
|
+
- Run `./mvnw dependency:tree` to check for conflicts
|
|
36
|
+
|
|
37
|
+
## API Design
|
|
38
|
+
- Follow RESTful conventions
|
|
39
|
+
- Use proper HTTP status codes
|
|
40
|
+
- Version APIs with `/api/v1/` prefix
|
|
41
|
+
- Document with Springdoc/OpenAPI
|
|
42
|
+
|
|
43
|
+
## Common Commands
|
|
44
|
+
```bash
|
|
45
|
+
# Create a new entity
|
|
46
|
+
# 1. Create entity class in model package
|
|
47
|
+
# 2. Create repository interface extending JpaRepository
|
|
48
|
+
# 3. Create service class with @Service
|
|
49
|
+
# 4. Create REST controller with @RestController
|
|
50
|
+
|
|
51
|
+
# Run tests
|
|
52
|
+
./mvnw test
|
|
53
|
+
|
|
54
|
+
# Check for dependency updates
|
|
55
|
+
./mvnw versions:display-dependency-updates
|
|
56
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Flutter/Dart mobile development conventions
|
|
3
|
+
globs: "*.dart", "pubspec.yaml"
|
|
4
|
+
alwaysApply: true
|
|
5
|
+
---
|
|
6
|
+
# Flutter / Dart Conventions
|
|
7
|
+
|
|
8
|
+
Follow Flutter and Dart best practices.
|
|
9
|
+
|
|
10
|
+
## Architecture
|
|
11
|
+
- Feature-first folder structure
|
|
12
|
+
- BLoC / Riverpod for state management
|
|
13
|
+
- Repository pattern for data access
|
|
14
|
+
- Freezed for immutable models
|
|
15
|
+
|
|
16
|
+
## Code Style
|
|
17
|
+
- Follow Dart style guide (`dart format`, `dart analyze`)
|
|
18
|
+
- Use `const` constructors where possible
|
|
19
|
+
- Prefer `final` over `var`
|
|
20
|
+
- Use extension methods for utilities
|
|
21
|
+
- Avoid `print()` — use `logger` package
|
|
22
|
+
|
|
23
|
+
## State Management
|
|
24
|
+
- Riverpod (recommended): Type-safe, compile-time checked
|
|
25
|
+
- BLoC: Event-driven, good for complex flows
|
|
26
|
+
- Provider: Simpler, for smaller apps
|
|
27
|
+
|
|
28
|
+
## Navigation
|
|
29
|
+
- GoRouter for declarative routing
|
|
30
|
+
- Deep linking support
|
|
31
|
+
- Type-safe route parameters
|
|
32
|
+
- Bottom sheets and dialogs
|
|
33
|
+
|
|
34
|
+
## Testing
|
|
35
|
+
- Unit tests with `test` package
|
|
36
|
+
- Widget tests with `flutter_test`
|
|
37
|
+
- Integration tests with `integration_test`
|
|
38
|
+
- Mocktail for mocking
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: React Native mobile development conventions
|
|
3
|
+
globs: "*.tsx", "*.ts", "package.json"
|
|
4
|
+
alwaysApply: true
|
|
5
|
+
---
|
|
6
|
+
# React Native Conventions
|
|
7
|
+
|
|
8
|
+
Follow React Native and TypeScript best practices.
|
|
9
|
+
|
|
10
|
+
## Architecture
|
|
11
|
+
- Feature-first folder structure
|
|
12
|
+
- Screen components in `screens/`
|
|
13
|
+
- Reusable components in `components/`
|
|
14
|
+
- Services/API in `services/`
|
|
15
|
+
|
|
16
|
+
## Code Style
|
|
17
|
+
- TypeScript for all new files
|
|
18
|
+
- Functional components with hooks
|
|
19
|
+
- Use `expo` when possible for faster development
|
|
20
|
+
- Follow React conventions
|
|
21
|
+
|
|
22
|
+
## State Management
|
|
23
|
+
- Zustand for simple to moderate state
|
|
24
|
+
- Redux Toolkit for complex state
|
|
25
|
+
- React Query / SWR for server state
|
|
26
|
+
- AsyncStorage / MMKV for persistence
|
|
27
|
+
|
|
28
|
+
## Navigation
|
|
29
|
+
- React Navigation for routing
|
|
30
|
+
- Type-safe navigation params
|
|
31
|
+
- Deep linking support
|
|
32
|
+
- Tab and stack navigators
|
|
33
|
+
|
|
34
|
+
## Testing
|
|
35
|
+
- Jest + React Native Testing Library
|
|
36
|
+
- Detox for E2E tests
|
|
37
|
+
- Mock native modules
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Swift/iOS development conventions
|
|
3
|
+
globs: "*.swift", "Package.swift", "*.xcodeproj"
|
|
4
|
+
alwaysApply: true
|
|
5
|
+
---
|
|
6
|
+
# Swift / iOS Conventions
|
|
7
|
+
|
|
8
|
+
Follow Swift and iOS development best practices.
|
|
9
|
+
|
|
10
|
+
## Architecture
|
|
11
|
+
- MVVM with SwiftUI
|
|
12
|
+
- The Composable Architecture (TCA) for complex state
|
|
13
|
+
- Clean Architecture for large apps
|
|
14
|
+
- Protocol-oriented design
|
|
15
|
+
|
|
16
|
+
## Code Style
|
|
17
|
+
- Follow Swift API Design Guidelines
|
|
18
|
+
- SwiftUI for UI (modern projects)
|
|
19
|
+
- Value types over reference types
|
|
20
|
+
- `guard` for early returns
|
|
21
|
+
- `final` classes by default
|
|
22
|
+
|
|
23
|
+
## SwiftUI Patterns
|
|
24
|
+
- `@StateObject` for owned observable objects
|
|
25
|
+
- `@ObservedObject` for observed objects from parent
|
|
26
|
+
- `@EnvironmentObject` for shared state
|
|
27
|
+
- `@AppStorage` for user preferences
|
|
28
|
+
- `@Observable` macro (Observation framework)
|
|
29
|
+
|
|
30
|
+
## Navigation
|
|
31
|
+
- SwiftUI NavigationStack / NavigationSplitView
|
|
32
|
+
- Type-safe routing with enums
|
|
33
|
+
- Deep linking support
|
|
34
|
+
- Sheet and fullScreenCover for modals
|
|
35
|
+
|
|
36
|
+
## Testing
|
|
37
|
+
- XCTest for unit and UI tests
|
|
38
|
+
- Swift Testing framework (new)
|
|
39
|
+
- Mock with protocols
|
|
40
|
+
- Preview-based development
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Project Configuration
|
|
2
|
+
|
|
3
|
+
## Project Type
|
|
4
|
+
Python application (Django / FastAPI / Flask / CLI)
|
|
5
|
+
|
|
6
|
+
## Build & Run
|
|
7
|
+
- Install: `pip install -e ".[dev]"` or `poetry install`
|
|
8
|
+
- Run: `python -m myapp` or `uvicorn myapp.main:app --reload`
|
|
9
|
+
- Test: `pytest` or `python -m pytest`
|
|
10
|
+
- Lint: `ruff check .` or `flake8`
|
|
11
|
+
- Format: `ruff format .` or `black .`
|
|
12
|
+
- Type check: `mypy .`
|
|
13
|
+
|
|
14
|
+
## Code Style
|
|
15
|
+
- Follow PEP 8 conventions
|
|
16
|
+
- Use type hints for all function signatures
|
|
17
|
+
- Use docstrings (Google or NumPy style)
|
|
18
|
+
- Prefer pathlib over os.path
|
|
19
|
+
- Use f-strings for string formatting
|
|
20
|
+
- Maximum line length: 88 (Black default) or 120 (per project)
|
|
21
|
+
- Use virtual environments (venv, poetry, uv)
|
|
22
|
+
|
|
23
|
+
## Architecture
|
|
24
|
+
- Separate concerns: routes, services, models, schemas
|
|
25
|
+
- Use Pydantic models for data validation
|
|
26
|
+
- Dependency injection for testability
|
|
27
|
+
- Use environment variables for configuration (python-dotenv or pydantic-settings)
|
|
28
|
+
- Follow the repository pattern for data access
|
|
29
|
+
|
|
30
|
+
## Testing
|
|
31
|
+
- pytest for all testing
|
|
32
|
+
- Use fixtures for setup/teardown
|
|
33
|
+
- Mock external dependencies with pytest-mock
|
|
34
|
+
- Test coverage: aim for 80%+
|
|
35
|
+
- Use hypothesis for property-based testing where appropriate
|
|
36
|
+
|
|
37
|
+
## Dependencies
|
|
38
|
+
- Pin dependencies in requirements.txt or pyproject.toml
|
|
39
|
+
- Use `pip-compile` or `poetry lock` for reproducible builds
|
|
40
|
+
- Separate dev dependencies
|
|
41
|
+
|
|
42
|
+
## API Design
|
|
43
|
+
- Use REST conventions for API endpoints (resource-oriented URLs, correct HTTP methods)
|
|
44
|
+
- Version APIs when breaking changes are needed (/api/v1/, /api/v2/)
|
|
45
|
+
- Use Pydantic schemas for request/response validation
|
|
46
|
+
- Document APIs with OpenAPI/Swagger (FastAPI auto-generates, Django via drf-spectacular)
|
|
47
|
+
- Return consistent error response format with error codes and messages
|
|
48
|
+
|
|
49
|
+
## Common Commands
|
|
50
|
+
```bash
|
|
51
|
+
# Run tests
|
|
52
|
+
pytest
|
|
53
|
+
|
|
54
|
+
# Run with coverage
|
|
55
|
+
pytest --cov=myapp --cov-report=term-missing
|
|
56
|
+
|
|
57
|
+
# Lint
|
|
58
|
+
ruff check .
|
|
59
|
+
|
|
60
|
+
# Format
|
|
61
|
+
ruff format .
|
|
62
|
+
|
|
63
|
+
# Type check
|
|
64
|
+
mypy .
|
|
65
|
+
```
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Project Configuration
|
|
2
|
+
|
|
3
|
+
## Project Type
|
|
4
|
+
Rust application / library
|
|
5
|
+
|
|
6
|
+
## Build & Run
|
|
7
|
+
- Build: `cargo build`
|
|
8
|
+
- Run: `cargo run`
|
|
9
|
+
- Test: `cargo test`
|
|
10
|
+
- Check: `cargo check`
|
|
11
|
+
- Clippy: `cargo clippy`
|
|
12
|
+
- Format: `cargo fmt`
|
|
13
|
+
- Release: `cargo build --release`
|
|
14
|
+
|
|
15
|
+
## Code Style
|
|
16
|
+
- Follow Rust API Guidelines
|
|
17
|
+
- Use `rustfmt` for formatting
|
|
18
|
+
- Use `clippy` for linting (deny warnings)
|
|
19
|
+
- Prefer `Result` over panic/unwrap in library code
|
|
20
|
+
- Use meaningful error types (thiserror for custom errors)
|
|
21
|
+
- Prefer ownership over borrowing when it simplifies code
|
|
22
|
+
- Use iterators and functional patterns
|
|
23
|
+
- Document public APIs with `///` doc comments
|
|
24
|
+
|
|
25
|
+
## Architecture
|
|
26
|
+
- Module system for organization (lib.rs / main.rs)
|
|
27
|
+
- Trait definitions for abstractions
|
|
28
|
+
- Error handling with Result and custom error types
|
|
29
|
+
- Use `async/await` for I/O-bound operations
|
|
30
|
+
- Feature flags for optional functionality
|
|
31
|
+
|
|
32
|
+
## Testing
|
|
33
|
+
- Unit tests in the same module (`#[cfg(test)]` mod)
|
|
34
|
+
- Integration tests in `tests/` directory
|
|
35
|
+
- Use `#[should_panic]` for panic tests
|
|
36
|
+
- Property-based testing with `proptest`
|
|
37
|
+
- Mock external dependencies with `mockall`
|
|
38
|
+
|
|
39
|
+
## Dependencies
|
|
40
|
+
- Declare dependencies in Cargo.toml with version constraints
|
|
41
|
+
- Use `cargo update` to update lock file, review changes before committing
|
|
42
|
+
- Prefer workspace inheritance for shared dependency versions in multi-crate projects
|
|
43
|
+
- Audit dependencies with `cargo audit` for known vulnerabilities
|
|
44
|
+
|
|
45
|
+
## API Design
|
|
46
|
+
- Design public APIs with Rust API Guidelines in mind
|
|
47
|
+
- Use builder pattern for complex configuration
|
|
48
|
+
- Return `Result<T, E>` for fallible operations (avoid panics in library code)
|
|
49
|
+
- Implement `From` for error type conversions
|
|
50
|
+
- Document public API with `///` doc comments including examples
|
|
51
|
+
|
|
52
|
+
## Common Commands
|
|
53
|
+
```bash
|
|
54
|
+
# Build
|
|
55
|
+
cargo build
|
|
56
|
+
|
|
57
|
+
# Run tests
|
|
58
|
+
cargo test
|
|
59
|
+
|
|
60
|
+
# Check + Clippy
|
|
61
|
+
cargo clippy -- -D warnings
|
|
62
|
+
|
|
63
|
+
# Format
|
|
64
|
+
cargo fmt
|
|
65
|
+
|
|
66
|
+
# Run with release optimizations
|
|
67
|
+
cargo run --release
|
|
68
|
+
```
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# {{PROJECT_NAME}}
|
|
2
|
+
|
|
3
|
+
{{PROJECT_DESCRIPTION}}
|
|
4
|
+
|
|
5
|
+
## 项目架构
|
|
6
|
+
|
|
7
|
+
本项目基于 **Tauri 2** 桌面应用框架,采用 Rust + Web 前端双架构设计:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
{{PROJECT_NAME}}/
|
|
11
|
+
├── src/ # 前端代码(Web UI)
|
|
12
|
+
│ ├── App.tsx # 应用入口
|
|
13
|
+
│ ├── main.tsx # 渲染进程入口
|
|
14
|
+
│ ├── components/ # UI 组件
|
|
15
|
+
│ ├── hooks/ # 自定义 Hooks
|
|
16
|
+
│ ├── stores/ # 状态管理
|
|
17
|
+
│ ├── services/ # API/Tauri IPC 调用层
|
|
18
|
+
│ ├── styles/ # 样式文件
|
|
19
|
+
│ └── utils/ # 工具函数
|
|
20
|
+
├── src-tauri/ # Rust 后端代码
|
|
21
|
+
│ ├── Cargo.toml # Rust 依赖
|
|
22
|
+
│ ├── tauri.conf.json # Tauri 配置
|
|
23
|
+
│ ├── src/
|
|
24
|
+
│ │ ├── main.rs # 主入口
|
|
25
|
+
│ │ ├── lib.rs # 库入口(注册命令)
|
|
26
|
+
│ │ ├── commands/ # Tauri 命令模块
|
|
27
|
+
│ │ ├── state.rs # 应用状态管理
|
|
28
|
+
│ │ └── utils/ # Rust 工具模块
|
|
29
|
+
│ ├── capabilities/ # 权限配置
|
|
30
|
+
│ └── icons/ # 应用图标
|
|
31
|
+
├── package.json # 前端依赖
|
|
32
|
+
├── vite.config.ts # Vite 构建配置
|
|
33
|
+
└── tsconfig.json # TypeScript 配置
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 技术栈
|
|
37
|
+
|
|
38
|
+
| 层 | 技术 | 说明 |
|
|
39
|
+
|---|------|------|
|
|
40
|
+
| 桌面框架 | Tauri 2 | Rust 后端 + Web 前端 |
|
|
41
|
+
| 后端语言 | Rust | 系统级操作、IPC 命令 |
|
|
42
|
+
| 前端框架 | React + TypeScript | UI 渲染 |
|
|
43
|
+
| 构建工具 | Vite | 前端构建 |
|
|
44
|
+
| 包管理 | pnpm / npm | 前端依赖管理 |
|
|
45
|
+
| Rust 包管理 | Cargo | 后端依赖管理 |
|
|
46
|
+
|
|
47
|
+
## 核心设计模式
|
|
48
|
+
|
|
49
|
+
### IPC 通信模式
|
|
50
|
+
|
|
51
|
+
前端通过 `@tauri-apps/api` 的 `invoke()` 调用 Rust 命令:
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
// 前端调用
|
|
55
|
+
import { invoke } from '@tauri-apps/api/core';
|
|
56
|
+
const result = await invoke('my_command', { arg1: 'value' });
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
```rust
|
|
60
|
+
// Rust 端定义
|
|
61
|
+
#[tauri::command]
|
|
62
|
+
async fn my_command(arg1: String) -> Result<String, String> {
|
|
63
|
+
Ok(format!("Received: {}", arg1))
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### 状态管理
|
|
68
|
+
|
|
69
|
+
- **前端状态**: React 状态管理(Zustand/Context)
|
|
70
|
+
- **后端状态**: `tauri::State` 管理应用全局状态
|
|
71
|
+
- **跨层通信**: 仅通过 IPC 命令传递,不共享内存
|
|
72
|
+
|
|
73
|
+
### 安全模型
|
|
74
|
+
|
|
75
|
+
- 所有系统 API 访问必须在 `capabilities/` 中声明权限
|
|
76
|
+
- 文件系统访问通过作用域(scope)限制路径
|
|
77
|
+
- 窗口操作受权限控制
|
|
78
|
+
|
|
79
|
+
## 开发规范
|
|
80
|
+
|
|
81
|
+
### Rust 端
|
|
82
|
+
|
|
83
|
+
- 遵循 Rust 官方编码规范(`rustfmt` + `clippy`)
|
|
84
|
+
- 错误处理使用 `Result<T, E>`,禁止 `unwrap()` 在生产代码中
|
|
85
|
+
- 命令函数必须标注 `#[tauri::command]`
|
|
86
|
+
- 异步操作使用 `async fn` + Tokio
|
|
87
|
+
- 共享状态使用 `tauri::State` 注入
|
|
88
|
+
|
|
89
|
+
### 前端
|
|
90
|
+
|
|
91
|
+
- TypeScript strict 模式
|
|
92
|
+
- 函数式组件 + Hooks
|
|
93
|
+
- IPC 调用统一封装在 `services/` 层
|
|
94
|
+
- 组件文件与样式文件就近放置
|
|
95
|
+
- 使用 CSS Modules 或 Tailwind CSS
|
|
96
|
+
|
|
97
|
+
## 常用命令
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
# 前端开发
|
|
101
|
+
pnpm install # 安装前端依赖
|
|
102
|
+
pnpm dev # 启动前端开发服务器
|
|
103
|
+
|
|
104
|
+
# Tauri 开发(同时启动前后端)
|
|
105
|
+
pnpm tauri dev # 开发模式(热重载)
|
|
106
|
+
pnpm tauri build # 构建发布版本
|
|
107
|
+
|
|
108
|
+
# Rust 检查
|
|
109
|
+
cd src-tauri && cargo check # 快速检查
|
|
110
|
+
cd src-tauri && cargo clippy # Lint 检查
|
|
111
|
+
cd src-tauri && cargo test # 运行测试
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## 文档同步规则
|
|
115
|
+
|
|
116
|
+
修改 `src/` 下的前端代码或 `src-tauri/src/` 下的 Rust 代码后,必须同步更新:
|
|
117
|
+
1. `README.md` — 架构、目录结构、技术栈
|
|
118
|
+
2. `COMPONENT.md` — 组件/命令 API 和使用示例
|
|
119
|
+
3. `UI_STYLE.md` — 涉及的样式变更
|
|
120
|
+
4. `docs/` — 对应的模块文档
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Project Configuration
|
|
2
|
+
|
|
3
|
+
## Project Type
|
|
4
|
+
Web application (React / Next.js / Vue / Svelte)
|
|
5
|
+
|
|
6
|
+
## Build & Run
|
|
7
|
+
- Install: `npm install` or `pnpm install` or `yarn install`
|
|
8
|
+
- Dev: `npm run dev` or `pnpm dev`
|
|
9
|
+
- Build: `npm run build` or `pnpm build`
|
|
10
|
+
- Test: `npm test` or `pnpm test`
|
|
11
|
+
- Lint: `npm run lint` or `pnpm lint`
|
|
12
|
+
|
|
13
|
+
## Code Style
|
|
14
|
+
- Use TypeScript for all new files
|
|
15
|
+
- Use functional components and hooks (no class components)
|
|
16
|
+
- Follow the framework's official style guide
|
|
17
|
+
- Use CSS Modules, Tailwind CSS, or styled-components (per project convention)
|
|
18
|
+
- Prefer composition over inheritance
|
|
19
|
+
- Keep components small and focused (single responsibility)
|
|
20
|
+
|
|
21
|
+
## Component Architecture
|
|
22
|
+
- Co-locate related files (component, styles, tests)
|
|
23
|
+
- Use barrel exports (index.ts) for public APIs
|
|
24
|
+
- Prefer custom hooks for reusable logic
|
|
25
|
+
- Use proper prop typing with TypeScript interfaces
|
|
26
|
+
- Implement proper error boundaries
|
|
27
|
+
|
|
28
|
+
## State Management
|
|
29
|
+
- Use framework-provided state (useState, useReducer, Zustand, Pinia, etc.)
|
|
30
|
+
- Keep server state separate from client state
|
|
31
|
+
- Use optimistic updates for better UX
|
|
32
|
+
|
|
33
|
+
## API Integration
|
|
34
|
+
- Use established patterns (React Query, SWR, asyncData, etc.)
|
|
35
|
+
- Proper error handling and loading states
|
|
36
|
+
- Type API responses with TypeScript
|
|
37
|
+
|
|
38
|
+
## Dependencies
|
|
39
|
+
- Pin dependency versions in package.json (use exact versions or lock file)
|
|
40
|
+
- Use `npm audit` or `pnpm audit` to check for vulnerabilities
|
|
41
|
+
- Keep dev dependencies separate from production dependencies
|
|
42
|
+
- Review and update dependencies regularly
|
|
43
|
+
|
|
44
|
+
## Testing
|
|
45
|
+
- Unit tests for utilities and custom hooks
|
|
46
|
+
- Component tests with Testing Library
|
|
47
|
+
- E2E tests for critical flows
|
|
48
|
+
- Mock external dependencies
|
|
49
|
+
|
|
50
|
+
## Common Commands
|
|
51
|
+
```bash
|
|
52
|
+
# Install dependencies
|
|
53
|
+
npm install
|
|
54
|
+
|
|
55
|
+
# Run development server
|
|
56
|
+
npm run dev
|
|
57
|
+
|
|
58
|
+
# Run tests
|
|
59
|
+
npm test
|
|
60
|
+
|
|
61
|
+
# Build for production
|
|
62
|
+
npm run build
|
|
63
|
+
```
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# {{PROJECT_NAME}} - 组件文档
|
|
2
|
+
|
|
3
|
+
> 本文档由 `project-analyze` skill 自动生成,也可手动维护。
|
|
4
|
+
|
|
5
|
+
## Feature 模块
|
|
6
|
+
|
|
7
|
+
> 由 `project-analyze` skill 自动填充
|
|
8
|
+
|
|
9
|
+
| 模块 | 包路径 | 描述 |
|
|
10
|
+
|------|--------|------|
|
|
11
|
+
| | | |
|
|
12
|
+
|
|
13
|
+
## UI 层 (Screens / Composables)
|
|
14
|
+
|
|
15
|
+
> 由 `project-analyze` skill 自动填充
|
|
16
|
+
|
|
17
|
+
| 页面/组件 | 文件路径 | 描述 |
|
|
18
|
+
|-----------|----------|------|
|
|
19
|
+
| | | |
|
|
20
|
+
|
|
21
|
+
## ViewModel 层
|
|
22
|
+
|
|
23
|
+
> 由 `project-analyze` skill 自动填充
|
|
24
|
+
|
|
25
|
+
| ViewModel | 关联 UI | State | Actions |
|
|
26
|
+
|-----------|---------|-------|---------|
|
|
27
|
+
| | | | |
|
|
28
|
+
|
|
29
|
+
## Model 层
|
|
30
|
+
|
|
31
|
+
> 由 `project-analyze` skill 自动填充
|
|
32
|
+
|
|
33
|
+
| 模型 | 类型 | 描述 |
|
|
34
|
+
|------|------|------|
|
|
35
|
+
| | Entity | |
|
|
36
|
+
| | DTO | |
|
|
37
|
+
| | UI State | |
|
|
38
|
+
|
|
39
|
+
## Repository 层
|
|
40
|
+
|
|
41
|
+
> 由 `project-analyze` skill 自动填充
|
|
42
|
+
|
|
43
|
+
| Repository | 数据源 | 描述 |
|
|
44
|
+
|------------|--------|------|
|
|
45
|
+
| | Remote | |
|
|
46
|
+
| | Local | |
|
|
47
|
+
|
|
48
|
+
## 依赖注入 (DI)
|
|
49
|
+
|
|
50
|
+
> 由 `project-analyze` skill 自动填充
|
|
51
|
+
|
|
52
|
+
| Module | 提供的依赖 | 描述 |
|
|
53
|
+
|--------|-----------|------|
|
|
54
|
+
| | | |
|
|
55
|
+
|
|
56
|
+
## 跨模块导航
|
|
57
|
+
|
|
58
|
+
> 由 `project-analyze` skill 自动填充
|