moai-adk 0.3.13__py3-none-any.whl → 0.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of moai-adk might be problematic. Click here for more details.
- moai_adk/__init__.py +8 -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/status.py +1 -1
- moai_adk/cli/commands/update.py +136 -90
- moai_adk/cli/prompts/init_prompts.py +1 -1
- moai_adk/core/__init__.py +1 -1
- moai_adk/core/git/branch.py +1 -1
- moai_adk/core/git/manager.py +1 -1
- 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 +2 -1
- moai_adk/core/template/config.py +24 -0
- moai_adk/core/template/languages.py +1 -1
- moai_adk/core/template/merger.py +58 -1
- moai_adk/core/template/processor.py +41 -12
- moai_adk/templates/.claude/agents/alfred/cc-manager.md +558 -3
- moai_adk/templates/.claude/commands/alfred/0-project.md +480 -12
- moai_adk/templates/.claude/commands/alfred/1-plan.md +563 -0
- moai_adk/templates/.claude/commands/alfred/1-spec.md +15 -516
- moai_adk/templates/.claude/commands/alfred/2-build.md +15 -417
- moai_adk/templates/.claude/commands/alfred/2-run.md +460 -0
- moai_adk/templates/.claude/hooks/alfred/handlers/session.py +10 -31
- moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-claude-code/examples.md +513 -0
- moai_adk/templates/.claude/skills/moai-claude-code/reference.md +419 -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 +349 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +552 -0
- moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +499 -0
- moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +64 -0
- moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +69 -0
- moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +69 -0
- moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +62 -0
- moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +74 -0
- moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +59 -0
- moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +76 -0
- moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +61 -0
- moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +63 -0
- moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +64 -0
- moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +61 -0
- moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +54 -0
- moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +46 -0
- moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +69 -0
- moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +64 -0
- moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +65 -0
- moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +65 -0
- moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +64 -0
- moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +66 -0
- moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +68 -0
- moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +67 -0
- moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +64 -0
- moai_adk/templates/.claude/skills/scripts/standardize_skills.py +166 -0
- moai_adk/templates/.claude/skills/scripts/verify_standardization.sh +43 -0
- moai_adk/templates/CLAUDE.md +153 -0
- 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.3.13.dist-info → moai_adk-0.4.0.dist-info}/METADATA +231 -1
- moai_adk-0.4.0.dist-info/RECORD +145 -0
- moai_adk-0.3.13.dist-info/RECORD +0 -90
- {moai_adk-0.3.13.dist-info → moai_adk-0.4.0.dist-info}/WHEEL +0 -0
- {moai_adk-0.3.13.dist-info → moai_adk-0.4.0.dist-info}/entry_points.txt +0 -0
- {moai_adk-0.3.13.dist-info → moai_adk-0.4.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-lang-dart
|
|
3
|
+
description: Dart best practices with flutter test, dart analyze, and Flutter widget
|
|
4
|
+
patterns
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Dart Expert
|
|
11
|
+
|
|
12
|
+
## What it does
|
|
13
|
+
|
|
14
|
+
Provides Dart-specific expertise for TDD development, including flutter test framework, dart analyze linting, and Flutter widget patterns for cross-platform app development.
|
|
15
|
+
|
|
16
|
+
## When to use
|
|
17
|
+
|
|
18
|
+
- "Dart 테스트 작성", "Flutter 위젯 패턴", "flutter test 사용법"
|
|
19
|
+
- Automatically invoked when working with Dart/Flutter projects
|
|
20
|
+
- Dart SPEC implementation (`/alfred:2-build`)
|
|
21
|
+
|
|
22
|
+
## How it works
|
|
23
|
+
|
|
24
|
+
**TDD Framework**:
|
|
25
|
+
- **flutter test**: Built-in test framework
|
|
26
|
+
- **mockito**: Mocking library for Dart
|
|
27
|
+
- **Widget testing**: Test Flutter widgets
|
|
28
|
+
- Test coverage with `flutter test --coverage`
|
|
29
|
+
|
|
30
|
+
**Code Quality**:
|
|
31
|
+
- **dart analyze**: Static analysis tool
|
|
32
|
+
- **dart format**: Code formatting
|
|
33
|
+
- **very_good_analysis**: Strict lint rules
|
|
34
|
+
|
|
35
|
+
**Package Management**:
|
|
36
|
+
- **pub**: Package manager (pub.dev)
|
|
37
|
+
- **pubspec.yaml**: Dependency configuration
|
|
38
|
+
- Flutter SDK version management
|
|
39
|
+
|
|
40
|
+
**Flutter Patterns**:
|
|
41
|
+
- **StatelessWidget/StatefulWidget**: UI components
|
|
42
|
+
- **Provider/Riverpod**: State management
|
|
43
|
+
- **BLoC**: Business logic separation
|
|
44
|
+
- **Navigator**: Routing and navigation
|
|
45
|
+
|
|
46
|
+
**Best Practices**:
|
|
47
|
+
- File ≤300 LOC, function ≤50 LOC
|
|
48
|
+
- Prefer `const` constructors for immutable widgets
|
|
49
|
+
- Use `final` for immutable fields
|
|
50
|
+
- Widget composition over inheritance
|
|
51
|
+
|
|
52
|
+
## Examples
|
|
53
|
+
|
|
54
|
+
### Example 1: TDD with flutter test
|
|
55
|
+
User: "/alfred:2-build UI-001"
|
|
56
|
+
Claude: (creates RED widget test, GREEN implementation, REFACTOR with const)
|
|
57
|
+
|
|
58
|
+
### Example 2: Static analysis
|
|
59
|
+
User: "dart analyze 실행"
|
|
60
|
+
Claude: (runs dart analyze and reports issues)
|
|
61
|
+
|
|
62
|
+
## Works well with
|
|
63
|
+
|
|
64
|
+
- alfred-trust-validation (coverage verification)
|
|
65
|
+
- alfred-code-reviewer (Dart-specific review)
|
|
66
|
+
- mobile-app-expert (Flutter app development)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-lang-elixir
|
|
3
|
+
description: Elixir best practices with ExUnit, Mix, and OTP patterns
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Elixir Expert
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
|
|
13
|
+
Provides Elixir-specific expertise for TDD development, including ExUnit testing, Mix build tool, and OTP (Open Telecom Platform) patterns for concurrent systems.
|
|
14
|
+
|
|
15
|
+
## When to use
|
|
16
|
+
|
|
17
|
+
- "Elixir 테스트 작성", "ExUnit 사용법", "OTP 패턴"
|
|
18
|
+
- Automatically invoked when working with Elixir/Phoenix projects
|
|
19
|
+
- Elixir SPEC implementation (`/alfred:2-build`)
|
|
20
|
+
|
|
21
|
+
## How it works
|
|
22
|
+
|
|
23
|
+
**TDD Framework**:
|
|
24
|
+
- **ExUnit**: Built-in test framework
|
|
25
|
+
- **Mox**: Mocking library
|
|
26
|
+
- **StreamData**: Property-based testing
|
|
27
|
+
- Test coverage with `mix test --cover`
|
|
28
|
+
|
|
29
|
+
**Build Tools**:
|
|
30
|
+
- **Mix**: Build tool and project manager
|
|
31
|
+
- **mix.exs**: Project configuration
|
|
32
|
+
- **Hex**: Package manager
|
|
33
|
+
|
|
34
|
+
**Code Quality**:
|
|
35
|
+
- **Credo**: Static code analysis
|
|
36
|
+
- **Dialyzer**: Type checking
|
|
37
|
+
- **mix format**: Code formatting
|
|
38
|
+
|
|
39
|
+
**OTP Patterns**:
|
|
40
|
+
- **GenServer**: Generic server behavior
|
|
41
|
+
- **Supervisor**: Process supervision
|
|
42
|
+
- **Application**: Application behavior
|
|
43
|
+
- **Task**: Async/await operations
|
|
44
|
+
|
|
45
|
+
**Best Practices**:
|
|
46
|
+
- File ≤300 LOC, function ≤50 LOC
|
|
47
|
+
- Pattern matching over conditionals
|
|
48
|
+
- Pipe operator (|>) for data transformations
|
|
49
|
+
- Immutable data structures
|
|
50
|
+
- "Let it crash" philosophy with supervisors
|
|
51
|
+
|
|
52
|
+
## Examples
|
|
53
|
+
|
|
54
|
+
### Example 1: TDD with ExUnit
|
|
55
|
+
User: "/alfred:2-build SERVER-001"
|
|
56
|
+
Claude: (creates RED test with ExUnit, GREEN GenServer implementation, REFACTOR)
|
|
57
|
+
|
|
58
|
+
### Example 2: Credo analysis
|
|
59
|
+
User: "Credo 분석 실행"
|
|
60
|
+
Claude: (runs mix credo --strict and reports issues)
|
|
61
|
+
|
|
62
|
+
## Works well with
|
|
63
|
+
|
|
64
|
+
- alfred-trust-validation (coverage verification)
|
|
65
|
+
- alfred-code-reviewer (Elixir-specific review)
|
|
66
|
+
- web-api-expert (Phoenix API development)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-lang-go
|
|
3
|
+
description: Go best practices with go test, golint, gofmt, and standard library utilization
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Go Expert
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
|
|
13
|
+
Provides Go-specific expertise for TDD development, including go test framework, golint/staticcheck, gofmt formatting, and effective standard library usage.
|
|
14
|
+
|
|
15
|
+
## When to use
|
|
16
|
+
|
|
17
|
+
- "Go 테스트 작성", "go test 사용법", "Go 표준 라이브러리"
|
|
18
|
+
- Automatically invoked when working with Go projects
|
|
19
|
+
- Go SPEC implementation (`/alfred:2-build`)
|
|
20
|
+
|
|
21
|
+
## How it works
|
|
22
|
+
|
|
23
|
+
**TDD Framework**:
|
|
24
|
+
- **go test**: Built-in testing framework
|
|
25
|
+
- **Table-driven tests**: Structured test cases
|
|
26
|
+
- **testify/assert**: Optional assertion library
|
|
27
|
+
- Test coverage ≥85% with `go test -cover`
|
|
28
|
+
|
|
29
|
+
**Code Quality**:
|
|
30
|
+
- **gofmt**: Automatic code formatting
|
|
31
|
+
- **golint**: Go linter (deprecated, use staticcheck)
|
|
32
|
+
- **staticcheck**: Advanced static analysis
|
|
33
|
+
- **go vet**: Built-in error detection
|
|
34
|
+
|
|
35
|
+
**Standard Library**:
|
|
36
|
+
- Use standard library first before external dependencies
|
|
37
|
+
- **net/http**: HTTP server/client
|
|
38
|
+
- **encoding/json**: JSON marshaling
|
|
39
|
+
- **context**: Context propagation
|
|
40
|
+
|
|
41
|
+
**Go Patterns**:
|
|
42
|
+
- Interfaces for abstraction (small interfaces)
|
|
43
|
+
- Error handling with explicit returns
|
|
44
|
+
- Defer for cleanup
|
|
45
|
+
- Goroutines and channels for concurrency
|
|
46
|
+
|
|
47
|
+
**Best Practices**:
|
|
48
|
+
- File ≤300 LOC, function ≤50 LOC
|
|
49
|
+
- Exported names start with capital letters
|
|
50
|
+
- Error handling: `if err != nil { return err }`
|
|
51
|
+
- Avoid naked returns in large functions
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
### Example 1: TDD with table-driven tests
|
|
56
|
+
User: "/alfred:2-build PARSE-001"
|
|
57
|
+
Claude: (creates RED test with table-driven approach, GREEN implementation, REFACTOR)
|
|
58
|
+
|
|
59
|
+
### Example 2: Coverage check
|
|
60
|
+
User: "go test 커버리지 확인"
|
|
61
|
+
Claude: (runs go test -cover ./... and reports coverage)
|
|
62
|
+
|
|
63
|
+
## Works well with
|
|
64
|
+
|
|
65
|
+
- alfred-trust-validation (coverage verification)
|
|
66
|
+
- alfred-code-reviewer (Go-specific review)
|
|
67
|
+
- alfred-performance-optimizer (Go profiling)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-lang-haskell
|
|
3
|
+
description: Haskell best practices with HUnit, Stack/Cabal, and pure functional programming
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Haskell Expert
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
|
|
13
|
+
Provides Haskell-specific expertise for TDD development, including HUnit testing, Stack/Cabal build tools, and pure functional programming with strong type safety.
|
|
14
|
+
|
|
15
|
+
## When to use
|
|
16
|
+
|
|
17
|
+
- "Haskell 테스트 작성", "HUnit 사용법", "순수 함수형 프로그래밍"
|
|
18
|
+
- Automatically invoked when working with Haskell projects
|
|
19
|
+
- Haskell SPEC implementation (`/alfred:2-build`)
|
|
20
|
+
|
|
21
|
+
## How it works
|
|
22
|
+
|
|
23
|
+
**TDD Framework**:
|
|
24
|
+
- **HUnit**: Unit testing framework
|
|
25
|
+
- **QuickCheck**: Property-based testing
|
|
26
|
+
- **Hspec**: BDD-style testing
|
|
27
|
+
- Test coverage with hpc
|
|
28
|
+
|
|
29
|
+
**Build Tools**:
|
|
30
|
+
- **Stack**: Reproducible builds, dependency resolution
|
|
31
|
+
- **Cabal**: Haskell package system
|
|
32
|
+
- **hpack**: Alternative package description
|
|
33
|
+
|
|
34
|
+
**Code Quality**:
|
|
35
|
+
- **hlint**: Haskell linter
|
|
36
|
+
- **stylish-haskell**: Code formatting
|
|
37
|
+
- **GHC warnings**: Compiler-level checks
|
|
38
|
+
|
|
39
|
+
**Functional Programming**:
|
|
40
|
+
- **Pure functions**: No side effects
|
|
41
|
+
- **Monads**: IO, Maybe, Either, State
|
|
42
|
+
- **Functors/Applicatives**: Abstraction patterns
|
|
43
|
+
- **Type classes**: Polymorphism
|
|
44
|
+
- **Lazy evaluation**: Infinite data structures
|
|
45
|
+
|
|
46
|
+
**Best Practices**:
|
|
47
|
+
- File ≤300 LOC, function ≤50 LOC
|
|
48
|
+
- Prefer total functions (avoid partial)
|
|
49
|
+
- Type-driven development
|
|
50
|
+
- Point-free style (when readable)
|
|
51
|
+
- Avoid do-notation overuse
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
### Example 1: TDD with HUnit
|
|
56
|
+
User: "/alfred:2-build PARSE-001"
|
|
57
|
+
Claude: (creates RED test with HUnit, GREEN implementation with pure functions, REFACTOR)
|
|
58
|
+
|
|
59
|
+
### Example 2: Property testing
|
|
60
|
+
User: "QuickCheck 속성 테스트"
|
|
61
|
+
Claude: (creates property-based tests for invariants)
|
|
62
|
+
|
|
63
|
+
## Works well with
|
|
64
|
+
|
|
65
|
+
- alfred-trust-validation (coverage verification)
|
|
66
|
+
- alfred-code-reviewer (Haskell-specific review)
|
|
67
|
+
- alfred-refactoring-coach (functional refactoring)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-lang-java
|
|
3
|
+
description: Java best practices with JUnit, Maven/Gradle, Checkstyle, and Spring
|
|
4
|
+
Boot patterns
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Java Expert
|
|
11
|
+
|
|
12
|
+
## What it does
|
|
13
|
+
|
|
14
|
+
Provides Java-specific expertise for TDD development, including JUnit testing, Maven/Gradle build tools, Checkstyle linting, and Spring Boot patterns.
|
|
15
|
+
|
|
16
|
+
## When to use
|
|
17
|
+
|
|
18
|
+
- "Java 테스트 작성", "JUnit 사용법", "Spring Boot 패턴"
|
|
19
|
+
- Automatically invoked when working with Java projects
|
|
20
|
+
- Java SPEC implementation (`/alfred:2-build`)
|
|
21
|
+
|
|
22
|
+
## How it works
|
|
23
|
+
|
|
24
|
+
**TDD Framework**:
|
|
25
|
+
- **JUnit 5**: Unit testing with annotations (@Test, @BeforeEach)
|
|
26
|
+
- **Mockito**: Mocking framework for dependencies
|
|
27
|
+
- **AssertJ**: Fluent assertion library
|
|
28
|
+
- Test coverage ≥85% with JaCoCo
|
|
29
|
+
|
|
30
|
+
**Build Tools**:
|
|
31
|
+
- **Maven**: pom.xml, dependency management
|
|
32
|
+
- **Gradle**: build.gradle, Kotlin DSL support
|
|
33
|
+
- Multi-module project structures
|
|
34
|
+
|
|
35
|
+
**Code Quality**:
|
|
36
|
+
- **Checkstyle**: Java style checker (Google/Sun conventions)
|
|
37
|
+
- **PMD**: Static code analysis
|
|
38
|
+
- **SpotBugs**: Bug detection
|
|
39
|
+
|
|
40
|
+
**Spring Boot Patterns**:
|
|
41
|
+
- Dependency Injection (@Autowired, @Component)
|
|
42
|
+
- REST controllers (@RestController, @RequestMapping)
|
|
43
|
+
- Service layer separation (@Service, @Repository)
|
|
44
|
+
- Configuration properties (@ConfigurationProperties)
|
|
45
|
+
|
|
46
|
+
**Best Practices**:
|
|
47
|
+
- File ≤300 LOC, method ≤50 LOC
|
|
48
|
+
- Interfaces for abstraction
|
|
49
|
+
- Builder pattern for complex objects
|
|
50
|
+
- Exception handling with custom exceptions
|
|
51
|
+
|
|
52
|
+
## Examples
|
|
53
|
+
|
|
54
|
+
### Example 1: TDD with JUnit
|
|
55
|
+
User: "/alfred:2-build SERVICE-001"
|
|
56
|
+
Claude: (creates RED test with JUnit 5, GREEN implementation, REFACTOR with interfaces)
|
|
57
|
+
|
|
58
|
+
### Example 2: Build execution
|
|
59
|
+
User: "Maven 빌드 실행"
|
|
60
|
+
Claude: (runs mvn clean test and reports results)
|
|
61
|
+
|
|
62
|
+
## Works well with
|
|
63
|
+
|
|
64
|
+
- alfred-trust-validation (coverage verification)
|
|
65
|
+
- alfred-code-reviewer (Java-specific review)
|
|
66
|
+
- database-expert (JPA/Hibernate patterns)
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-lang-javascript
|
|
3
|
+
description: JavaScript best practices with Jest, ESLint, Prettier, and npm package
|
|
4
|
+
management
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# JavaScript Expert
|
|
11
|
+
|
|
12
|
+
## What it does
|
|
13
|
+
|
|
14
|
+
Provides JavaScript-specific expertise for TDD development, including Jest testing, ESLint linting, Prettier formatting, and npm package management.
|
|
15
|
+
|
|
16
|
+
## When to use
|
|
17
|
+
|
|
18
|
+
- "JavaScript 테스트 작성", "Jest 사용법", "ES6+ 문법"
|
|
19
|
+
- Automatically invoked when working with JavaScript projects
|
|
20
|
+
- JavaScript SPEC implementation (`/alfred:2-build`)
|
|
21
|
+
|
|
22
|
+
## How it works
|
|
23
|
+
|
|
24
|
+
**TDD Framework**:
|
|
25
|
+
- **Jest**: Unit testing with mocking, snapshots
|
|
26
|
+
- **@testing-library**: DOM/React testing
|
|
27
|
+
- Test coverage ≥85% enforcement
|
|
28
|
+
|
|
29
|
+
**Code Quality**:
|
|
30
|
+
- **ESLint**: JavaScript linting with recommended rules
|
|
31
|
+
- **Prettier**: Code formatting (opinionated)
|
|
32
|
+
- **JSDoc**: Type hints via comments (for type safety)
|
|
33
|
+
|
|
34
|
+
**Package Management**:
|
|
35
|
+
- **npm**: Standard package manager
|
|
36
|
+
- **package.json** for dependencies and scripts
|
|
37
|
+
- Semantic versioning
|
|
38
|
+
|
|
39
|
+
**Modern JavaScript**:
|
|
40
|
+
- ES6+ features (arrow functions, destructuring, spread/rest)
|
|
41
|
+
- Async/await over callbacks
|
|
42
|
+
- Module imports (ESM) over CommonJS
|
|
43
|
+
|
|
44
|
+
**Best Practices**:
|
|
45
|
+
- File ≤300 LOC, function ≤50 LOC
|
|
46
|
+
- Prefer `const` over `let`, avoid `var`
|
|
47
|
+
- Guard clauses for early returns
|
|
48
|
+
- Meaningful names, avoid abbreviations
|
|
49
|
+
|
|
50
|
+
## Examples
|
|
51
|
+
|
|
52
|
+
### Example 1: TDD with Jest
|
|
53
|
+
User: "/alfred:2-build API-001"
|
|
54
|
+
Claude: (creates RED test with Jest, GREEN implementation, REFACTOR with JSDoc)
|
|
55
|
+
|
|
56
|
+
### Example 2: Linting
|
|
57
|
+
User: "ESLint 실행"
|
|
58
|
+
Claude: (runs eslint . and reports linting errors)
|
|
59
|
+
|
|
60
|
+
## Works well with
|
|
61
|
+
|
|
62
|
+
- alfred-trust-validation (coverage verification)
|
|
63
|
+
- alfred-code-reviewer (JavaScript-specific review)
|
|
64
|
+
- alfred-debugger-pro (JavaScript debugging)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-lang-julia
|
|
3
|
+
description: Julia best practices with Test stdlib, Pkg manager, and scientific computing
|
|
4
|
+
patterns
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Julia Expert
|
|
11
|
+
|
|
12
|
+
## What it does
|
|
13
|
+
|
|
14
|
+
Provides Julia-specific expertise for TDD development, including Test standard library, Pkg package manager, and high-performance scientific computing patterns.
|
|
15
|
+
|
|
16
|
+
## When to use
|
|
17
|
+
|
|
18
|
+
- "Julia 테스트 작성", "Test stdlib 사용법", "과학 컴퓨팅"
|
|
19
|
+
- Automatically invoked when working with Julia projects
|
|
20
|
+
- Julia SPEC implementation (`/alfred:2-build`)
|
|
21
|
+
|
|
22
|
+
## How it works
|
|
23
|
+
|
|
24
|
+
**TDD Framework**:
|
|
25
|
+
- **Test**: Built-in testing library (@test, @testset)
|
|
26
|
+
- **Coverage.jl**: Test coverage analysis
|
|
27
|
+
- **BenchmarkTools.jl**: Performance benchmarking
|
|
28
|
+
|
|
29
|
+
**Package Management**:
|
|
30
|
+
- **Pkg**: Built-in package manager
|
|
31
|
+
- **Project.toml**: Package configuration
|
|
32
|
+
- **Manifest.toml**: Dependency lock file
|
|
33
|
+
|
|
34
|
+
**Code Quality**:
|
|
35
|
+
- **JuliaFormatter.jl**: Code formatting
|
|
36
|
+
- **Lint.jl**: Static analysis
|
|
37
|
+
- **JET.jl**: Type inference analysis
|
|
38
|
+
|
|
39
|
+
**Scientific Computing**:
|
|
40
|
+
- **Multiple dispatch**: Method specialization on argument types
|
|
41
|
+
- **Type stability**: Performance optimization
|
|
42
|
+
- **Broadcasting**: Element-wise operations (. syntax)
|
|
43
|
+
- **Linear algebra**: Built-in BLAS/LAPACK
|
|
44
|
+
|
|
45
|
+
**Best Practices**:
|
|
46
|
+
- File ≤300 LOC, function ≤50 LOC
|
|
47
|
+
- Type annotations for performance-critical code
|
|
48
|
+
- Prefer abstract types for function arguments
|
|
49
|
+
- Use @inbounds for performance (after bounds checking)
|
|
50
|
+
- Profile before optimizing
|
|
51
|
+
|
|
52
|
+
## Examples
|
|
53
|
+
|
|
54
|
+
### Example 1: TDD with Test stdlib
|
|
55
|
+
User: "/alfred:2-build COMPUTE-001"
|
|
56
|
+
Claude: (creates RED test with @testset, GREEN implementation with type stability, REFACTOR)
|
|
57
|
+
|
|
58
|
+
### Example 2: Performance optimization
|
|
59
|
+
User: "Julia 성능 최적화"
|
|
60
|
+
Claude: (profiles code and suggests type-stable refactoring)
|
|
61
|
+
|
|
62
|
+
## Works well with
|
|
63
|
+
|
|
64
|
+
- alfred-trust-validation (coverage verification)
|
|
65
|
+
- alfred-code-reviewer (Julia-specific review)
|
|
66
|
+
- alfred-performance-optimizer (Julia profiling)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-lang-kotlin
|
|
3
|
+
description: Kotlin best practices with JUnit, Gradle, ktlint, coroutines, and extension
|
|
4
|
+
functions
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Kotlin Expert
|
|
11
|
+
|
|
12
|
+
## What it does
|
|
13
|
+
|
|
14
|
+
Provides Kotlin-specific expertise for TDD development, including JUnit testing, Gradle build system, ktlint linting, coroutines for concurrency, and extension functions.
|
|
15
|
+
|
|
16
|
+
## When to use
|
|
17
|
+
|
|
18
|
+
- "Kotlin 테스트 작성", "코루틴 사용법", "Android 패턴"
|
|
19
|
+
- Automatically invoked when working with Kotlin/Android projects
|
|
20
|
+
- Kotlin SPEC implementation (`/alfred:2-build`)
|
|
21
|
+
|
|
22
|
+
## How it works
|
|
23
|
+
|
|
24
|
+
**TDD Framework**:
|
|
25
|
+
- **JUnit 5**: Unit testing with Kotlin extensions
|
|
26
|
+
- **MockK**: Kotlin-friendly mocking library
|
|
27
|
+
- **Kotest**: Kotlin-native testing framework
|
|
28
|
+
- Test coverage ≥85% with JaCoCo
|
|
29
|
+
|
|
30
|
+
**Build Tools**:
|
|
31
|
+
- **Gradle**: build.gradle.kts with Kotlin DSL
|
|
32
|
+
- **Maven**: pom.xml alternative
|
|
33
|
+
- Multi-platform support (JVM, Native, JS)
|
|
34
|
+
|
|
35
|
+
**Code Quality**:
|
|
36
|
+
- **ktlint**: Kotlin linter with formatting
|
|
37
|
+
- **detekt**: Static code analysis
|
|
38
|
+
- **Android Lint**: Android-specific checks
|
|
39
|
+
|
|
40
|
+
**Kotlin Features**:
|
|
41
|
+
- **Coroutines**: Async programming with suspend functions
|
|
42
|
+
- **Extension functions**: Add methods to existing classes
|
|
43
|
+
- **Data classes**: Automatic equals/hashCode/toString
|
|
44
|
+
- **Null safety**: Non-nullable types by default
|
|
45
|
+
- **Smart casts**: Automatic type casting after checks
|
|
46
|
+
|
|
47
|
+
**Android Patterns**:
|
|
48
|
+
- **Jetpack Compose**: Declarative UI
|
|
49
|
+
- **ViewModel**: UI state management
|
|
50
|
+
- **Room**: Database abstraction
|
|
51
|
+
- **Retrofit**: Network requests
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
|
|
55
|
+
### Example 1: TDD with coroutines
|
|
56
|
+
User: "/alfred:2-build API-001"
|
|
57
|
+
Claude: (creates RED test with runTest, GREEN implementation with suspend functions, REFACTOR)
|
|
58
|
+
|
|
59
|
+
### Example 2: ktlint check
|
|
60
|
+
User: "ktlint 실행"
|
|
61
|
+
Claude: (runs ktlint and reports style violations)
|
|
62
|
+
|
|
63
|
+
## Works well with
|
|
64
|
+
|
|
65
|
+
- alfred-trust-validation (coverage verification)
|
|
66
|
+
- alfred-code-reviewer (Kotlin-specific review)
|
|
67
|
+
- mobile-app-expert (Android app development)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-lang-lua
|
|
3
|
+
description: Lua best practices with busted, luacheck, and embedded scripting patterns
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Lua Expert
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
|
|
13
|
+
Provides Lua-specific expertise for TDD development, including busted testing framework, luacheck linting, and embedded scripting patterns for game development and system configuration.
|
|
14
|
+
|
|
15
|
+
## When to use
|
|
16
|
+
|
|
17
|
+
- "Lua 테스트 작성", "busted 사용법", "임베디드 스크립팅"
|
|
18
|
+
- Automatically invoked when working with Lua projects
|
|
19
|
+
- Lua SPEC implementation (`/alfred:2-build`)
|
|
20
|
+
|
|
21
|
+
## How it works
|
|
22
|
+
|
|
23
|
+
**TDD Framework**:
|
|
24
|
+
- **busted**: Elegant Lua testing framework
|
|
25
|
+
- **luassert**: Assertion library
|
|
26
|
+
- **lua-coveralls**: Coverage reporting
|
|
27
|
+
- BDD-style test writing
|
|
28
|
+
|
|
29
|
+
**Code Quality**:
|
|
30
|
+
- **luacheck**: Lua linter and static analyzer
|
|
31
|
+
- **StyLua**: Code formatting
|
|
32
|
+
- **luadoc**: Documentation generation
|
|
33
|
+
|
|
34
|
+
**Package Management**:
|
|
35
|
+
- **LuaRocks**: Package manager
|
|
36
|
+
- **rockspec**: Package specification
|
|
37
|
+
|
|
38
|
+
**Lua Patterns**:
|
|
39
|
+
- **Tables**: Versatile data structure
|
|
40
|
+
- **Metatables**: Operator overloading
|
|
41
|
+
- **Closures**: Function factories
|
|
42
|
+
- **Coroutines**: Cooperative multitasking
|
|
43
|
+
|
|
44
|
+
**Best Practices**:
|
|
45
|
+
- File ≤300 LOC, function ≤50 LOC
|
|
46
|
+
- Use `local` for all variables
|
|
47
|
+
- Prefer tables over multiple return values
|
|
48
|
+
- Document public APIs
|
|
49
|
+
- Avoid global variables
|
|
50
|
+
|
|
51
|
+
## Examples
|
|
52
|
+
|
|
53
|
+
### Example 1: TDD with busted
|
|
54
|
+
User: "/alfred:2-build CONFIG-001"
|
|
55
|
+
Claude: (creates RED test with busted, GREEN implementation, REFACTOR with metatables)
|
|
56
|
+
|
|
57
|
+
### Example 2: Linting check
|
|
58
|
+
User: "luacheck 실행"
|
|
59
|
+
Claude: (runs luacheck and reports style violations)
|
|
60
|
+
|
|
61
|
+
## Works well with
|
|
62
|
+
|
|
63
|
+
- alfred-trust-validation (coverage verification)
|
|
64
|
+
- alfred-code-reviewer (Lua-specific review)
|
|
65
|
+
- cli-tool-expert (Lua scripting utilities)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: moai-lang-php
|
|
3
|
+
description: PHP best practices with PHPUnit, Composer, and PSR standards
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# PHP Expert
|
|
10
|
+
|
|
11
|
+
## What it does
|
|
12
|
+
|
|
13
|
+
Provides PHP-specific expertise for TDD development, including PHPUnit testing, Composer package management, and PSR (PHP Standards Recommendations) compliance.
|
|
14
|
+
|
|
15
|
+
## When to use
|
|
16
|
+
|
|
17
|
+
- "PHP 테스트 작성", "PHPUnit 사용법", "PSR 표준"
|
|
18
|
+
- Automatically invoked when working with PHP projects
|
|
19
|
+
- PHP SPEC implementation (`/alfred:2-build`)
|
|
20
|
+
|
|
21
|
+
## How it works
|
|
22
|
+
|
|
23
|
+
**TDD Framework**:
|
|
24
|
+
- **PHPUnit**: PHP testing framework
|
|
25
|
+
- **Mockery**: Mocking library
|
|
26
|
+
- **PHPSpec**: BDD-style testing (alternative)
|
|
27
|
+
- Test coverage with `phpunit --coverage-html`
|
|
28
|
+
|
|
29
|
+
**Code Quality**:
|
|
30
|
+
- **PHP_CodeSniffer**: PSR compliance checker
|
|
31
|
+
- **PHPStan**: Static analysis tool
|
|
32
|
+
- **PHP CS Fixer**: Code formatting
|
|
33
|
+
|
|
34
|
+
**Package Management**:
|
|
35
|
+
- **Composer**: Dependency management
|
|
36
|
+
- **composer.json**: Package configuration
|
|
37
|
+
- **Packagist**: Public package registry
|
|
38
|
+
|
|
39
|
+
**PSR Standards**:
|
|
40
|
+
- **PSR-1**: Basic coding standard
|
|
41
|
+
- **PSR-2/PSR-12**: Coding style guide
|
|
42
|
+
- **PSR-4**: Autoloading standard
|
|
43
|
+
- **PSR-7**: HTTP message interfaces
|
|
44
|
+
|
|
45
|
+
**Best Practices**:
|
|
46
|
+
- File ≤300 LOC, method ≤50 LOC
|
|
47
|
+
- Type declarations (PHP 7.4+)
|
|
48
|
+
- Namespaces for organization
|
|
49
|
+
- Dependency injection over global state
|
|
50
|
+
|
|
51
|
+
## Examples
|
|
52
|
+
|
|
53
|
+
### Example 1: TDD with PHPUnit
|
|
54
|
+
User: "/alfred:2-build SERVICE-001"
|
|
55
|
+
Claude: (creates RED test with PHPUnit, GREEN implementation, REFACTOR with types)
|
|
56
|
+
|
|
57
|
+
### Example 2: PSR compliance
|
|
58
|
+
User: "PSR 표준 확인"
|
|
59
|
+
Claude: (runs phpcs --standard=PSR12 and reports violations)
|
|
60
|
+
|
|
61
|
+
## Works well with
|
|
62
|
+
|
|
63
|
+
- alfred-trust-validation (coverage verification)
|
|
64
|
+
- alfred-code-reviewer (PHP-specific review)
|
|
65
|
+
- web-api-expert (Laravel/Symfony API development)
|