moai-adk 0.11.0__py3-none-any.whl โ 0.12.0__py3-none-any.whl
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.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/core/issue_creator.py +2 -2
- moai_adk/core/project/detector.py +195 -12
- moai_adk/core/tags/ci_validator.py +1 -1
- moai_adk/core/tags/pre_commit_validator.py +1 -1
- moai_adk/core/tags/validator.py +1 -1
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +316 -0
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +208 -0
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +214 -0
- moai_adk/templates/.claude/agents/alfred/git-manager.md +406 -0
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +350 -0
- moai_adk/templates/.claude/agents/alfred/project-manager.md +273 -0
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +343 -0
- moai_adk/templates/.claude/agents/alfred/skill-factory.md +865 -0
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +287 -0
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +287 -0
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +326 -0
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +375 -0
- moai_adk/templates/.claude/commands/alfred/0-project.md +1275 -0
- moai_adk/templates/.claude/commands/alfred/1-plan.md +734 -0
- moai_adk/templates/.claude/commands/alfred/2-run.md +551 -0
- moai_adk/templates/.claude/commands/alfred/3-sync.md +689 -0
- moai_adk/templates/.claude/commands/alfred/9-feedback.md +149 -0
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +206 -0
- moai_adk/templates/.claude/hooks/alfred/core/project.py +742 -0
- moai_adk/templates/.claude/hooks/alfred/core/timeout.py +136 -0
- moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +108 -0
- moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/notification__handle_events.py +95 -0
- moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +95 -0
- moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +101 -0
- moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +95 -0
- moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +97 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +170 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +271 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +67 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +749 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +230 -0
- moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +198 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +21 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +154 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +174 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +87 -0
- moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +61 -0
- moai_adk/templates/.claude/hooks/alfred/stop__handle_interrupt.py +95 -0
- moai_adk/templates/.claude/hooks/alfred/subagent_stop__handle_subagent_end.py +95 -0
- moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +111 -0
- moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
- moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +136 -0
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +640 -0
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +696 -0
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +474 -0
- moai_adk/templates/.claude/settings.json +144 -0
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +113 -0
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +122 -0
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +237 -0
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +615 -0
- moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +653 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +113 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +113 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +113 -0
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +113 -0
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +269 -0
- moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +32 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +298 -0
- moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +26 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +21 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +252 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +19 -0
- moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +24 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +199 -0
- moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +39 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +316 -0
- moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +18 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +263 -0
- moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +30 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +291 -0
- moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +15 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +290 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +1633 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +660 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-domain-database/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-database/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +124 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +124 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-domain-security/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-security/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +303 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +1064 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +1047 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +113 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +113 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +113 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +116 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +122 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +113 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +28 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +307 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +1099 -0
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +124 -0
- moai_adk/templates/.claude/skills/moai-lang-c/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-c/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +124 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +124 -0
- moai_adk/templates/.claude/skills/moai-lang-go/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-go/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +124 -0
- moai_adk/templates/.claude/skills/moai-lang-java/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-java/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +125 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +32 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +124 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-lang-php/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-php/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +431 -0
- moai_adk/templates/.claude/skills/moai-lang-python/examples.md +624 -0
- moai_adk/templates/.claude/skills/moai-lang-python/reference.md +316 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-lang-r/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-r/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +124 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +124 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +124 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +31 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +123 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +30 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +127 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +29 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +34 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/CHECKLIST.md +482 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +278 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +524 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/METADATA.md +477 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +429 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +391 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +431 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-UPDATE-ADVISOR.md +577 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +271 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +466 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/STRUCTURE.md +583 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/WEB-RESEARCH.md +526 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +465 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/scripts/generate-structure.sh +328 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/scripts/validate-skill.sh +312 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/templates/SKILL_TEMPLATE.md +245 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/templates/examples-template.md +285 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/templates/reference-template.md +278 -0
- moai_adk/templates/.claude/skills/moai-skill-factory/templates/scripts-template.sh +303 -0
- moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +137 -0
- moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +219 -0
- moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +161 -0
- moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +541 -0
- moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +622 -0
- moai_adk/templates/.github/workflows/c-tag-validation.yml +83 -0
- moai_adk/templates/.github/workflows/cpp-tag-validation.yml +79 -0
- moai_adk/templates/.github/workflows/csharp-tag-validation.yml +65 -0
- moai_adk/templates/.github/workflows/dart-tag-validation.yml +82 -0
- moai_adk/templates/.github/workflows/java-tag-validation.yml +75 -0
- moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +67 -0
- moai_adk/templates/.github/workflows/php-tag-validation.yml +56 -0
- moai_adk/templates/.github/workflows/ruby-tag-validation.yml +68 -0
- moai_adk/templates/.github/workflows/rust-tag-validation.yml +73 -0
- moai_adk/templates/.github/workflows/shell-tag-validation.yml +65 -0
- moai_adk/templates/.github/workflows/swift-tag-validation.yml +79 -0
- moai_adk/templates/.moai/config.json +113 -0
- moai_adk/templates/.moai/memory/CLAUDE-AGENTS-GUIDE.md +208 -0
- moai_adk/templates/.moai/memory/CLAUDE-PRACTICES.md +369 -0
- moai_adk/templates/.moai/memory/CLAUDE-RULES.md +539 -0
- moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +344 -0
- moai_adk/templates/.moai/memory/GITFLOW-PROTECTION-POLICY.md +330 -0
- moai_adk/templates/.moai/memory/ISSUE-LABEL-MAPPING.md +150 -0
- moai_adk/templates/.moai/memory/SKILLS-DESCRIPTION-POLICY.md +218 -0
- moai_adk/templates/.moai/memory/SPEC-METADATA.md +356 -0
- moai_adk/templates/.moai/memory/gitflow-protection-policy.md +330 -0
- moai_adk/templates/.moai/memory/spec-metadata.md +356 -0
- moai_adk/templates/.moai/project/product.md +161 -0
- moai_adk/templates/.moai/project/structure.md +156 -0
- moai_adk/templates/.moai/project/tech.md +227 -0
- moai_adk/templates/CLAUDE.md +90 -10
- moai_adk/templates/workflows/go-tag-validation.yml +130 -0
- moai_adk/templates/workflows/javascript-tag-validation.yml +135 -0
- moai_adk/templates/workflows/python-tag-validation.yml +118 -0
- moai_adk/templates/workflows/typescript-tag-validation.yml +154 -0
- {moai_adk-0.11.0.dist-info โ moai_adk-0.12.0.dist-info}/METADATA +43 -1
- moai_adk-0.12.0.dist-info/RECORD +330 -0
- moai_adk-0.11.0.dist-info/RECORD +0 -77
- /moai_adk/templates/.github/workflows/{release.yml โ moai-adk-release.yml} +0 -0
- /moai_adk/templates/.github/workflows/{spec-issue-sync.yml โ moai-adk-spec-issue-sync.yml} +0 -0
- /moai_adk/templates/.github/workflows/{tag-validation.yml โ moai-adk-tag-validation.yml} +0 -0
- {moai_adk-0.11.0.dist-info โ moai_adk-0.12.0.dist-info}/WHEEL +0 -0
- {moai_adk-0.11.0.dist-info โ moai_adk-0.12.0.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.11.0.dist-info โ moai_adk-0.12.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# @CODE:LDE-010-CPP | SPEC: SPEC-LANGUAGE-DETECTION-EXTENDED-001/spec.md
|
|
2
|
+
# C++ TAG Validation Workflow
|
|
3
|
+
# Validates C++ code with g++/clang++, Google Test, and cpplint
|
|
4
|
+
|
|
5
|
+
name: C++ TAG Validation
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
pull_request:
|
|
9
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
10
|
+
push:
|
|
11
|
+
branches: [main, develop, "feature/**"]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
name: ๐งช C++ Tests & Static Analysis
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
if: github.event.pull_request.draft == false || github.event_name == 'push'
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
pull-requests: write
|
|
23
|
+
|
|
24
|
+
strategy:
|
|
25
|
+
matrix:
|
|
26
|
+
compiler: ['g++', 'clang++']
|
|
27
|
+
cpp-standard: ['17', '20']
|
|
28
|
+
|
|
29
|
+
steps:
|
|
30
|
+
- name: Checkout code
|
|
31
|
+
uses: actions/checkout@v4
|
|
32
|
+
with:
|
|
33
|
+
fetch-depth: 0
|
|
34
|
+
|
|
35
|
+
- name: Install build tools and Google Test
|
|
36
|
+
run: |
|
|
37
|
+
sudo apt-get update
|
|
38
|
+
sudo apt-get install -y cmake g++ clang libgtest-dev lcov
|
|
39
|
+
|
|
40
|
+
- name: Install cpplint
|
|
41
|
+
run: pip install cpplint
|
|
42
|
+
|
|
43
|
+
- name: Set compiler
|
|
44
|
+
run: |
|
|
45
|
+
if [ "${{ matrix.compiler }}" == "g++" ]; then
|
|
46
|
+
echo "CXX=g++" >> $GITHUB_ENV
|
|
47
|
+
else
|
|
48
|
+
echo "CXX=clang++" >> $GITHUB_ENV
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
- name: Run cpplint
|
|
52
|
+
run: cpplint --recursive --filter=-legal/copyright src/
|
|
53
|
+
|
|
54
|
+
- name: Configure CMake
|
|
55
|
+
run: cmake -B build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=${{ matrix.cpp-standard }} -DENABLE_COVERAGE=ON
|
|
56
|
+
|
|
57
|
+
- name: Build project
|
|
58
|
+
run: cmake --build build --config Debug
|
|
59
|
+
|
|
60
|
+
- name: Run Google Test
|
|
61
|
+
run: |
|
|
62
|
+
cd build
|
|
63
|
+
ctest --output-on-failure --verbose
|
|
64
|
+
|
|
65
|
+
- name: Generate coverage report
|
|
66
|
+
if: matrix.compiler == 'g++' && matrix.cpp-standard == '17'
|
|
67
|
+
run: |
|
|
68
|
+
cd build
|
|
69
|
+
lcov --capture --directory . --output-file coverage.info
|
|
70
|
+
lcov --remove coverage.info '/usr/*' '*/test/*' --output-file coverage.info
|
|
71
|
+
lcov --list coverage.info
|
|
72
|
+
|
|
73
|
+
- name: Upload coverage artifacts
|
|
74
|
+
if: always() && matrix.compiler == 'g++' && matrix.cpp-standard == '17'
|
|
75
|
+
uses: actions/upload-artifact@v4
|
|
76
|
+
with:
|
|
77
|
+
name: cpp-coverage-${{ matrix.compiler }}-cpp${{ matrix.cpp-standard }}
|
|
78
|
+
path: build/coverage.info
|
|
79
|
+
retention-days: 30
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# @CODE:LDE-008-CSHARP | SPEC: SPEC-LANGUAGE-DETECTION-EXTENDED-001/spec.md
|
|
2
|
+
# C# TAG Validation Workflow
|
|
3
|
+
# Validates C# code with xUnit tests, StyleCop linting, and dotnet CLI
|
|
4
|
+
|
|
5
|
+
name: C# TAG Validation
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
pull_request:
|
|
9
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
10
|
+
push:
|
|
11
|
+
branches: [main, develop, "feature/**"]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
name: ๐งช C# Tests & Linting
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
if: github.event.pull_request.draft == false || github.event_name == 'push'
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
pull-requests: write
|
|
23
|
+
|
|
24
|
+
strategy:
|
|
25
|
+
matrix:
|
|
26
|
+
dotnet-version: ['8.0.x', '9.0.x']
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- name: Checkout code
|
|
30
|
+
uses: actions/checkout@v4
|
|
31
|
+
with:
|
|
32
|
+
fetch-depth: 0
|
|
33
|
+
|
|
34
|
+
- name: Setup .NET
|
|
35
|
+
uses: actions/setup-dotnet@v4
|
|
36
|
+
with:
|
|
37
|
+
dotnet-version: ${{ matrix.dotnet-version }}
|
|
38
|
+
|
|
39
|
+
- name: Restore dependencies
|
|
40
|
+
run: dotnet restore
|
|
41
|
+
|
|
42
|
+
- name: Build project
|
|
43
|
+
run: dotnet build --configuration Release --no-restore
|
|
44
|
+
|
|
45
|
+
- name: Run tests with coverage
|
|
46
|
+
run: dotnet test --configuration Release --no-build --verbosity normal --collect:"XPlat Code Coverage"
|
|
47
|
+
|
|
48
|
+
- name: Run StyleCop analysis
|
|
49
|
+
run: dotnet build --no-restore /p:EnforceCodeStyleInBuild=true /p:TreatWarningsAsErrors=true
|
|
50
|
+
|
|
51
|
+
- name: Upload coverage artifacts
|
|
52
|
+
if: always()
|
|
53
|
+
uses: actions/upload-artifact@v4
|
|
54
|
+
with:
|
|
55
|
+
name: csharp-coverage-${{ matrix.dotnet-version }}
|
|
56
|
+
path: '**/TestResults/**/*.coverage'
|
|
57
|
+
retention-days: 30
|
|
58
|
+
|
|
59
|
+
- name: Publish test results
|
|
60
|
+
if: always()
|
|
61
|
+
uses: actions/upload-artifact@v4
|
|
62
|
+
with:
|
|
63
|
+
name: csharp-test-results-${{ matrix.dotnet-version }}
|
|
64
|
+
path: '**/TestResults/**/*.trx'
|
|
65
|
+
retention-days: 30
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# @CODE:LDE-005-DART | SPEC: SPEC-LANGUAGE-DETECTION-EXTENDED-001/spec.md
|
|
2
|
+
# Dart/Flutter TAG Validation Workflow
|
|
3
|
+
# Validates Dart code with flutter test, dart analyze, and pub dependencies
|
|
4
|
+
|
|
5
|
+
name: Dart TAG Validation
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
pull_request:
|
|
9
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
10
|
+
push:
|
|
11
|
+
branches: [main, develop, "feature/**"]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
name: ๐งช Dart Tests & Analysis
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
if: github.event.pull_request.draft == false || github.event_name == 'push'
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
pull-requests: write
|
|
23
|
+
|
|
24
|
+
strategy:
|
|
25
|
+
matrix:
|
|
26
|
+
dart-version: ['stable', 'beta']
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- name: Checkout code
|
|
30
|
+
uses: actions/checkout@v4
|
|
31
|
+
with:
|
|
32
|
+
fetch-depth: 0
|
|
33
|
+
|
|
34
|
+
- name: Check if Flutter project
|
|
35
|
+
id: detect-flutter
|
|
36
|
+
run: |
|
|
37
|
+
if grep -q "flutter:" pubspec.yaml 2>/dev/null; then
|
|
38
|
+
echo "is_flutter=true" >> $GITHUB_OUTPUT
|
|
39
|
+
echo "Flutter project detected"
|
|
40
|
+
else
|
|
41
|
+
echo "is_flutter=false" >> $GITHUB_OUTPUT
|
|
42
|
+
echo "Dart project detected"
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
- name: Setup Dart (non-Flutter)
|
|
46
|
+
if: steps.detect-flutter.outputs.is_flutter == 'false'
|
|
47
|
+
uses: dart-lang/setup-dart@v1
|
|
48
|
+
with:
|
|
49
|
+
sdk: ${{ matrix.dart-version }}
|
|
50
|
+
|
|
51
|
+
- name: Setup Flutter (Flutter projects)
|
|
52
|
+
if: steps.detect-flutter.outputs.is_flutter == 'true'
|
|
53
|
+
uses: subosito/flutter-action@v2
|
|
54
|
+
with:
|
|
55
|
+
channel: ${{ matrix.dart-version }}
|
|
56
|
+
|
|
57
|
+
- name: Install dependencies (Dart)
|
|
58
|
+
if: steps.detect-flutter.outputs.is_flutter == 'false'
|
|
59
|
+
run: dart pub get
|
|
60
|
+
|
|
61
|
+
- name: Install dependencies (Flutter)
|
|
62
|
+
if: steps.detect-flutter.outputs.is_flutter == 'true'
|
|
63
|
+
run: flutter pub get
|
|
64
|
+
|
|
65
|
+
- name: Run dart analyze
|
|
66
|
+
run: dart analyze --fatal-infos
|
|
67
|
+
|
|
68
|
+
- name: Run tests (Dart)
|
|
69
|
+
if: steps.detect-flutter.outputs.is_flutter == 'false'
|
|
70
|
+
run: dart test
|
|
71
|
+
|
|
72
|
+
- name: Run tests (Flutter)
|
|
73
|
+
if: steps.detect-flutter.outputs.is_flutter == 'true'
|
|
74
|
+
run: flutter test
|
|
75
|
+
|
|
76
|
+
- name: Upload coverage artifacts
|
|
77
|
+
if: always()
|
|
78
|
+
uses: actions/upload-artifact@v4
|
|
79
|
+
with:
|
|
80
|
+
name: dart-coverage-${{ matrix.dart-version }}
|
|
81
|
+
path: coverage/
|
|
82
|
+
retention-days: 30
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# @CODE:LDE-003-JAVA | SPEC: SPEC-LANGUAGE-DETECTION-EXTENDED-001/spec.md
|
|
2
|
+
# Java TAG Validation Workflow
|
|
3
|
+
# Validates Java code with JUnit 5 tests, Jacoco coverage, and Maven/Gradle builds
|
|
4
|
+
|
|
5
|
+
name: Java TAG Validation
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
pull_request:
|
|
9
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
10
|
+
push:
|
|
11
|
+
branches: [main, develop, "feature/**"]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
name: ๐งช Java Tests & Build
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
if: github.event.pull_request.draft == false || github.event_name == 'push'
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
pull-requests: write
|
|
23
|
+
|
|
24
|
+
strategy:
|
|
25
|
+
matrix:
|
|
26
|
+
java-version: ['17', '21']
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- name: Checkout code
|
|
30
|
+
uses: actions/checkout@v4
|
|
31
|
+
with:
|
|
32
|
+
fetch-depth: 0
|
|
33
|
+
|
|
34
|
+
- name: Setup Java
|
|
35
|
+
uses: actions/setup-java@v4
|
|
36
|
+
with:
|
|
37
|
+
distribution: 'temurin'
|
|
38
|
+
java-version: ${{ matrix.java-version }}
|
|
39
|
+
cache: 'maven' # Auto-detects Maven or Gradle
|
|
40
|
+
|
|
41
|
+
- name: Detect build tool
|
|
42
|
+
id: detect-build
|
|
43
|
+
run: |
|
|
44
|
+
if [ -f "pom.xml" ]; then
|
|
45
|
+
echo "tool=maven" >> $GITHUB_OUTPUT
|
|
46
|
+
echo "Maven detected"
|
|
47
|
+
elif [ -f "build.gradle" ] || [ -f "build.gradle.kts" ]; then
|
|
48
|
+
echo "tool=gradle" >> $GITHUB_OUTPUT
|
|
49
|
+
echo "Gradle detected"
|
|
50
|
+
else
|
|
51
|
+
echo "No build tool detected"
|
|
52
|
+
exit 1
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
- name: Build and test with Maven
|
|
56
|
+
if: steps.detect-build.outputs.tool == 'maven'
|
|
57
|
+
run: |
|
|
58
|
+
mvn clean verify
|
|
59
|
+
mvn jacoco:report
|
|
60
|
+
|
|
61
|
+
- name: Build and test with Gradle
|
|
62
|
+
if: steps.detect-build.outputs.tool == 'gradle'
|
|
63
|
+
run: |
|
|
64
|
+
chmod +x gradlew
|
|
65
|
+
./gradlew clean test jacocoTestReport
|
|
66
|
+
|
|
67
|
+
- name: Upload coverage artifacts
|
|
68
|
+
if: always()
|
|
69
|
+
uses: actions/upload-artifact@v4
|
|
70
|
+
with:
|
|
71
|
+
name: java-coverage-${{ matrix.java-version }}
|
|
72
|
+
path: |
|
|
73
|
+
target/site/jacoco/
|
|
74
|
+
build/reports/jacoco/
|
|
75
|
+
retention-days: 30
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# @CODE:LDE-007-KOTLIN | SPEC: SPEC-LANGUAGE-DETECTION-EXTENDED-001/spec.md
|
|
2
|
+
# Kotlin TAG Validation Workflow
|
|
3
|
+
# Validates Kotlin code with JUnit 5 tests, ktlint, and Gradle
|
|
4
|
+
|
|
5
|
+
name: Kotlin TAG Validation
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
pull_request:
|
|
9
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
10
|
+
push:
|
|
11
|
+
branches: [main, develop, "feature/**"]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
name: ๐งช Kotlin Tests & Linting
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
if: github.event.pull_request.draft == false || github.event_name == 'push'
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
pull-requests: write
|
|
23
|
+
|
|
24
|
+
strategy:
|
|
25
|
+
matrix:
|
|
26
|
+
java-version: ['17', '21']
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- name: Checkout code
|
|
30
|
+
uses: actions/checkout@v4
|
|
31
|
+
with:
|
|
32
|
+
fetch-depth: 0
|
|
33
|
+
|
|
34
|
+
- name: Setup Java (for Kotlin)
|
|
35
|
+
uses: actions/setup-java@v4
|
|
36
|
+
with:
|
|
37
|
+
distribution: 'temurin'
|
|
38
|
+
java-version: ${{ matrix.java-version }}
|
|
39
|
+
cache: 'gradle'
|
|
40
|
+
|
|
41
|
+
- name: Grant execute permission for gradlew
|
|
42
|
+
run: chmod +x gradlew
|
|
43
|
+
|
|
44
|
+
- name: Run ktlint check
|
|
45
|
+
run: ./gradlew ktlintCheck
|
|
46
|
+
|
|
47
|
+
- name: Build project
|
|
48
|
+
run: ./gradlew build
|
|
49
|
+
|
|
50
|
+
- name: Run tests with coverage
|
|
51
|
+
run: ./gradlew test jacocoTestReport
|
|
52
|
+
|
|
53
|
+
- name: Upload coverage artifacts
|
|
54
|
+
if: always()
|
|
55
|
+
uses: actions/upload-artifact@v4
|
|
56
|
+
with:
|
|
57
|
+
name: kotlin-coverage-java${{ matrix.java-version }}
|
|
58
|
+
path: build/reports/jacoco/
|
|
59
|
+
retention-days: 30
|
|
60
|
+
|
|
61
|
+
- name: Publish test results
|
|
62
|
+
if: always()
|
|
63
|
+
uses: actions/upload-artifact@v4
|
|
64
|
+
with:
|
|
65
|
+
name: kotlin-test-results-java${{ matrix.java-version }}
|
|
66
|
+
path: build/test-results/
|
|
67
|
+
retention-days: 30
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# @CODE:LDE-002-PHP | SPEC: SPEC-LANGUAGE-DETECTION-EXTENDED-001/spec.md
|
|
2
|
+
# PHP TAG Validation Workflow
|
|
3
|
+
# Validates PHP code with PHPUnit tests, PHPCS linting, and composer dependencies
|
|
4
|
+
|
|
5
|
+
name: PHP TAG Validation
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
pull_request:
|
|
9
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
10
|
+
push:
|
|
11
|
+
branches: [main, develop, "feature/**"]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
name: ๐งช PHP Tests & Linting
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
if: github.event.pull_request.draft == false || github.event_name == 'push'
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
pull-requests: write
|
|
23
|
+
|
|
24
|
+
strategy:
|
|
25
|
+
matrix:
|
|
26
|
+
php-version: ['8.1', '8.2', '8.3']
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- name: Checkout code
|
|
30
|
+
uses: actions/checkout@v4
|
|
31
|
+
with:
|
|
32
|
+
fetch-depth: 0
|
|
33
|
+
|
|
34
|
+
- name: Setup PHP
|
|
35
|
+
uses: shivammathur/setup-php@v2
|
|
36
|
+
with:
|
|
37
|
+
php-version: ${{ matrix.php-version }}
|
|
38
|
+
tools: composer, phpunit, phpcs
|
|
39
|
+
coverage: xdebug
|
|
40
|
+
|
|
41
|
+
- name: Install dependencies
|
|
42
|
+
run: composer install --prefer-dist --no-progress
|
|
43
|
+
|
|
44
|
+
- name: Run PHPUnit tests
|
|
45
|
+
run: vendor/bin/phpunit --coverage-text
|
|
46
|
+
|
|
47
|
+
- name: Run PHPCS linting
|
|
48
|
+
run: vendor/bin/phpcs --standard=PSR12 src/
|
|
49
|
+
|
|
50
|
+
- name: Upload coverage artifacts
|
|
51
|
+
if: always()
|
|
52
|
+
uses: actions/upload-artifact@v4
|
|
53
|
+
with:
|
|
54
|
+
name: php-coverage-${{ matrix.php-version }}
|
|
55
|
+
path: coverage/
|
|
56
|
+
retention-days: 30
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# @CODE:LDE-001-RUBY | SPEC: SPEC-LANGUAGE-DETECTION-EXTENDED-001/spec.md
|
|
2
|
+
# Ruby TAG Validation Workflow
|
|
3
|
+
# Validates Ruby code with RSpec tests, Rubocop linting, and bundle dependencies
|
|
4
|
+
|
|
5
|
+
name: Ruby TAG Validation
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
pull_request:
|
|
9
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
10
|
+
push:
|
|
11
|
+
branches: [main, develop, "feature/**"]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
name: ๐งช Ruby Tests & Linting
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
# Skip validation on draft PRs (allow WIP)
|
|
19
|
+
if: github.event.pull_request.draft == false || github.event_name == 'push'
|
|
20
|
+
|
|
21
|
+
permissions:
|
|
22
|
+
contents: read
|
|
23
|
+
pull-requests: write
|
|
24
|
+
|
|
25
|
+
strategy:
|
|
26
|
+
matrix:
|
|
27
|
+
ruby-version: ['3.1', '3.2', '3.3']
|
|
28
|
+
|
|
29
|
+
steps:
|
|
30
|
+
- name: Checkout code
|
|
31
|
+
uses: actions/checkout@v4
|
|
32
|
+
with:
|
|
33
|
+
fetch-depth: 0 # Fetch all history for comprehensive validation
|
|
34
|
+
|
|
35
|
+
- name: Setup Ruby
|
|
36
|
+
uses: ruby/setup-ruby@v1
|
|
37
|
+
with:
|
|
38
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
39
|
+
bundler-cache: true # Enable bundler caching
|
|
40
|
+
|
|
41
|
+
- name: Install dependencies
|
|
42
|
+
run: |
|
|
43
|
+
gem install bundler
|
|
44
|
+
bundle install
|
|
45
|
+
|
|
46
|
+
- name: Run RSpec tests
|
|
47
|
+
run: bundle exec rspec --format documentation
|
|
48
|
+
|
|
49
|
+
- name: Run Rubocop linting
|
|
50
|
+
run: bundle exec rubocop
|
|
51
|
+
|
|
52
|
+
- name: Generate coverage report
|
|
53
|
+
if: always()
|
|
54
|
+
run: |
|
|
55
|
+
echo "## Ruby Test Coverage" >> $GITHUB_STEP_SUMMARY
|
|
56
|
+
if [ -f coverage/.last_run.json ]; then
|
|
57
|
+
cat coverage/.last_run.json | ruby -rjson -e "puts JSON.parse(STDIN.read)['result']['line'].to_s + '%'" >> $GITHUB_STEP_SUMMARY || echo "Coverage data not available" >> $GITHUB_STEP_SUMMARY
|
|
58
|
+
else
|
|
59
|
+
echo "Coverage report not generated" >> $GITHUB_STEP_SUMMARY
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
- name: Upload coverage artifacts
|
|
63
|
+
if: always()
|
|
64
|
+
uses: actions/upload-artifact@v4
|
|
65
|
+
with:
|
|
66
|
+
name: ruby-coverage-${{ matrix.ruby-version }}
|
|
67
|
+
path: coverage/
|
|
68
|
+
retention-days: 30
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# @CODE:LDE-004-RUST | SPEC: SPEC-LANGUAGE-DETECTION-EXTENDED-001/spec.md
|
|
2
|
+
# Rust TAG Validation Workflow
|
|
3
|
+
# Validates Rust code with cargo test, clippy linting, and rustfmt formatting
|
|
4
|
+
|
|
5
|
+
name: Rust TAG Validation
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
pull_request:
|
|
9
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
10
|
+
push:
|
|
11
|
+
branches: [main, develop, "feature/**"]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
name: ๐งช Rust Tests & Linting
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
if: github.event.pull_request.draft == false || github.event_name == 'push'
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
pull-requests: write
|
|
23
|
+
|
|
24
|
+
strategy:
|
|
25
|
+
matrix:
|
|
26
|
+
rust-version: ['stable', 'beta']
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- name: Checkout code
|
|
30
|
+
uses: actions/checkout@v4
|
|
31
|
+
with:
|
|
32
|
+
fetch-depth: 0
|
|
33
|
+
|
|
34
|
+
- name: Setup Rust toolchain
|
|
35
|
+
uses: dtolnay/rust-toolchain@master
|
|
36
|
+
with:
|
|
37
|
+
toolchain: ${{ matrix.rust-version }}
|
|
38
|
+
components: rustfmt, clippy
|
|
39
|
+
|
|
40
|
+
- name: Cache cargo registry
|
|
41
|
+
uses: actions/cache@v4
|
|
42
|
+
with:
|
|
43
|
+
path: ~/.cargo/registry
|
|
44
|
+
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
|
|
45
|
+
|
|
46
|
+
- name: Cache cargo index
|
|
47
|
+
uses: actions/cache@v4
|
|
48
|
+
with:
|
|
49
|
+
path: ~/.cargo/git
|
|
50
|
+
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}
|
|
51
|
+
|
|
52
|
+
- name: Run cargo test
|
|
53
|
+
run: cargo test --verbose
|
|
54
|
+
|
|
55
|
+
- name: Run clippy (treat warnings as errors)
|
|
56
|
+
run: cargo clippy -- -D warnings
|
|
57
|
+
|
|
58
|
+
- name: Check formatting with rustfmt
|
|
59
|
+
run: cargo fmt -- --check
|
|
60
|
+
|
|
61
|
+
- name: Generate coverage report
|
|
62
|
+
if: matrix.rust-version == 'stable'
|
|
63
|
+
run: |
|
|
64
|
+
cargo install cargo-tarpaulin
|
|
65
|
+
cargo tarpaulin --out Xml --output-dir coverage
|
|
66
|
+
|
|
67
|
+
- name: Upload coverage artifacts
|
|
68
|
+
if: always() && matrix.rust-version == 'stable'
|
|
69
|
+
uses: actions/upload-artifact@v4
|
|
70
|
+
with:
|
|
71
|
+
name: rust-coverage
|
|
72
|
+
path: coverage/
|
|
73
|
+
retention-days: 30
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# @CODE:LDE-011-SHELL | SPEC: SPEC-LANGUAGE-DETECTION-EXTENDED-001/spec.md
|
|
2
|
+
# Shell TAG Validation Workflow
|
|
3
|
+
# Validates shell scripts with shellcheck and bats-core
|
|
4
|
+
|
|
5
|
+
name: Shell TAG Validation
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
pull_request:
|
|
9
|
+
types: [opened, synchronize, reopened, ready_for_review]
|
|
10
|
+
push:
|
|
11
|
+
branches: [main, develop, "feature/**"]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
name: ๐งช Shell Tests & Linting
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
|
|
18
|
+
if: github.event.pull_request.draft == false || github.event_name == 'push'
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
pull-requests: write
|
|
23
|
+
|
|
24
|
+
steps:
|
|
25
|
+
- name: Checkout code
|
|
26
|
+
uses: actions/checkout@v4
|
|
27
|
+
with:
|
|
28
|
+
fetch-depth: 0
|
|
29
|
+
|
|
30
|
+
- name: Install shellcheck and bats
|
|
31
|
+
run: |
|
|
32
|
+
sudo apt-get update
|
|
33
|
+
sudo apt-get install -y shellcheck bats
|
|
34
|
+
|
|
35
|
+
- name: Run shellcheck on all shell scripts
|
|
36
|
+
run: |
|
|
37
|
+
echo "Running shellcheck on all .sh files"
|
|
38
|
+
find . -name "*.sh" -type f -print0 | xargs -0 shellcheck --severity=warning
|
|
39
|
+
|
|
40
|
+
- name: Check for POSIX compatibility
|
|
41
|
+
run: |
|
|
42
|
+
echo "Checking POSIX compatibility"
|
|
43
|
+
find . -name "*.sh" -type f -print0 | xargs -0 shellcheck --shell=sh
|
|
44
|
+
|
|
45
|
+
- name: Run bats tests
|
|
46
|
+
if: hashFiles('tests/**/*.bats') != ''
|
|
47
|
+
run: |
|
|
48
|
+
if [ -d "tests" ]; then
|
|
49
|
+
bats tests/
|
|
50
|
+
else
|
|
51
|
+
echo "No tests/ directory found, skipping bats tests"
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
- name: Generate test summary
|
|
55
|
+
if: always()
|
|
56
|
+
run: |
|
|
57
|
+
echo "## Shell Script Validation Summary" >> $GITHUB_STEP_SUMMARY
|
|
58
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
59
|
+
echo "- shellcheck: โ
Passed" >> $GITHUB_STEP_SUMMARY
|
|
60
|
+
echo "- POSIX compatibility: โ
Passed" >> $GITHUB_STEP_SUMMARY
|
|
61
|
+
if [ -d "tests" ]; then
|
|
62
|
+
echo "- bats tests: โ
Executed" >> $GITHUB_STEP_SUMMARY
|
|
63
|
+
else
|
|
64
|
+
echo "- bats tests: โ ๏ธ No tests found" >> $GITHUB_STEP_SUMMARY
|
|
65
|
+
fi
|