moai-adk 0.3.13__py3-none-any.whl → 0.4.1__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.

Files changed (141) hide show
  1. moai_adk/__init__.py +1 -1
  2. moai_adk/__main__.py +1 -1
  3. moai_adk/cli/commands/__init__.py +1 -1
  4. moai_adk/cli/commands/doctor.py +2 -2
  5. moai_adk/cli/commands/init.py +10 -5
  6. moai_adk/cli/commands/status.py +1 -1
  7. moai_adk/cli/commands/update.py +210 -8
  8. moai_adk/cli/prompts/init_prompts.py +15 -19
  9. moai_adk/core/__init__.py +1 -1
  10. moai_adk/core/diagnostics/slash_commands.py +1 -1
  11. moai_adk/core/git/branch.py +1 -1
  12. moai_adk/core/git/manager.py +1 -1
  13. moai_adk/core/project/backup_utils.py +1 -0
  14. moai_adk/core/project/phase_executor.py +3 -1
  15. moai_adk/core/project/validator.py +3 -2
  16. moai_adk/core/quality/__init__.py +1 -1
  17. moai_adk/core/quality/trust_checker.py +1 -1
  18. moai_adk/core/quality/validators/__init__.py +1 -1
  19. moai_adk/core/quality/validators/base_validator.py +1 -1
  20. moai_adk/core/template/__init__.py +1 -1
  21. moai_adk/core/template/backup.py +12 -3
  22. moai_adk/core/template/config.py +24 -0
  23. moai_adk/core/template/languages.py +1 -1
  24. moai_adk/core/template/merger.py +74 -4
  25. moai_adk/core/template/processor.py +62 -14
  26. moai_adk/templates/.claude/agents/alfred/cc-manager.md +765 -191
  27. moai_adk/templates/.claude/agents/alfred/debug-helper.md +116 -103
  28. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +130 -116
  29. moai_adk/templates/.claude/agents/alfred/git-manager.md +186 -174
  30. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +227 -213
  31. moai_adk/templates/.claude/agents/alfred/project-manager.md +205 -125
  32. moai_adk/templates/.claude/agents/alfred/quality-gate.md +224 -209
  33. moai_adk/templates/.claude/agents/alfred/spec-builder.md +174 -160
  34. moai_adk/templates/.claude/agents/alfred/tag-agent.md +151 -139
  35. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +209 -196
  36. moai_adk/templates/.claude/agents/alfred/trust-checker.md +247 -233
  37. moai_adk/templates/.claude/commands/alfred/0-project.md +856 -355
  38. moai_adk/templates/.claude/commands/alfred/1-plan.md +572 -0
  39. moai_adk/templates/.claude/commands/alfred/2-run.md +470 -0
  40. moai_adk/templates/.claude/commands/alfred/3-sync.md +366 -356
  41. moai_adk/templates/.claude/hooks/alfred/README.md +52 -52
  42. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +44 -48
  43. moai_adk/templates/.claude/hooks/alfred/core/__init__.py +17 -17
  44. moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +59 -59
  45. moai_adk/templates/.claude/hooks/alfred/core/context.py +19 -19
  46. moai_adk/templates/.claude/hooks/alfred/core/project.py +52 -52
  47. moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +1 -1
  48. moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +4 -4
  49. moai_adk/templates/.claude/hooks/alfred/handlers/session.py +30 -51
  50. moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +16 -17
  51. moai_adk/templates/.claude/hooks/alfred/handlers/user.py +11 -11
  52. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +308 -307
  53. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +297 -296
  54. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +191 -190
  55. moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +112 -0
  56. moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +103 -0
  57. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +103 -0
  58. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +95 -0
  59. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +99 -0
  60. moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +105 -0
  61. moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +97 -0
  62. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +97 -0
  63. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +90 -0
  64. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +99 -0
  65. moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +87 -0
  66. moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +62 -0
  67. moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +94 -0
  68. moai_adk/templates/.claude/skills/moai-claude-code/examples.md +513 -0
  69. moai_adk/templates/.claude/skills/moai-claude-code/reference.md +433 -0
  70. moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +332 -0
  71. moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +384 -0
  72. moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +363 -0
  73. moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +595 -0
  74. moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +496 -0
  75. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +99 -0
  76. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +95 -0
  77. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +98 -0
  78. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +100 -0
  79. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +100 -0
  80. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +99 -0
  81. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +99 -0
  82. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +93 -0
  83. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +105 -0
  84. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +97 -0
  85. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +102 -0
  86. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +104 -0
  87. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +96 -0
  88. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +112 -0
  89. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +98 -0
  90. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +90 -0
  91. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +94 -0
  92. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +93 -0
  93. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +86 -0
  94. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +86 -0
  95. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +100 -0
  96. moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +100 -0
  97. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +102 -0
  98. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +100 -0
  99. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +98 -0
  100. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +99 -0
  101. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +100 -0
  102. moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +100 -0
  103. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +98 -0
  104. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +96 -0
  105. moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +98 -0
  106. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +99 -0
  107. moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +98 -0
  108. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +98 -0
  109. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +96 -0
  110. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +99 -0
  111. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +99 -0
  112. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +100 -0
  113. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +100 -0
  114. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +100 -0
  115. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +100 -0
  116. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +99 -0
  117. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +96 -0
  118. moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +44 -43
  119. moai_adk/templates/.github/workflows/moai-gitflow.yml +36 -35
  120. moai_adk/templates/.moai/config.json +9 -6
  121. moai_adk/templates/.moai/memory/development-guide.md +220 -221
  122. moai_adk/templates/.moai/memory/gitflow-protection-policy.md +85 -85
  123. moai_adk/templates/.moai/memory/spec-metadata.md +149 -150
  124. moai_adk/templates/.moai/project/product.md +90 -90
  125. moai_adk/templates/.moai/project/structure.md +85 -85
  126. moai_adk/templates/.moai/project/tech.md +117 -117
  127. moai_adk/templates/CLAUDE.md +354 -573
  128. moai_adk/templates/__init__.py +1 -1
  129. moai_adk/utils/__init__.py +1 -1
  130. moai_adk/utils/banner.py +7 -7
  131. moai_adk/utils/logger.py +1 -1
  132. moai_adk-0.4.1.dist-info/METADATA +303 -0
  133. moai_adk-0.4.1.dist-info/RECORD +152 -0
  134. moai_adk/templates/.claude/commands/alfred/1-spec.md +0 -532
  135. moai_adk/templates/.claude/commands/alfred/2-build.md +0 -432
  136. moai_adk/templates/.moai/hooks/pre-push.sample +0 -88
  137. moai_adk-0.3.13.dist-info/METADATA +0 -1586
  138. moai_adk-0.3.13.dist-info/RECORD +0 -90
  139. {moai_adk-0.3.13.dist-info → moai_adk-0.4.1.dist-info}/WHEEL +0 -0
  140. {moai_adk-0.3.13.dist-info → moai_adk-0.4.1.dist-info}/entry_points.txt +0 -0
  141. {moai_adk-0.3.13.dist-info → moai_adk-0.4.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,98 @@
1
+ ---
2
+
3
+ name: moai-lang-julia
4
+ description: Julia best practices with Test stdlib, Pkg manager, and scientific computing patterns. Use when writing or reviewing Julia code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # Julia Expert
11
+
12
+ ## Skill Metadata
13
+ | Field | Value |
14
+ | ----- | ----- |
15
+ | Allowed tools | Read (read_file), Bash (terminal) |
16
+ | Auto-load | On demand when language keywords are detected |
17
+ | Trigger cues | Julia code discussions, framework guidance, or file extensions such as .jl. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides Julia-specific expertise for TDD development, including Test standard library, Pkg package manager, and high-performance scientific computing patterns.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references Julia work, frameworks, or files like .jl.
27
+ - "Writing Julia tests", "How to use Test stdlib", "Scientific computing"
28
+ - Automatically invoked when working with Julia projects
29
+ - Julia SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **Test**: Built-in testing library (@test, @testset)
35
+ - **Coverage.jl**: Test coverage analysis
36
+ - **BenchmarkTools.jl**: Performance benchmarking
37
+
38
+ **Package Management**:
39
+ - **Pkg**: Built-in package manager
40
+ - **Project.toml**: Package configuration
41
+ - **Manifest.toml**: Dependency lock file
42
+
43
+ **Code Quality**:
44
+ - **JuliaFormatter.jl**: Code formatting
45
+ - **Lint.jl**: Static analysis
46
+ - **JET.jl**: Type inference analysis
47
+
48
+ **Scientific Computing**:
49
+ - **Multiple dispatch**: Method specialization on argument types
50
+ - **Type stability**: Performance optimization
51
+ - **Broadcasting**: Element-wise operations (. syntax)
52
+ - **Linear algebra**: Built-in BLAS/LAPACK
53
+
54
+ **Best Practices**:
55
+ - File ≤300 LOC, function ≤50 LOC
56
+ - Type annotations for performance-critical code
57
+ - Prefer abstract types for function arguments
58
+ - Use @inbounds for performance (after bounds checking)
59
+ - Profile before optimizing
60
+
61
+ ## Examples
62
+ ```bash
63
+ julia --project -e 'using Pkg; Pkg.test()'
64
+ ```
65
+
66
+ ## Inputs
67
+ - Language-specific source directories (e.g. `src/`, `app/`).
68
+ - Language-specific build/test configuration files (e.g. `package.json`, `pyproject.toml`, `go.mod`).
69
+ - Relevant test suites and sample data.
70
+
71
+ ## Outputs
72
+ - Test/lint execution plan tailored to the selected language.
73
+ - List of key language idioms and review checkpoints.
74
+
75
+ ## Failure Modes
76
+ - When the language runtime or package manager is not installed.
77
+ - When the main language cannot be determined in a multilingual project.
78
+
79
+ ## Dependencies
80
+ - Access to the project file is required using the Read/Grep tool.
81
+ - When used with `Skill("moai-foundation-langs")`, it is easy to share cross-language conventions.
82
+
83
+ ## References
84
+ - Julia Language. "Documentation." https://docs.julialang.org/en/v1/ (accessed 2025-03-29).
85
+ - JuliaFormatter.jl. "JuliaFormatter Documentation." https://domluna.github.io/JuliaFormatter.jl/stable/ (accessed 2025-03-29).
86
+
87
+ ## Changelog
88
+ - 2025-03-29: Input/output/failure response/reference information for each language has been specified.
89
+
90
+ ## Works well with
91
+
92
+ - alfred-trust-validation (coverage verification)
93
+ - alfred-code-reviewer (Julia-specific review)
94
+ - alfred-performance-optimizer (Julia profiling)
95
+
96
+ ## Best Practices
97
+ - Enable automatic validation by matching your linter with the language's official style guide.
98
+ - Fix test/build pipelines with reproducible commands in CI.
@@ -0,0 +1,99 @@
1
+ ---
2
+
3
+ name: moai-lang-kotlin
4
+ description: Kotlin best practices with JUnit, Gradle, ktlint, coroutines, and extension functions. Use when writing or reviewing Kotlin code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # Kotlin Expert
11
+
12
+ ## Skill Metadata
13
+ | Field | Value |
14
+ | ----- | ----- |
15
+ | Allowed tools | Read (read_file), Bash (terminal) |
16
+ | Auto-load | On demand when language keywords are detected |
17
+ | Trigger cues | Kotlin code discussions, framework guidance, or file extensions such as .kt/.kts. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides Kotlin-specific expertise for TDD development, including JUnit testing, Gradle build system, ktlint linting, coroutines for concurrency, and extension functions.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references Kotlin work, frameworks, or files like .kt/.kts.
27
+ - “Writing Kotlin tests”, “How to use coroutines”, “Android patterns”
28
+ - Automatically invoked when working with Kotlin/Android projects
29
+ - Kotlin SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **JUnit 5**: Unit testing with Kotlin extensions
35
+ - **MockK**: Kotlin-friendly mocking library
36
+ - **Kotest**: Kotlin-native testing framework
37
+ - Test coverage ≥85% with JaCoCo
38
+
39
+ **Build Tools**:
40
+ - **Gradle**: build.gradle.kts with Kotlin DSL
41
+ - **Maven**: pom.xml alternative
42
+ - Multi-platform support (JVM, Native, JS)
43
+
44
+ **Code Quality**:
45
+ - **ktlint**: Kotlin linter with formatting
46
+ - **detekt**: Static code analysis
47
+ - **Android Lint**: Android-specific checks
48
+
49
+ **Kotlin Features**:
50
+ - **Coroutines**: Async programming with suspend functions
51
+ - **Extension functions**: Add methods to existing classes
52
+ - **Data classes**: Automatic equals/hashCode/toString
53
+ - **Null safety**: Non-nullable types by default
54
+ - **Smart casts**: Automatic type casting after checks
55
+
56
+ **Android Patterns**:
57
+ - **Jetpack Compose**: Declarative UI
58
+ - **ViewModel**: UI state management
59
+ - **Room**: Database abstraction
60
+ - **Retrofit**: Network requests
61
+
62
+ ## Examples
63
+ ```bash
64
+ ./gradlew test && ./gradlew ktlintCheck
65
+ ```
66
+
67
+ ## Inputs
68
+ - Language-specific source directories (e.g. `src/`, `app/`).
69
+ - Language-specific build/test configuration files (e.g. `package.json`, `pyproject.toml`, `go.mod`).
70
+ - Relevant test suites and sample data.
71
+
72
+ ## Outputs
73
+ - Test/lint execution plan tailored to the selected language.
74
+ - List of key language idioms and review checkpoints.
75
+
76
+ ## Failure Modes
77
+ - When the language runtime or package manager is not installed.
78
+ - When the main language cannot be determined in a multilingual project.
79
+
80
+ ## Dependencies
81
+ - Access to the project file is required using the Read/Grep tool.
82
+ - When used with `Skill("moai-foundation-langs")`, it is easy to share cross-language conventions.
83
+
84
+ ## References
85
+ - JetBrains. "Kotlin Language Documentation." https://kotlinlang.org/docs/home.html (accessed 2025-03-29).
86
+ - Pinterest. "ktlint." https://pinterest.github.io/ktlint/ (accessed 2025-03-29).
87
+
88
+ ## Changelog
89
+ - 2025-03-29: Input/output/failure response/reference information for each language has been specified.
90
+
91
+ ## Works well with
92
+
93
+ - alfred-trust-validation (coverage verification)
94
+ - alfred-code-reviewer (Kotlin-specific review)
95
+ - mobile-app-expert (Android app development)
96
+
97
+ ## Best Practices
98
+ - Enable automatic validation by matching your linter with the language's official style guide.
99
+ - Fix test/build pipelines with reproducible commands in CI.
@@ -0,0 +1,98 @@
1
+ ---
2
+
3
+ name: moai-lang-lua
4
+ description: Lua best practices with busted, luacheck, and embedded scripting patterns. Use when writing or reviewing Lua code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # Lua Expert
11
+
12
+ ## Skill Metadata
13
+ | Field | Value |
14
+ | ----- | ----- |
15
+ | Allowed tools | Read (read_file), Bash (terminal) |
16
+ | Auto-load | On demand when language keywords are detected |
17
+ | Trigger cues | Lua code discussions, framework guidance, or file extensions such as .lua. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides Lua-specific expertise for TDD development, including busted testing framework, luacheck linting, and embedded scripting patterns for game development and system configuration.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references Lua work, frameworks, or files like .lua.
27
+ - "Writing Lua tests", "How to use busted", "Embedded scripting"
28
+ - Automatically invoked when working with Lua projects
29
+ - Lua SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **busted**: Elegant Lua testing framework
35
+ - **luassert**: Assertion library
36
+ - **lua-coveralls**: Coverage reporting
37
+ - BDD-style test writing
38
+
39
+ **Code Quality**:
40
+ - **luacheck**: Lua linter and static analyzer
41
+ - **StyLua**: Code formatting
42
+ - **luadoc**: Documentation generation
43
+
44
+ **Package Management**:
45
+ - **LuaRocks**: Package manager
46
+ - **rockspec**: Package specification
47
+
48
+ **Lua Patterns**:
49
+ - **Tables**: Versatile data structure
50
+ - **Metatables**: Operator overloading
51
+ - **Closures**: Function factories
52
+ - **Coroutines**: Cooperative multitasking
53
+
54
+ **Best Practices**:
55
+ - File ≤300 LOC, function ≤50 LOC
56
+ - Use `local` for all variables
57
+ - Prefer tables over multiple return values
58
+ - Document public APIs
59
+ - Avoid global variables
60
+
61
+ ## Examples
62
+ ```bash
63
+ luacheck src && busted
64
+ ```
65
+
66
+ ## Inputs
67
+ - Language-specific source directories (e.g. `src/`, `app/`).
68
+ - Language-specific build/test configuration files (e.g. `package.json`, `pyproject.toml`, `go.mod`).
69
+ - Relevant test suites and sample data.
70
+
71
+ ## Outputs
72
+ - Test/lint execution plan tailored to the selected language.
73
+ - List of key language idioms and review checkpoints.
74
+
75
+ ## Failure Modes
76
+ - When the language runtime or package manager is not installed.
77
+ - When the main language cannot be determined in a multilingual project.
78
+
79
+ ## Dependencies
80
+ - Access to the project file is required using the Read/Grep tool.
81
+ - When used with `Skill("moai-foundation-langs")`, it is easy to share cross-language conventions.
82
+
83
+ ## References
84
+ - Lua.org. "Programming in Lua." https://www.lua.org/pil/contents.html (accessed 2025-03-29).
85
+ - Olivine Labs. "busted." https://olivinelabs.com/busted/ (accessed 2025-03-29).
86
+
87
+ ## Changelog
88
+ - 2025-03-29: Input/output/failure response/reference information for each language has been specified.
89
+
90
+ ## Works well with
91
+
92
+ - alfred-trust-validation (coverage verification)
93
+ - alfred-code-reviewer (Lua-specific review)
94
+ - cli-tool-expert (Lua scripting utilities)
95
+
96
+ ## Best Practices
97
+ - Enable automatic validation by matching your linter with the language's official style guide.
98
+ - Fix test/build pipelines with reproducible commands in CI.
@@ -0,0 +1,98 @@
1
+ ---
2
+
3
+ name: moai-lang-php
4
+ description: PHP best practices with PHPUnit, Composer, and PSR standards. Use when writing or reviewing PHP code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # PHP Expert
11
+
12
+ ## Skill Metadata
13
+ | Field | Value |
14
+ | ----- | ----- |
15
+ | Allowed tools | Read (read_file), Bash (terminal) |
16
+ | Auto-load | On demand when language keywords are detected |
17
+ | Trigger cues | PHP code discussions, framework guidance, or file extensions such as .php. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides PHP-specific expertise for TDD development, including PHPUnit testing, Composer package management, and PSR (PHP Standards Recommendations) compliance.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references PHP work, frameworks, or files like .php.
27
+ - "Writing PHP tests", "How to use PHPUnit", "PSR standard"
28
+ - Automatically invoked when working with PHP projects
29
+ - PHP SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **PHPUnit**: PHP testing framework
35
+ - **Mockery**: Mocking library
36
+ - **PHPSpec**: BDD-style testing (alternative)
37
+ - Test coverage with `phpunit --coverage-html`
38
+
39
+ **Code Quality**:
40
+ - **PHP_CodeSniffer**: PSR compliance checker
41
+ - **PHPStan**: Static analysis tool
42
+ - **PHP CS Fixer**: Code formatting
43
+
44
+ **Package Management**:
45
+ - **Composer**: Dependency management
46
+ - **composer.json**: Package configuration
47
+ - **Packagist**: Public package registry
48
+
49
+ **PSR Standards**:
50
+ - **PSR-1**: Basic coding standard
51
+ - **PSR-2/PSR-12**: Coding style guide
52
+ - **PSR-4**: Autoloading standard
53
+ - **PSR-7**: HTTP message interfaces
54
+
55
+ **Best Practices**:
56
+ - File ≤300 LOC, method ≤50 LOC
57
+ - Type declarations (PHP 7.4+)
58
+ - Namespaces for organization
59
+ - Dependency injection over global state
60
+
61
+ ## Examples
62
+ ```bash
63
+ vendor/bin/phpunit && vendor/bin/phpstan analyse
64
+ ```
65
+
66
+ ## Inputs
67
+ - Language-specific source directories (e.g. `src/`, `app/`).
68
+ - Language-specific build/test configuration files (e.g. `package.json`, `pyproject.toml`, `go.mod`).
69
+ - Relevant test suites and sample data.
70
+
71
+ ## Outputs
72
+ - Test/lint execution plan tailored to the selected language.
73
+ - List of key language idioms and review checkpoints.
74
+
75
+ ## Failure Modes
76
+ - When the language runtime or package manager is not installed.
77
+ - When the main language cannot be determined in a multilingual project.
78
+
79
+ ## Dependencies
80
+ - Access to the project file is required using the Read/Grep tool.
81
+ - When used with `Skill("moai-foundation-langs")`, it is easy to share cross-language conventions.
82
+
83
+ ## References
84
+ - PHP Manual. "PHP Documentation." https://www.php.net/manual/en/ (accessed 2025-03-29).
85
+ - PHPUnit. "PHPUnit Manual." https://phpunit.de/documentation.html (accessed 2025-03-29).
86
+
87
+ ## Changelog
88
+ - 2025-03-29: Input/output/failure response/reference information for each language has been specified.
89
+
90
+ ## Works well with
91
+
92
+ - alfred-trust-validation (coverage verification)
93
+ - alfred-code-reviewer (PHP-specific review)
94
+ - web-api-expert (Laravel/Symfony API development)
95
+
96
+ ## Best Practices
97
+ - Enable automatic validation by matching your linter with the language's official style guide.
98
+ - Fix test/build pipelines with reproducible commands in CI.
@@ -0,0 +1,96 @@
1
+ ---
2
+
3
+ name: moai-lang-python
4
+ description: Python best practices with pytest, mypy, ruff, black, and uv package management. Use when writing or reviewing Python code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # Python Expert
11
+
12
+ ## Skill Metadata
13
+ | Field | Value |
14
+ | ----- | ----- |
15
+ | Allowed tools | Read (read_file), Bash (terminal) |
16
+ | Auto-load | On demand when language keywords are detected |
17
+ | Trigger cues | Python code discussions, framework guidance, or file extensions such as .py. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides Python-specific expertise for TDD development, including pytest testing, mypy type checking, ruff linting, black formatting, and modern uv package management.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references Python work, frameworks, or files like .py.
27
+ - “Writing Python tests”, “How to use pytest”, “Python type hints”
28
+ - Automatically invoked when working with Python projects
29
+ - Python SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **pytest**: Test discovery, fixtures, parametrize, markers
35
+ - **coverage.py**: Test coverage ≥85% enforcement
36
+ - **pytest-mock**: Mocking and patching
37
+
38
+ **Type Safety**:
39
+ - **mypy**: Static type checking with strict mode
40
+ - Type hints for function signatures, return types
41
+ - Generic types, Protocols, TypedDict
42
+
43
+ **Code Quality**:
44
+ - **ruff**: Fast Python linter (replaces flake8, isort, pylint)
45
+ - **black**: Opinionated code formatter
46
+ - Complexity checks (≤10), line length (≤88)
47
+
48
+ **Package Management**:
49
+ - **uv**: Modern, fast package installer
50
+ - `pyproject.toml` for project configuration
51
+ - Virtual environment management
52
+
53
+ **Best Practices**:
54
+ - File ≤300 LOC, function ≤50 LOC
55
+ - Meaningful variable names (no single letters except loops)
56
+ - Guard clauses over nested conditions
57
+ - Docstrings for public APIs
58
+
59
+ ## Examples
60
+ ```bash
61
+ python -m pytest && ruff check . && black --check .
62
+ ```
63
+
64
+ ## Inputs
65
+ - Language-specific source directories (e.g. `src/`, `app/`).
66
+ - Language-specific build/test configuration files (e.g. `package.json`, `pyproject.toml`, `go.mod`).
67
+ - Relevant test suites and sample data.
68
+
69
+ ## Outputs
70
+ - Test/lint execution plan tailored to the selected language.
71
+ - List of key language idioms and review checkpoints.
72
+
73
+ ## Failure Modes
74
+ - When the language runtime or package manager is not installed.
75
+ - When the main language cannot be determined in a multilingual project.
76
+
77
+ ## Dependencies
78
+ - Access to the project file is required using the Read/Grep tool.
79
+ - When used with `Skill("moai-foundation-langs")`, it is easy to share cross-language conventions.
80
+
81
+ ## References
82
+ - Python Software Foundation. "Python Developer's Guide." https://docs.python.org/3/ (accessed 2025-03-29).
83
+ - Pytest. "pytest Documentation." https://docs.pytest.org/en/stable/ (accessed 2025-03-29).
84
+
85
+ ## Changelog
86
+ - 2025-03-29: Input/output/failure response/reference information for each language has been specified.
87
+
88
+ ## Works well with
89
+
90
+ - alfred-trust-validation (coverage verification)
91
+ - alfred-code-reviewer (Python-specific review)
92
+ - alfred-debugger-pro (Python debugging)
93
+
94
+ ## Best Practices
95
+ - Enable automatic validation by matching your linter with the language's official style guide.
96
+ - Fix test/build pipelines with reproducible commands in CI.
@@ -0,0 +1,99 @@
1
+ ---
2
+
3
+ name: moai-lang-r
4
+ description: R best practices with testthat, lintr, and data analysis patterns. Use when writing or reviewing R code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # R Expert
11
+
12
+ ## Skill Metadata
13
+ | Field | Value |
14
+ | ----- | ----- |
15
+ | Allowed tools | Read (read_file), Bash (terminal) |
16
+ | Auto-load | On demand when language keywords are detected |
17
+ | Trigger cues | R code discussions, framework guidance, or file extensions such as .r. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides R-specific expertise for TDD development, including testthat testing framework, lintr code linting, and statistical data analysis patterns.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references R work, frameworks, or files like .r.
27
+ - “Writing R tests”, “How to use testthat”, “Data analysis patterns”
28
+ - Automatically invoked when working with R projects
29
+ - R SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **testthat**: Unit testing framework
35
+ - **covr**: Test coverage tool
36
+ - **mockery**: Mocking library
37
+ - Test coverage ≥85% enforcement
38
+
39
+ **Code Quality**:
40
+ - **lintr**: Static code analysis
41
+ - **styler**: Code formatting
42
+ - **goodpractice**: R package best practices
43
+
44
+ **Package Management**:
45
+ - **devtools**: Package development tools
46
+ - **usethis**: Workflow automation
47
+ - **CRAN**: Official package repository
48
+
49
+ **Data Analysis Patterns**:
50
+ - **tidyverse**: Data manipulation (dplyr, ggplot2)
51
+ - **data.table**: High-performance data manipulation
52
+ - **Vectorization** over loops
53
+ - **Pipes** (%>%) for readable code
54
+
55
+ **Best Practices**:
56
+ - File ≤300 LOC, function ≤50 LOC
57
+ - Document functions with roxygen2
58
+ - Use meaningful variable names
59
+ - Avoid global variables
60
+ - Prefer functional programming
61
+
62
+ ## Examples
63
+ ```bash
64
+ Rscript -e 'devtools::test()'
65
+ ```
66
+
67
+ ## Inputs
68
+ - Language-specific source directories (e.g. `src/`, `app/`).
69
+ - Language-specific build/test configuration files (e.g. `package.json`, `pyproject.toml`, `go.mod`).
70
+ - Relevant test suites and sample data.
71
+
72
+ ## Outputs
73
+ - Test/lint execution plan tailored to the selected language.
74
+ - List of key language idioms and review checkpoints.
75
+
76
+ ## Failure Modes
77
+ - When the language runtime or package manager is not installed.
78
+ - When the main language cannot be determined in a multilingual project.
79
+
80
+ ## Dependencies
81
+ - Access to the project file is required using the Read/Grep tool.
82
+ - When used with `Skill("moai-foundation-langs")`, it is easy to share cross-language conventions.
83
+
84
+ ## References
85
+ - R Core Team. "R Language Definition." https://cran.r-project.org/manuals.html (accessed 2025-03-29).
86
+ - RStudio. "testthat Reference." https://testthat.r-lib.org/ (accessed 2025-03-29).
87
+
88
+ ## Changelog
89
+ - 2025-03-29: Input/output/failure response/reference information for each language has been specified.
90
+
91
+ ## Works well with
92
+
93
+ - alfred-trust-validation (coverage verification)
94
+ - alfred-code-reviewer (R-specific review)
95
+ - data-science-expert (statistical analysis)
96
+
97
+ ## Best Practices
98
+ - Enable automatic validation by matching your linter with the language's official style guide.
99
+ - Fix test/build pipelines with reproducible commands in CI.
@@ -0,0 +1,99 @@
1
+ ---
2
+
3
+ name: moai-lang-ruby
4
+ description: Ruby best practices with RSpec, RuboCop, Bundler, and Rails patterns. Use when writing or reviewing Ruby code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # Ruby Expert
11
+
12
+ ## Skill Metadata
13
+ | Field | Value |
14
+ | ----- | ----- |
15
+ | Allowed tools | Read (read_file), Bash (terminal) |
16
+ | Auto-load | On demand when language keywords are detected |
17
+ | Trigger cues | Ruby code discussions, framework guidance, or file extensions such as .rb. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides Ruby-specific expertise for TDD development, including RSpec BDD testing, RuboCop linting, Bundler package management, and Rails framework patterns.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references Ruby work, frameworks, or files like .rb.
27
+ - “Writing Ruby tests”, “How to use RSpec”, “Rails patterns”
28
+ - Automatically invoked when working with Ruby/Rails projects
29
+ - Ruby SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **RSpec**: Behavior-driven development (describe, context, it)
35
+ - **FactoryBot**: Test data factories
36
+ - **Capybara**: Integration testing for web apps
37
+ - Test coverage ≥85% with SimpleCov
38
+
39
+ **Code Quality**:
40
+ - **RuboCop**: Ruby linter and formatter
41
+ - **Reek**: Code smell detection
42
+ - **Brakeman**: Security vulnerability scanner (Rails)
43
+
44
+ **Package Management**:
45
+ - **Bundler**: Dependency management with Gemfile
46
+ - **RubyGems**: Package distribution
47
+ - Semantic versioning in gemspec
48
+
49
+ **Rails Patterns**:
50
+ - MVC architecture (Model-View-Controller)
51
+ - ActiveRecord for database interactions
52
+ - RESTful routing conventions
53
+ - Service objects for business logic
54
+ - Strong parameters for security
55
+
56
+ **Best Practices**:
57
+ - File ≤300 LOC, method ≤50 LOC
58
+ - Prefer symbols over strings for hash keys
59
+ - Use blocks and yielding for abstraction
60
+ - Duck typing over explicit type checking
61
+
62
+ ## Examples
63
+ ```bash
64
+ bundle exec rubocop && bundle exec rspec
65
+ ```
66
+
67
+ ## Inputs
68
+ - Language-specific source directories (e.g. `src/`, `app/`).
69
+ - Language-specific build/test configuration files (e.g. `package.json`, `pyproject.toml`, `go.mod`).
70
+ - Relevant test suites and sample data.
71
+
72
+ ## Outputs
73
+ - Test/lint execution plan tailored to the selected language.
74
+ - List of key language idioms and review checkpoints.
75
+
76
+ ## Failure Modes
77
+ - When the language runtime or package manager is not installed.
78
+ - When the main language cannot be determined in a multilingual project.
79
+
80
+ ## Dependencies
81
+ - Access to the project file is required using the Read/Grep tool.
82
+ - When used with `Skill("moai-foundation-langs")`, it is easy to share cross-language conventions.
83
+
84
+ ## References
85
+ - Ruby Lang. "Ruby Programming Language." https://www.ruby-lang.org/en/documentation/ (accessed 2025-03-29).
86
+ - RuboCop. "RuboCop Documentation." https://docs.rubocop.org/rubocop/ (accessed 2025-03-29).
87
+
88
+ ## Changelog
89
+ - 2025-03-29: Input/output/failure response/reference information for each language has been specified.
90
+
91
+ ## Works well with
92
+
93
+ - alfred-trust-validation (coverage verification)
94
+ - alfred-code-reviewer (Ruby-specific review)
95
+ - web-api-expert (Rails API development)
96
+
97
+ ## Best Practices
98
+ - Enable automatic validation by matching your linter with the language's official style guide.
99
+ - Fix test/build pipelines with reproducible commands in CI.