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.
- moai_adk/__init__.py +1 -1
- moai_adk/__main__.py +1 -1
- moai_adk/cli/commands/__init__.py +1 -1
- moai_adk/cli/commands/doctor.py +2 -2
- moai_adk/cli/commands/init.py +10 -5
- moai_adk/cli/commands/status.py +1 -1
- moai_adk/cli/commands/update.py +210 -8
- moai_adk/cli/prompts/init_prompts.py +15 -19
- moai_adk/core/__init__.py +1 -1
- moai_adk/core/diagnostics/slash_commands.py +1 -1
- moai_adk/core/git/branch.py +1 -1
- moai_adk/core/git/manager.py +1 -1
- moai_adk/core/project/backup_utils.py +1 -0
- moai_adk/core/project/phase_executor.py +3 -1
- moai_adk/core/project/validator.py +3 -2
- moai_adk/core/quality/__init__.py +1 -1
- moai_adk/core/quality/trust_checker.py +1 -1
- moai_adk/core/quality/validators/__init__.py +1 -1
- moai_adk/core/quality/validators/base_validator.py +1 -1
- moai_adk/core/template/__init__.py +1 -1
- moai_adk/core/template/backup.py +12 -3
- moai_adk/core/template/config.py +24 -0
- moai_adk/core/template/languages.py +1 -1
- moai_adk/core/template/merger.py +74 -4
- moai_adk/core/template/processor.py +62 -14
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +765 -191
- moai_adk/templates/.claude/agents/alfred/debug-helper.md +116 -103
- moai_adk/templates/.claude/agents/alfred/doc-syncer.md +130 -116
- moai_adk/templates/.claude/agents/alfred/git-manager.md +186 -174
- moai_adk/templates/.claude/agents/alfred/implementation-planner.md +227 -213
- moai_adk/templates/.claude/agents/alfred/project-manager.md +205 -125
- moai_adk/templates/.claude/agents/alfred/quality-gate.md +224 -209
- moai_adk/templates/.claude/agents/alfred/spec-builder.md +174 -160
- moai_adk/templates/.claude/agents/alfred/tag-agent.md +151 -139
- moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +209 -196
- moai_adk/templates/.claude/agents/alfred/trust-checker.md +247 -233
- moai_adk/templates/.claude/commands/alfred/0-project.md +856 -355
- moai_adk/templates/.claude/commands/alfred/1-plan.md +572 -0
- moai_adk/templates/.claude/commands/alfred/2-run.md +470 -0
- moai_adk/templates/.claude/commands/alfred/3-sync.md +366 -356
- moai_adk/templates/.claude/hooks/alfred/README.md +52 -52
- moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +44 -48
- moai_adk/templates/.claude/hooks/alfred/core/__init__.py +17 -17
- moai_adk/templates/.claude/hooks/alfred/core/checkpoint.py +59 -59
- moai_adk/templates/.claude/hooks/alfred/core/context.py +19 -19
- moai_adk/templates/.claude/hooks/alfred/core/project.py +52 -52
- moai_adk/templates/.claude/hooks/alfred/handlers/__init__.py +1 -1
- moai_adk/templates/.claude/hooks/alfred/handlers/notification.py +4 -4
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +30 -51
- moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +16 -17
- moai_adk/templates/.claude/hooks/alfred/handlers/user.py +11 -11
- moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +308 -307
- moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +297 -296
- moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +191 -190
- moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +112 -0
- moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +103 -0
- moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +103 -0
- moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +95 -0
- moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +105 -0
- moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +97 -0
- moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +97 -0
- moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +90 -0
- moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +87 -0
- moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +62 -0
- moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +94 -0
- moai_adk/templates/.claude/skills/moai-claude-code/examples.md +513 -0
- moai_adk/templates/.claude/skills/moai-claude-code/reference.md +433 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +332 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +384 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +363 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +595 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +496 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +95 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +98 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +100 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +100 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +93 -0
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +105 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +97 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +102 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +104 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +96 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +112 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +98 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +90 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +94 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +93 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +86 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +86 -0
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +100 -0
- moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +100 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +102 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +100 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +98 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +100 -0
- moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +100 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +98 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +96 -0
- moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +98 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +98 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +98 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +96 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +100 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +100 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +100 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +100 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +99 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +96 -0
- moai_adk/templates/.github/PULL_REQUEST_TEMPLATE.md +44 -43
- moai_adk/templates/.github/workflows/moai-gitflow.yml +36 -35
- moai_adk/templates/.moai/config.json +9 -6
- moai_adk/templates/.moai/memory/development-guide.md +220 -221
- moai_adk/templates/.moai/memory/gitflow-protection-policy.md +85 -85
- moai_adk/templates/.moai/memory/spec-metadata.md +149 -150
- moai_adk/templates/.moai/project/product.md +90 -90
- moai_adk/templates/.moai/project/structure.md +85 -85
- moai_adk/templates/.moai/project/tech.md +117 -117
- moai_adk/templates/CLAUDE.md +354 -573
- moai_adk/templates/__init__.py +1 -1
- moai_adk/utils/__init__.py +1 -1
- moai_adk/utils/banner.py +7 -7
- moai_adk/utils/logger.py +1 -1
- moai_adk-0.4.1.dist-info/METADATA +303 -0
- moai_adk-0.4.1.dist-info/RECORD +152 -0
- moai_adk/templates/.claude/commands/alfred/1-spec.md +0 -532
- moai_adk/templates/.claude/commands/alfred/2-build.md +0 -432
- moai_adk/templates/.moai/hooks/pre-push.sample +0 -88
- moai_adk-0.3.13.dist-info/METADATA +0 -1586
- moai_adk-0.3.13.dist-info/RECORD +0 -90
- {moai_adk-0.3.13.dist-info → moai_adk-0.4.1.dist-info}/WHEEL +0 -0
- {moai_adk-0.3.13.dist-info → moai_adk-0.4.1.dist-info}/entry_points.txt +0 -0
- {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.
|