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,100 @@
1
+ ---
2
+
3
+ name: moai-lang-csharp
4
+ description: C# best practices with xUnit, .NET tooling, LINQ, and async/await patterns. Use when writing or reviewing C# code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # C# 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 | C# code discussions, framework guidance, or file extensions such as .cs. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides C#-specific expertise for TDD development, including xUnit testing, .NET CLI tooling, LINQ query expressions, and async/await patterns.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references C# work, frameworks, or files like .cs.
27
+ - "Writing C# tests", "How to use xUnit", "LINQ queries"
28
+ - Automatically invoked when working with .NET projects
29
+ - C# SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **xUnit**: Modern .NET testing framework
35
+ - **Moq**: Mocking library for interfaces
36
+ - **FluentAssertions**: Expressive assertions
37
+ - Test coverage ≥85% with Coverlet
38
+
39
+ **Build Tools**:
40
+ - **.NET CLI**: dotnet build, test, run
41
+ - **NuGet**: Package management
42
+ - **MSBuild**: Build system
43
+
44
+ **Code Quality**:
45
+ - **StyleCop**: C# style checker
46
+ - **SonarAnalyzer**: Static code analysis
47
+ - **EditorConfig**: Code formatting rules
48
+
49
+ **C# Patterns**:
50
+ - **LINQ**: Query expressions for collections
51
+ - **Async/await**: Asynchronous programming
52
+ - **Properties**: Get/set accessors
53
+ - **Extension methods**: Add methods to existing types
54
+ - **Nullable reference types**: Null safety (C# 8+)
55
+
56
+ **Best Practices**:
57
+ - File ≤300 LOC, method ≤50 LOC
58
+ - Use PascalCase for public members
59
+ - Prefer `var` for local variables when type is obvious
60
+ - Async methods should end with "Async" suffix
61
+ - Use string interpolation ($"") over concatenation
62
+
63
+ ## Examples
64
+ ```bash
65
+ dotnet test && dotnet format --verify-no-changes
66
+ ```
67
+
68
+ ## Inputs
69
+ - Language-specific source directories (e.g. `src/`, `app/`).
70
+ - Language-specific build/test configuration files (e.g. `package.json`, `pyproject.toml`, `go.mod`).
71
+ - Relevant test suites and sample data.
72
+
73
+ ## Outputs
74
+ - Test/lint execution plan tailored to the selected language.
75
+ - List of key language idioms and review checkpoints.
76
+
77
+ ## Failure Modes
78
+ - When the language runtime or package manager is not installed.
79
+ - When the main language cannot be determined in a multilingual project.
80
+
81
+ ## Dependencies
82
+ - Access to the project file is required using the Read/Grep tool.
83
+ - When used with `Skill("moai-foundation-langs")`, it is easy to share cross-language conventions.
84
+
85
+ ## References
86
+ - Microsoft. "C# Programming Guide." https://learn.microsoft.com/dotnet/csharp/ (accessed 2025-03-29).
87
+ - Microsoft. ".NET Testing with dotnet test." https://learn.microsoft.com/dotnet/core/testing/ (accessed 2025-03-29).
88
+
89
+ ## Changelog
90
+ - 2025-03-29: Input/output/failure response/reference information for each language has been specified.
91
+
92
+ ## Works well with
93
+
94
+ - alfred-trust-validation (coverage verification)
95
+ - alfred-code-reviewer (C#-specific review)
96
+ - web-api-expert (ASP.NET Core API development)
97
+
98
+ ## Best Practices
99
+ - Enable automatic validation by matching your linter with the language's official style guide.
100
+ - Fix test/build pipelines with reproducible commands in CI.
@@ -0,0 +1,98 @@
1
+ ---
2
+
3
+ name: moai-lang-dart
4
+ description: Dart best practices with flutter test, dart analyze, and Flutter widget patterns. Use when writing or reviewing Dart/Flutter code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # Dart 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 | Dart code discussions, framework guidance, or file extensions such as .dart. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides Dart-specific expertise for TDD development, including flutter test framework, dart analyze linting, and Flutter widget patterns for cross-platform app development.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references Dart work, frameworks, or files like .dart.
27
+ - “Writing Dart tests”, “Flutter widget patterns”, “How to use flutter tests”
28
+ - Automatically invoked when working with Dart/Flutter projects
29
+ - Dart SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **flutter test**: Built-in test framework
35
+ - **mockito**: Mocking library for Dart
36
+ - **Widget testing**: Test Flutter widgets
37
+ - Test coverage with `flutter test --coverage`
38
+
39
+ **Code Quality**:
40
+ - **dart analyze**: Static analysis tool
41
+ - **dart format**: Code formatting
42
+ - **very_good_analysis**: Strict lint rules
43
+
44
+ **Package Management**:
45
+ - **pub**: Package manager (pub.dev)
46
+ - **pubspec.yaml**: Dependency configuration
47
+ - Flutter SDK version management
48
+
49
+ **Flutter Patterns**:
50
+ - **StatelessWidget/StatefulWidget**: UI components
51
+ - **Provider/Riverpod**: State management
52
+ - **BLoC**: Business logic separation
53
+ - **Navigator**: Routing and navigation
54
+
55
+ **Best Practices**:
56
+ - File ≤300 LOC, function ≤50 LOC
57
+ - Prefer `const` constructors for immutable widgets
58
+ - Use `final` for immutable fields
59
+ - Widget composition over inheritance
60
+
61
+ ## Examples
62
+ ```bash
63
+ dart test && dart analyze
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
+ - Google. "Dart Language Tour." https://dart.dev/guides/language/language-tour (accessed 2025-03-29).
85
+ - Flutter. "Testing." https://docs.flutter.dev/testing (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 (Dart-specific review)
94
+ - mobile-app-expert (Flutter app 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,99 @@
1
+ ---
2
+
3
+ name: moai-lang-elixir
4
+ description: Elixir best practices with ExUnit, Mix, and OTP patterns. Use when writing or reviewing Elixir code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # Elixir 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 | Elixir code discussions, framework guidance, or file extensions such as .ex/.exs. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides Elixir-specific expertise for TDD development, including ExUnit testing, Mix build tool, and OTP (Open Telecom Platform) patterns for concurrent systems.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references Elixir work, frameworks, or files like .ex/.exs.
27
+ - "Writing Elixir tests", "How to use ExUnit", "OTP patterns"
28
+ - Automatically invoked when working with Elixir/Phoenix projects
29
+ - Elixir SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **ExUnit**: Built-in test framework
35
+ - **Mox**: Mocking library
36
+ - **StreamData**: Property-based testing
37
+ - Test coverage with `mix test --cover`
38
+
39
+ **Build Tools**:
40
+ - **Mix**: Build tool and project manager
41
+ - **mix.exs**: Project configuration
42
+ - **Hex**: Package manager
43
+
44
+ **Code Quality**:
45
+ - **Credo**: Static code analysis
46
+ - **Dialyzer**: Type checking
47
+ - **mix format**: Code formatting
48
+
49
+ **OTP Patterns**:
50
+ - **GenServer**: Generic server behavior
51
+ - **Supervisor**: Process supervision
52
+ - **Application**: Application behavior
53
+ - **Task**: Async/await operations
54
+
55
+ **Best Practices**:
56
+ - File ≤300 LOC, function ≤50 LOC
57
+ - Pattern matching over conditionals
58
+ - Pipe operator (|>) for data transformations
59
+ - Immutable data structures
60
+ - "Let it crash" philosophy with supervisors
61
+
62
+ ## Examples
63
+ ```bash
64
+ mix test && mix credo --strict
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
+ - Elixir Lang. "Getting Started." https://elixir-lang.org/getting-started/introduction.html (accessed 2025-03-29).
86
+ - Credo. "Credo — The Elixir Linter." https://hexdocs.pm/credo/ (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 (Elixir-specific review)
95
+ - web-api-expert (Phoenix 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.
@@ -0,0 +1,100 @@
1
+ ---
2
+
3
+ name: moai-lang-go
4
+ description: Go best practices with go test, golint, gofmt, and standard library utilization. Use when writing or reviewing Go code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # Go 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 | Go code discussions, framework guidance, or file extensions such as .go. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides Go-specific expertise for TDD development, including go test framework, golint/staticcheck, gofmt formatting, and effective standard library usage.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references Go work, frameworks, or files like .go.
27
+ - “Writing Go tests”, “How to use go tests”, “Go standard library”
28
+ - Automatically invoked when working with Go projects
29
+ - Go SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **go test**: Built-in testing framework
35
+ - **Table-driven tests**: Structured test cases
36
+ - **testify/assert**: Optional assertion library
37
+ - Test coverage ≥85% with `go test -cover`
38
+
39
+ **Code Quality**:
40
+ - **gofmt**: Automatic code formatting
41
+ - **golint**: Go linter (deprecated, use staticcheck)
42
+ - **staticcheck**: Advanced static analysis
43
+ - **go vet**: Built-in error detection
44
+
45
+ **Standard Library**:
46
+ - Use standard library first before external dependencies
47
+ - **net/http**: HTTP server/client
48
+ - **encoding/json**: JSON marshaling
49
+ - **context**: Context propagation
50
+
51
+ **Go Patterns**:
52
+ - Interfaces for abstraction (small interfaces)
53
+ - Error handling with explicit returns
54
+ - Defer for cleanup
55
+ - Goroutines and channels for concurrency
56
+
57
+ **Best Practices**:
58
+ - File ≤300 LOC, function ≤50 LOC
59
+ - Exported names start with capital letters
60
+ - Error handling: `if err != nil { return err }`
61
+ - Avoid naked returns in large functions
62
+
63
+ ## Examples
64
+ ```bash
65
+ go test ./... && golangci-lint run
66
+ ```
67
+
68
+ ## Inputs
69
+ - Language-specific source directories (e.g. `src/`, `app/`).
70
+ - Language-specific build/test configuration files (e.g. `package.json`, `pyproject.toml`, `go.mod`).
71
+ - Relevant test suites and sample data.
72
+
73
+ ## Outputs
74
+ - Test/lint execution plan tailored to the selected language.
75
+ - List of key language idioms and review checkpoints.
76
+
77
+ ## Failure Modes
78
+ - When the language runtime or package manager is not installed.
79
+ - When the main language cannot be determined in a multilingual project.
80
+
81
+ ## Dependencies
82
+ - Access to the project file is required using the Read/Grep tool.
83
+ - When used with `Skill("moai-foundation-langs")`, it is easy to share cross-language conventions.
84
+
85
+ ## References
86
+ - The Go Authors. "Effective Go." https://go.dev/doc/effective_go (accessed 2025-03-29).
87
+ - GolangCI. "golangci-lint Documentation." https://golangci-lint.run/usage/quick-start/ (accessed 2025-03-29).
88
+
89
+ ## Changelog
90
+ - 2025-03-29: Input/output/failure response/reference information for each language has been specified.
91
+
92
+ ## Works well with
93
+
94
+ - alfred-trust-validation (coverage verification)
95
+ - alfred-code-reviewer (Go-specific review)
96
+ - alfred-performance-optimizer (Go profiling)
97
+
98
+ ## Best Practices
99
+ - Enable automatic validation by matching your linter with the language's official style guide.
100
+ - Fix test/build pipelines with reproducible commands in CI.
@@ -0,0 +1,100 @@
1
+ ---
2
+
3
+ name: moai-lang-haskell
4
+ description: Haskell best practices with HUnit, Stack/Cabal, and pure functional programming. Use when writing or reviewing Haskell code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # Haskell 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 | Haskell code discussions, framework guidance, or file extensions such as .hs. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides Haskell-specific expertise for TDD development, including HUnit testing, Stack/Cabal build tools, and pure functional programming with strong type safety.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references Haskell work, frameworks, or files like .hs.
27
+ - “Writing Haskell tests”, “How to use HUnit”, “Pure functional programming”
28
+ - Automatically invoked when working with Haskell projects
29
+ - Haskell SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **HUnit**: Unit testing framework
35
+ - **QuickCheck**: Property-based testing
36
+ - **Hspec**: BDD-style testing
37
+ - Test coverage with hpc
38
+
39
+ **Build Tools**:
40
+ - **Stack**: Reproducible builds, dependency resolution
41
+ - **Cabal**: Haskell package system
42
+ - **hpack**: Alternative package description
43
+
44
+ **Code Quality**:
45
+ - **hlint**: Haskell linter
46
+ - **stylish-haskell**: Code formatting
47
+ - **GHC warnings**: Compiler-level checks
48
+
49
+ **Functional Programming**:
50
+ - **Pure functions**: No side effects
51
+ - **Monads**: IO, Maybe, Either, State
52
+ - **Functors/Applicatives**: Abstraction patterns
53
+ - **Type classes**: Polymorphism
54
+ - **Lazy evaluation**: Infinite data structures
55
+
56
+ **Best Practices**:
57
+ - File ≤300 LOC, function ≤50 LOC
58
+ - Prefer total functions (avoid partial)
59
+ - Type-driven development
60
+ - Point-free style (when readable)
61
+ - Avoid do-notation overuse
62
+
63
+ ## Examples
64
+ ```bash
65
+ cabal test && hlint src
66
+ ```
67
+
68
+ ## Inputs
69
+ - Language-specific source directories (e.g. `src/`, `app/`).
70
+ - Language-specific build/test configuration files (e.g. `package.json`, `pyproject.toml`, `go.mod`).
71
+ - Relevant test suites and sample data.
72
+
73
+ ## Outputs
74
+ - Test/lint execution plan tailored to the selected language.
75
+ - List of key language idioms and review checkpoints.
76
+
77
+ ## Failure Modes
78
+ - When the language runtime or package manager is not installed.
79
+ - When the main language cannot be determined in a multilingual project.
80
+
81
+ ## Dependencies
82
+ - Access to the project file is required using the Read/Grep tool.
83
+ - When used with `Skill("moai-foundation-langs")`, it is easy to share cross-language conventions.
84
+
85
+ ## References
86
+ - Haskell.org. "Haskell Language Documentation." https://www.haskell.org/documentation/ (accessed 2025-03-29).
87
+ - GitHub. "HLint." https://github.com/ndmitchell/hlint (accessed 2025-03-29).
88
+
89
+ ## Changelog
90
+ - 2025-03-29: Input/output/failure response/reference information for each language has been specified.
91
+
92
+ ## Works well with
93
+
94
+ - alfred-trust-validation (coverage verification)
95
+ - alfred-code-reviewer (Haskell-specific review)
96
+ - alfred-refactoring-coach (functional refactoring)
97
+
98
+ ## Best Practices
99
+ - Enable automatic validation by matching your linter with the language's official style guide.
100
+ - Fix test/build pipelines with reproducible commands in CI.
@@ -0,0 +1,98 @@
1
+ ---
2
+
3
+ name: moai-lang-java
4
+ description: Java best practices with JUnit, Maven/Gradle, Checkstyle, and Spring Boot patterns. Use when writing or reviewing Java code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # Java 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 | Java code discussions, framework guidance, or file extensions such as .java. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides Java-specific expertise for TDD development, including JUnit testing, Maven/Gradle build tools, Checkstyle linting, and Spring Boot patterns.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references Java work, frameworks, or files like .java.
27
+ - “Writing Java tests”, “How to use JUnit”, “Spring Boot patterns”
28
+ - Automatically invoked when working with Java projects
29
+ - Java SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **JUnit 5**: Unit testing with annotations (@Test, @BeforeEach)
35
+ - **Mockito**: Mocking framework for dependencies
36
+ - **AssertJ**: Fluent assertion library
37
+ - Test coverage ≥85% with JaCoCo
38
+
39
+ **Build Tools**:
40
+ - **Maven**: pom.xml, dependency management
41
+ - **Gradle**: build.gradle, Kotlin DSL support
42
+ - Multi-module project structures
43
+
44
+ **Code Quality**:
45
+ - **Checkstyle**: Java style checker (Google/Sun conventions)
46
+ - **PMD**: Static code analysis
47
+ - **SpotBugs**: Bug detection
48
+
49
+ **Spring Boot Patterns**:
50
+ - Dependency Injection (@Autowired, @Component)
51
+ - REST controllers (@RestController, @RequestMapping)
52
+ - Service layer separation (@Service, @Repository)
53
+ - Configuration properties (@ConfigurationProperties)
54
+
55
+ **Best Practices**:
56
+ - File ≤300 LOC, method ≤50 LOC
57
+ - Interfaces for abstraction
58
+ - Builder pattern for complex objects
59
+ - Exception handling with custom exceptions
60
+
61
+ ## Examples
62
+ ```bash
63
+ ./mvnw test && ./mvnw checkstyle:check
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
+ - Oracle. "Java Language Specification." https://docs.oracle.com/javase/specs/ (accessed 2025-03-29).
85
+ - JUnit. "JUnit 5 User Guide." https://junit.org/junit5/docs/current/user-guide/ (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 (Java-specific review)
94
+ - database-expert (JPA/Hibernate patterns)
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-javascript
4
+ description: JavaScript best practices with Jest, ESLint, Prettier, and npm package management. Use when writing or reviewing JavaScript code in project workflows.
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ ---
9
+
10
+ # JavaScript 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 | JavaScript code discussions, framework guidance, or file extensions such as .js. |
18
+ | Tier | 3 |
19
+
20
+ ## What it does
21
+
22
+ Provides JavaScript-specific expertise for TDD development, including Jest testing, ESLint linting, Prettier formatting, and npm package management.
23
+
24
+ ## When to use
25
+
26
+ - Engages when the conversation references JavaScript work, frameworks, or files like .js.
27
+ - "Writing JavaScript tests", "How to use Jest", "ES6+ grammar"
28
+ - Automatically invoked when working with JavaScript projects
29
+ - JavaScript SPEC implementation (`/alfred:2-run`)
30
+
31
+ ## How it works
32
+
33
+ **TDD Framework**:
34
+ - **Jest**: Unit testing with mocking, snapshots
35
+ - **@testing-library**: DOM/React testing
36
+ - Test coverage ≥85% enforcement
37
+
38
+ **Code Quality**:
39
+ - **ESLint**: JavaScript linting with recommended rules
40
+ - **Prettier**: Code formatting (opinionated)
41
+ - **JSDoc**: Type hints via comments (for type safety)
42
+
43
+ **Package Management**:
44
+ - **npm**: Standard package manager
45
+ - **package.json** for dependencies and scripts
46
+ - Semantic versioning
47
+
48
+ **Modern JavaScript**:
49
+ - ES6+ features (arrow functions, destructuring, spread/rest)
50
+ - Async/await over callbacks
51
+ - Module imports (ESM) over CommonJS
52
+
53
+ **Best Practices**:
54
+ - File ≤300 LOC, function ≤50 LOC
55
+ - Prefer `const` over `let`, avoid `var`
56
+ - Guard clauses for early returns
57
+ - Meaningful names, avoid abbreviations
58
+
59
+ ## Examples
60
+ ```bash
61
+ npm run test && npm run lint
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
+ - MDN Web Docs. "JavaScript Guide." https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide (accessed 2025-03-29).
83
+ - Jest. "Getting Started." https://jestjs.io/docs/getting-started (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 (JavaScript-specific review)
92
+ - alfred-debugger-pro (JavaScript 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.