context-first-cli 2.0.0 → 2.0.2
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.
- package/dist/templates/commands/en/engineer/pre-pr.md +55 -19
- package/dist/templates/commands/en/quality/metrics.md +34 -12
- package/dist/templates/commands/en/warm-up.md +12 -5
- package/dist/templates/commands/es/engineer/pre-pr.md +55 -19
- package/dist/templates/commands/es/quality/metrics.md +34 -12
- package/dist/templates/commands/es/warm-up.md +12 -5
- package/dist/templates/commands/pt-BR/engineer/pre-pr.md +52 -16
- package/dist/templates/commands/pt-BR/quality/metrics.md +32 -10
- package/dist/templates/commands/pt-BR/warm-up.md +12 -5
- package/package.json +1 -1
- package/templates/commands/en/engineer/pre-pr.md +55 -19
- package/templates/commands/en/quality/metrics.md +34 -12
- package/templates/commands/en/warm-up.md +12 -5
- package/templates/commands/es/engineer/pre-pr.md +55 -19
- package/templates/commands/es/quality/metrics.md +34 -12
- package/templates/commands/es/warm-up.md +12 -5
- package/templates/commands/pt-BR/engineer/pre-pr.md +52 -16
- package/templates/commands/pt-BR/quality/metrics.md +32 -10
- package/templates/commands/pt-BR/warm-up.md +12 -5
|
@@ -30,19 +30,36 @@ Ensure that the implementation is complete, tested, and ready for review before
|
|
|
30
30
|
For each modified repository:
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
cd <
|
|
33
|
+
cd <repository>
|
|
34
34
|
|
|
35
35
|
# Check status
|
|
36
36
|
git status
|
|
37
37
|
|
|
38
|
-
# Check linting
|
|
39
|
-
npm run lint
|
|
40
|
-
|
|
41
|
-
#
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
#
|
|
45
|
-
|
|
38
|
+
# Check linting (examples by stack):
|
|
39
|
+
# Node.js: npm run lint / yarn lint / pnpm lint
|
|
40
|
+
# Python: flake8 . / pylint src/ / black --check .
|
|
41
|
+
# Java: mvn checkstyle:check / gradle check
|
|
42
|
+
# Go: golangci-lint run / go vet ./...
|
|
43
|
+
# Ruby: rubocop
|
|
44
|
+
# Rust: cargo clippy
|
|
45
|
+
# PHP: ./vendor/bin/phpcs
|
|
46
|
+
# C#: dotnet format --verify-no-changes
|
|
47
|
+
|
|
48
|
+
# Check formatting (examples by stack):
|
|
49
|
+
# Node.js: npm run format:check / prettier --check .
|
|
50
|
+
# Python: black --check . / autopep8 --diff .
|
|
51
|
+
# Java: mvn formatter:validate
|
|
52
|
+
# Go: gofmt -l . / go fmt ./...
|
|
53
|
+
# Ruby: rubocop --format-only
|
|
54
|
+
# Rust: cargo fmt --check
|
|
55
|
+
|
|
56
|
+
# Check build (examples by stack):
|
|
57
|
+
# Node.js: npm run build / yarn build
|
|
58
|
+
# Python: python setup.py build
|
|
59
|
+
# Java: mvn compile / gradle build
|
|
60
|
+
# Go: go build ./...
|
|
61
|
+
# Ruby: rake build
|
|
62
|
+
# Rust: cargo build
|
|
46
63
|
```
|
|
47
64
|
|
|
48
65
|
Checklist:
|
|
@@ -67,16 +84,35 @@ Checklist:
|
|
|
67
84
|
For each repository:
|
|
68
85
|
|
|
69
86
|
```bash
|
|
70
|
-
cd <
|
|
71
|
-
|
|
72
|
-
# Run unit tests
|
|
73
|
-
npm run test:unit
|
|
74
|
-
|
|
75
|
-
#
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
#
|
|
79
|
-
|
|
87
|
+
cd <repository>
|
|
88
|
+
|
|
89
|
+
# Run unit tests (examples by stack):
|
|
90
|
+
# Node.js: npm run test:unit / jest / vitest
|
|
91
|
+
# Python: pytest tests/unit / python -m unittest
|
|
92
|
+
# Java: mvn test / gradle test
|
|
93
|
+
# Go: go test ./... -short
|
|
94
|
+
# Ruby: rspec spec/unit / rake test:unit
|
|
95
|
+
# Rust: cargo test --lib
|
|
96
|
+
# PHP: ./vendor/bin/phpunit --testsuite=unit
|
|
97
|
+
# C#: dotnet test --filter Category=Unit
|
|
98
|
+
|
|
99
|
+
# Run integration tests (examples by stack):
|
|
100
|
+
# Node.js: npm run test:integration
|
|
101
|
+
# Python: pytest tests/integration
|
|
102
|
+
# Java: mvn verify / gradle integrationTest
|
|
103
|
+
# Go: go test ./... -run Integration
|
|
104
|
+
# Ruby: rspec spec/integration
|
|
105
|
+
# Rust: cargo test --test '*'
|
|
106
|
+
# PHP: ./vendor/bin/phpunit --testsuite=integration
|
|
107
|
+
|
|
108
|
+
# Check coverage (examples by stack):
|
|
109
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
110
|
+
# Python: pytest --cov=src tests/
|
|
111
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
112
|
+
# Go: go test -cover ./...
|
|
113
|
+
# Ruby: rspec --coverage
|
|
114
|
+
# Rust: cargo tarpaulin
|
|
115
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
80
116
|
```
|
|
81
117
|
|
|
82
118
|
Checklist:
|
|
@@ -24,10 +24,17 @@ Measure and document the quality of the implementation through objective metrics
|
|
|
24
24
|
For each modified repository:
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
cd <
|
|
28
|
-
|
|
29
|
-
# Run tests with coverage
|
|
30
|
-
npm run test:coverage
|
|
27
|
+
cd <repository>
|
|
28
|
+
|
|
29
|
+
# Run tests with coverage (examples by stack):
|
|
30
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
31
|
+
# Python: pytest --cov=src tests/
|
|
32
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
33
|
+
# Go: go test -cover ./...
|
|
34
|
+
# Ruby: rspec --coverage
|
|
35
|
+
# Rust: cargo tarpaulin
|
|
36
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
37
|
+
# C#: dotnet test /p:CollectCoverage=true
|
|
31
38
|
|
|
32
39
|
# Capture results
|
|
33
40
|
```
|
|
@@ -67,14 +74,29 @@ Analyze the cyclomatic complexity of the modified files:
|
|
|
67
74
|
### 3. Code Quality
|
|
68
75
|
|
|
69
76
|
```bash
|
|
70
|
-
# Run linting
|
|
71
|
-
npm run lint
|
|
72
|
-
|
|
73
|
-
#
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
#
|
|
77
|
-
|
|
77
|
+
# Run linting (examples by stack):
|
|
78
|
+
# Node.js: npm run lint / eslint .
|
|
79
|
+
# Python: flake8 . / pylint src/
|
|
80
|
+
# Java: mvn checkstyle:check
|
|
81
|
+
# Go: golangci-lint run
|
|
82
|
+
# Ruby: rubocop
|
|
83
|
+
# Rust: cargo clippy
|
|
84
|
+
|
|
85
|
+
# Check formatting (examples by stack):
|
|
86
|
+
# Node.js: prettier --check .
|
|
87
|
+
# Python: black --check .
|
|
88
|
+
# Java: mvn formatter:validate
|
|
89
|
+
# Go: gofmt -l .
|
|
90
|
+
# Ruby: rubocop --format-only
|
|
91
|
+
# Rust: cargo fmt --check
|
|
92
|
+
|
|
93
|
+
# Static analysis (examples by stack):
|
|
94
|
+
# Node.js: npm run analyze (if configured)
|
|
95
|
+
# Python: mypy src/ / bandit -r src/
|
|
96
|
+
# Java: mvn pmd:check / spotbugs:check
|
|
97
|
+
# Go: go vet ./...
|
|
98
|
+
# Ruby: brakeman (for Rails)
|
|
99
|
+
# Rust: cargo audit
|
|
78
100
|
```
|
|
79
101
|
|
|
80
102
|
Document:
|
|
@@ -16,11 +16,11 @@ If you're not in a workspace, ask the user which workspace to use or if you shou
|
|
|
16
16
|
|
|
17
17
|
## 2. Load Project Configuration
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
You are already in the project's orchestrator (current repository root).
|
|
20
20
|
|
|
21
|
-
1. **
|
|
22
|
-
2.
|
|
23
|
-
3.
|
|
21
|
+
1. **Verify you're at the orchestrator root**: `pwd` should show the orchestrator directory
|
|
22
|
+
2. **Read the `context-manifest.json` file** at the orchestrator root
|
|
23
|
+
3. **Read the `ai.properties.md` file** to get local configurations (base_path, etc.)
|
|
24
24
|
|
|
25
25
|
## 3. Load Project Manifest
|
|
26
26
|
|
|
@@ -32,7 +32,14 @@ Read the `context-manifest.json` from the orchestrator to understand:
|
|
|
32
32
|
|
|
33
33
|
## 4. Load MetaSpecs
|
|
34
34
|
|
|
35
|
-
The MetaSpecs repository is defined in `context-manifest.json`
|
|
35
|
+
The MetaSpecs repository is **separate** and defined in `context-manifest.json` with `role: "metaspecs"`.
|
|
36
|
+
|
|
37
|
+
**Locate the metaspecs repository:**
|
|
38
|
+
|
|
39
|
+
1. Read `context-manifest.json` and find the repository with `role: "metaspecs"`
|
|
40
|
+
2. Get the `id` of that repository (e.g., "my-project-metaspecs")
|
|
41
|
+
3. Read `ai.properties.md` to get the `base_path`
|
|
42
|
+
4. The metaspecs repository is at: `{base_path}/{metaspecs-id}/`
|
|
36
43
|
|
|
37
44
|
**Always read the index files first:**
|
|
38
45
|
|
|
@@ -30,19 +30,36 @@ Garantizar que la implementación está completa, probada y lista para revisión
|
|
|
30
30
|
Para cada repositorio modificado:
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
cd <
|
|
33
|
+
cd <repositorio>
|
|
34
34
|
|
|
35
35
|
# Verificar estado
|
|
36
36
|
git status
|
|
37
37
|
|
|
38
|
-
# Verificar linting
|
|
39
|
-
npm run lint
|
|
40
|
-
|
|
41
|
-
#
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
#
|
|
45
|
-
|
|
38
|
+
# Verificar linting (ejemplos por stack):
|
|
39
|
+
# Node.js: npm run lint / yarn lint / pnpm lint
|
|
40
|
+
# Python: flake8 . / pylint src/ / black --check .
|
|
41
|
+
# Java: mvn checkstyle:check / gradle check
|
|
42
|
+
# Go: golangci-lint run / go vet ./...
|
|
43
|
+
# Ruby: rubocop
|
|
44
|
+
# Rust: cargo clippy
|
|
45
|
+
# PHP: ./vendor/bin/phpcs
|
|
46
|
+
# C#: dotnet format --verify-no-changes
|
|
47
|
+
|
|
48
|
+
# Verificar formateo (ejemplos por stack):
|
|
49
|
+
# Node.js: npm run format:check / prettier --check .
|
|
50
|
+
# Python: black --check . / autopep8 --diff .
|
|
51
|
+
# Java: mvn formatter:validate
|
|
52
|
+
# Go: gofmt -l . / go fmt ./...
|
|
53
|
+
# Ruby: rubocop --format-only
|
|
54
|
+
# Rust: cargo fmt --check
|
|
55
|
+
|
|
56
|
+
# Verificar build (ejemplos por stack):
|
|
57
|
+
# Node.js: npm run build / yarn build
|
|
58
|
+
# Python: python setup.py build
|
|
59
|
+
# Java: mvn compile / gradle build
|
|
60
|
+
# Go: go build ./...
|
|
61
|
+
# Ruby: rake build
|
|
62
|
+
# Rust: cargo build
|
|
46
63
|
```
|
|
47
64
|
|
|
48
65
|
Checklist:
|
|
@@ -67,16 +84,35 @@ Checklist:
|
|
|
67
84
|
Para cada repositorio:
|
|
68
85
|
|
|
69
86
|
```bash
|
|
70
|
-
cd <
|
|
71
|
-
|
|
72
|
-
# Ejecutar pruebas unitarias
|
|
73
|
-
npm run test:unit
|
|
74
|
-
|
|
75
|
-
#
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
#
|
|
79
|
-
|
|
87
|
+
cd <repositorio>
|
|
88
|
+
|
|
89
|
+
# Ejecutar pruebas unitarias (ejemplos por stack):
|
|
90
|
+
# Node.js: npm run test:unit / jest / vitest
|
|
91
|
+
# Python: pytest tests/unit / python -m unittest
|
|
92
|
+
# Java: mvn test / gradle test
|
|
93
|
+
# Go: go test ./... -short
|
|
94
|
+
# Ruby: rspec spec/unit / rake test:unit
|
|
95
|
+
# Rust: cargo test --lib
|
|
96
|
+
# PHP: ./vendor/bin/phpunit --testsuite=unit
|
|
97
|
+
# C#: dotnet test --filter Category=Unit
|
|
98
|
+
|
|
99
|
+
# Ejecutar pruebas de integración (ejemplos por stack):
|
|
100
|
+
# Node.js: npm run test:integration
|
|
101
|
+
# Python: pytest tests/integration
|
|
102
|
+
# Java: mvn verify / gradle integrationTest
|
|
103
|
+
# Go: go test ./... -run Integration
|
|
104
|
+
# Ruby: rspec spec/integration
|
|
105
|
+
# Rust: cargo test --test '*'
|
|
106
|
+
# PHP: ./vendor/bin/phpunit --testsuite=integration
|
|
107
|
+
|
|
108
|
+
# Verificar cobertura (ejemplos por stack):
|
|
109
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
110
|
+
# Python: pytest --cov=src tests/
|
|
111
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
112
|
+
# Go: go test -cover ./...
|
|
113
|
+
# Ruby: rspec --coverage
|
|
114
|
+
# Rust: cargo tarpaulin
|
|
115
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
80
116
|
```
|
|
81
117
|
|
|
82
118
|
Checklist:
|
|
@@ -24,10 +24,17 @@ Medir y documentar la calidad de la implementación mediante métricas objetivas
|
|
|
24
24
|
Para cada repositorio modificado:
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
cd <
|
|
28
|
-
|
|
29
|
-
# Ejecutar pruebas con cobertura
|
|
30
|
-
npm run test:coverage
|
|
27
|
+
cd <repositorio>
|
|
28
|
+
|
|
29
|
+
# Ejecutar pruebas con cobertura (ejemplos por stack):
|
|
30
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
31
|
+
# Python: pytest --cov=src tests/
|
|
32
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
33
|
+
# Go: go test -cover ./...
|
|
34
|
+
# Ruby: rspec --coverage
|
|
35
|
+
# Rust: cargo tarpaulin
|
|
36
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
37
|
+
# C#: dotnet test /p:CollectCoverage=true
|
|
31
38
|
|
|
32
39
|
# Capturar resultados
|
|
33
40
|
```
|
|
@@ -67,14 +74,29 @@ Analice la complejidad ciclomática de los archivos modificados:
|
|
|
67
74
|
### 3. Calidad del Código
|
|
68
75
|
|
|
69
76
|
```bash
|
|
70
|
-
# Ejecutar linting
|
|
71
|
-
npm run lint
|
|
72
|
-
|
|
73
|
-
#
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
#
|
|
77
|
-
|
|
77
|
+
# Ejecutar linting (ejemplos por stack):
|
|
78
|
+
# Node.js: npm run lint / eslint .
|
|
79
|
+
# Python: flake8 . / pylint src/
|
|
80
|
+
# Java: mvn checkstyle:check
|
|
81
|
+
# Go: golangci-lint run
|
|
82
|
+
# Ruby: rubocop
|
|
83
|
+
# Rust: cargo clippy
|
|
84
|
+
|
|
85
|
+
# Verificar formato (ejemplos por stack):
|
|
86
|
+
# Node.js: prettier --check .
|
|
87
|
+
# Python: black --check .
|
|
88
|
+
# Java: mvn formatter:validate
|
|
89
|
+
# Go: gofmt -l .
|
|
90
|
+
# Ruby: rubocop --format-only
|
|
91
|
+
# Rust: cargo fmt --check
|
|
92
|
+
|
|
93
|
+
# Análisis estático (ejemplos por stack):
|
|
94
|
+
# Node.js: npm run analyze (si está configurado)
|
|
95
|
+
# Python: mypy src/ / bandit -r src/
|
|
96
|
+
# Java: mvn pmd:check / spotbugs:check
|
|
97
|
+
# Go: go vet ./...
|
|
98
|
+
# Ruby: brakeman (para Rails)
|
|
99
|
+
# Rust: cargo audit
|
|
78
100
|
```
|
|
79
101
|
|
|
80
102
|
Documente:
|
|
@@ -16,11 +16,11 @@ Si no está en un workspace, pregunte al usuario qué workspace usar o si debe c
|
|
|
16
16
|
|
|
17
17
|
## 2. Cargar Configuración del Proyecto
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Ya está en el orchestrator del proyecto (raíz del repositorio actual).
|
|
20
20
|
|
|
21
|
-
1. **
|
|
22
|
-
2.
|
|
23
|
-
3.
|
|
21
|
+
1. **Verifique que está en la raíz del orchestrator**: `pwd` debe mostrar el directorio del orchestrator
|
|
22
|
+
2. **Lea el archivo `context-manifest.json`** en la raíz del orchestrator
|
|
23
|
+
3. **Lea el archivo `ai.properties.md`** para obtener configuraciones locales (base_path, etc.)
|
|
24
24
|
|
|
25
25
|
## 3. Cargar Manifiesto del Proyecto
|
|
26
26
|
|
|
@@ -32,7 +32,14 @@ Lea el `context-manifest.json` del orchestrator para entender:
|
|
|
32
32
|
|
|
33
33
|
## 4. Cargar MetaSpecs
|
|
34
34
|
|
|
35
|
-
El repositorio de MetaSpecs está definido en `context-manifest.json`
|
|
35
|
+
El repositorio de MetaSpecs es **separado** y está definido en `context-manifest.json` con `role: "metaspecs"`.
|
|
36
|
+
|
|
37
|
+
**Localice el repositorio de metaspecs:**
|
|
38
|
+
|
|
39
|
+
1. Lea `context-manifest.json` y encuentre el repositorio con `role: "metaspecs"`
|
|
40
|
+
2. Obtenga el `id` de ese repositorio (ej: "my-project-metaspecs")
|
|
41
|
+
3. Lea `ai.properties.md` para obtener el `base_path`
|
|
42
|
+
4. El repositorio de metaspecs está en: `{base_path}/{metaspecs-id}/`
|
|
36
43
|
|
|
37
44
|
**Lea siempre los archivos de índice primero:**
|
|
38
45
|
|
|
@@ -35,14 +35,31 @@ cd <repositório>
|
|
|
35
35
|
# Verificar status
|
|
36
36
|
git status
|
|
37
37
|
|
|
38
|
-
# Verificar linting
|
|
39
|
-
npm run lint
|
|
40
|
-
|
|
41
|
-
#
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
#
|
|
45
|
-
|
|
38
|
+
# Verificar linting (exemplos por stack):
|
|
39
|
+
# Node.js: npm run lint / yarn lint / pnpm lint
|
|
40
|
+
# Python: flake8 . / pylint src/ / black --check .
|
|
41
|
+
# Java: mvn checkstyle:check / gradle check
|
|
42
|
+
# Go: golangci-lint run / go vet ./...
|
|
43
|
+
# Ruby: rubocop
|
|
44
|
+
# Rust: cargo clippy
|
|
45
|
+
# PHP: ./vendor/bin/phpcs
|
|
46
|
+
# C#: dotnet format --verify-no-changes
|
|
47
|
+
|
|
48
|
+
# Verificar formatação (exemplos por stack):
|
|
49
|
+
# Node.js: npm run format:check / prettier --check .
|
|
50
|
+
# Python: black --check . / autopep8 --diff .
|
|
51
|
+
# Java: mvn formatter:validate
|
|
52
|
+
# Go: gofmt -l . / go fmt ./...
|
|
53
|
+
# Ruby: rubocop --format-only
|
|
54
|
+
# Rust: cargo fmt --check
|
|
55
|
+
|
|
56
|
+
# Verificar build (exemplos por stack):
|
|
57
|
+
# Node.js: npm run build / yarn build
|
|
58
|
+
# Python: python setup.py build
|
|
59
|
+
# Java: mvn compile / gradle build
|
|
60
|
+
# Go: go build ./...
|
|
61
|
+
# Ruby: rake build
|
|
62
|
+
# Rust: cargo build
|
|
46
63
|
```
|
|
47
64
|
|
|
48
65
|
Checklist:
|
|
@@ -69,14 +86,33 @@ Para cada repositório:
|
|
|
69
86
|
```bash
|
|
70
87
|
cd <repositório>
|
|
71
88
|
|
|
72
|
-
# Executar testes unitários
|
|
73
|
-
npm run test:unit
|
|
74
|
-
|
|
75
|
-
#
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
#
|
|
79
|
-
|
|
89
|
+
# Executar testes unitários (exemplos por stack):
|
|
90
|
+
# Node.js: npm run test:unit / jest / vitest
|
|
91
|
+
# Python: pytest tests/unit / python -m unittest
|
|
92
|
+
# Java: mvn test / gradle test
|
|
93
|
+
# Go: go test ./... -short
|
|
94
|
+
# Ruby: rspec spec/unit / rake test:unit
|
|
95
|
+
# Rust: cargo test --lib
|
|
96
|
+
# PHP: ./vendor/bin/phpunit --testsuite=unit
|
|
97
|
+
# C#: dotnet test --filter Category=Unit
|
|
98
|
+
|
|
99
|
+
# Executar testes de integração (exemplos por stack):
|
|
100
|
+
# Node.js: npm run test:integration
|
|
101
|
+
# Python: pytest tests/integration
|
|
102
|
+
# Java: mvn verify / gradle integrationTest
|
|
103
|
+
# Go: go test ./... -run Integration
|
|
104
|
+
# Ruby: rspec spec/integration
|
|
105
|
+
# Rust: cargo test --test '*'
|
|
106
|
+
# PHP: ./vendor/bin/phpunit --testsuite=integration
|
|
107
|
+
|
|
108
|
+
# Verificar cobertura (exemplos por stack):
|
|
109
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
110
|
+
# Python: pytest --cov=src tests/
|
|
111
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
112
|
+
# Go: go test -cover ./...
|
|
113
|
+
# Ruby: rspec --coverage
|
|
114
|
+
# Rust: cargo tarpaulin
|
|
115
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
80
116
|
```
|
|
81
117
|
|
|
82
118
|
Checklist:
|
|
@@ -26,8 +26,15 @@ Para cada repositório modificado:
|
|
|
26
26
|
```bash
|
|
27
27
|
cd <repositório>
|
|
28
28
|
|
|
29
|
-
# Executar testes com cobertura
|
|
30
|
-
npm run test:coverage
|
|
29
|
+
# Executar testes com cobertura (exemplos por stack):
|
|
30
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
31
|
+
# Python: pytest --cov=src tests/
|
|
32
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
33
|
+
# Go: go test -cover ./...
|
|
34
|
+
# Ruby: rspec --coverage
|
|
35
|
+
# Rust: cargo tarpaulin
|
|
36
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
37
|
+
# C#: dotnet test /p:CollectCoverage=true
|
|
31
38
|
|
|
32
39
|
# Capturar resultados
|
|
33
40
|
```
|
|
@@ -67,14 +74,29 @@ Analise a complexidade ciclomática dos arquivos modificados:
|
|
|
67
74
|
### 3. Qualidade do Código
|
|
68
75
|
|
|
69
76
|
```bash
|
|
70
|
-
# Executar linting
|
|
71
|
-
npm run lint
|
|
72
|
-
|
|
73
|
-
#
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
#
|
|
77
|
-
|
|
77
|
+
# Executar linting (exemplos por stack):
|
|
78
|
+
# Node.js: npm run lint / eslint .
|
|
79
|
+
# Python: flake8 . / pylint src/
|
|
80
|
+
# Java: mvn checkstyle:check
|
|
81
|
+
# Go: golangci-lint run
|
|
82
|
+
# Ruby: rubocop
|
|
83
|
+
# Rust: cargo clippy
|
|
84
|
+
|
|
85
|
+
# Verificar formatação (exemplos por stack):
|
|
86
|
+
# Node.js: prettier --check .
|
|
87
|
+
# Python: black --check .
|
|
88
|
+
# Java: mvn formatter:validate
|
|
89
|
+
# Go: gofmt -l .
|
|
90
|
+
# Ruby: rubocop --format-only
|
|
91
|
+
# Rust: cargo fmt --check
|
|
92
|
+
|
|
93
|
+
# Análise estática (exemplos por stack):
|
|
94
|
+
# Node.js: npm run analyze (se configurado)
|
|
95
|
+
# Python: mypy src/ / bandit -r src/
|
|
96
|
+
# Java: mvn pmd:check / spotbugs:check
|
|
97
|
+
# Go: go vet ./...
|
|
98
|
+
# Ruby: brakeman (para Rails)
|
|
99
|
+
# Rust: cargo audit
|
|
78
100
|
```
|
|
79
101
|
|
|
80
102
|
Documente:
|
|
@@ -16,11 +16,11 @@ Se não estiver em um workspace, pergunte ao usuário qual workspace usar ou se
|
|
|
16
16
|
|
|
17
17
|
## 2. Carregar Configuração do Projeto
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Você já está no orchestrator do projeto (raiz do repositório atual).
|
|
20
20
|
|
|
21
|
-
1. **
|
|
22
|
-
2.
|
|
23
|
-
3.
|
|
21
|
+
1. **Verifique se está na raiz do orchestrator**: `pwd` deve mostrar o diretório do orchestrator
|
|
22
|
+
2. **Leia o arquivo `context-manifest.json`** na raiz do orchestrator
|
|
23
|
+
3. **Leia o arquivo `ai.properties.md`** para obter configurações locais (base_path, etc.)
|
|
24
24
|
|
|
25
25
|
## 3. Carregar Manifesto do Projeto
|
|
26
26
|
|
|
@@ -32,7 +32,14 @@ Leia o `context-manifest.json` do orchestrator para entender:
|
|
|
32
32
|
|
|
33
33
|
## 4. Carregar MetaSpecs
|
|
34
34
|
|
|
35
|
-
O repositório de MetaSpecs está definido no `context-manifest.json`
|
|
35
|
+
O repositório de MetaSpecs é **separado** e está definido no `context-manifest.json` com `role: "metaspecs"`.
|
|
36
|
+
|
|
37
|
+
**Localize o repositório de metaspecs:**
|
|
38
|
+
|
|
39
|
+
1. Leia `context-manifest.json` e encontre o repositório com `role: "metaspecs"`
|
|
40
|
+
2. Obtenha o `id` desse repositório (ex: "my-project-metaspecs")
|
|
41
|
+
3. Leia `ai.properties.md` para obter o `base_path`
|
|
42
|
+
4. O repositório de metaspecs está em: `{base_path}/{metaspecs-id}/`
|
|
36
43
|
|
|
37
44
|
**Leia sempre os arquivos de índice primeiro:**
|
|
38
45
|
|
package/package.json
CHANGED
|
@@ -30,19 +30,36 @@ Ensure that the implementation is complete, tested, and ready for review before
|
|
|
30
30
|
For each modified repository:
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
cd <
|
|
33
|
+
cd <repository>
|
|
34
34
|
|
|
35
35
|
# Check status
|
|
36
36
|
git status
|
|
37
37
|
|
|
38
|
-
# Check linting
|
|
39
|
-
npm run lint
|
|
40
|
-
|
|
41
|
-
#
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
#
|
|
45
|
-
|
|
38
|
+
# Check linting (examples by stack):
|
|
39
|
+
# Node.js: npm run lint / yarn lint / pnpm lint
|
|
40
|
+
# Python: flake8 . / pylint src/ / black --check .
|
|
41
|
+
# Java: mvn checkstyle:check / gradle check
|
|
42
|
+
# Go: golangci-lint run / go vet ./...
|
|
43
|
+
# Ruby: rubocop
|
|
44
|
+
# Rust: cargo clippy
|
|
45
|
+
# PHP: ./vendor/bin/phpcs
|
|
46
|
+
# C#: dotnet format --verify-no-changes
|
|
47
|
+
|
|
48
|
+
# Check formatting (examples by stack):
|
|
49
|
+
# Node.js: npm run format:check / prettier --check .
|
|
50
|
+
# Python: black --check . / autopep8 --diff .
|
|
51
|
+
# Java: mvn formatter:validate
|
|
52
|
+
# Go: gofmt -l . / go fmt ./...
|
|
53
|
+
# Ruby: rubocop --format-only
|
|
54
|
+
# Rust: cargo fmt --check
|
|
55
|
+
|
|
56
|
+
# Check build (examples by stack):
|
|
57
|
+
# Node.js: npm run build / yarn build
|
|
58
|
+
# Python: python setup.py build
|
|
59
|
+
# Java: mvn compile / gradle build
|
|
60
|
+
# Go: go build ./...
|
|
61
|
+
# Ruby: rake build
|
|
62
|
+
# Rust: cargo build
|
|
46
63
|
```
|
|
47
64
|
|
|
48
65
|
Checklist:
|
|
@@ -67,16 +84,35 @@ Checklist:
|
|
|
67
84
|
For each repository:
|
|
68
85
|
|
|
69
86
|
```bash
|
|
70
|
-
cd <
|
|
71
|
-
|
|
72
|
-
# Run unit tests
|
|
73
|
-
npm run test:unit
|
|
74
|
-
|
|
75
|
-
#
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
#
|
|
79
|
-
|
|
87
|
+
cd <repository>
|
|
88
|
+
|
|
89
|
+
# Run unit tests (examples by stack):
|
|
90
|
+
# Node.js: npm run test:unit / jest / vitest
|
|
91
|
+
# Python: pytest tests/unit / python -m unittest
|
|
92
|
+
# Java: mvn test / gradle test
|
|
93
|
+
# Go: go test ./... -short
|
|
94
|
+
# Ruby: rspec spec/unit / rake test:unit
|
|
95
|
+
# Rust: cargo test --lib
|
|
96
|
+
# PHP: ./vendor/bin/phpunit --testsuite=unit
|
|
97
|
+
# C#: dotnet test --filter Category=Unit
|
|
98
|
+
|
|
99
|
+
# Run integration tests (examples by stack):
|
|
100
|
+
# Node.js: npm run test:integration
|
|
101
|
+
# Python: pytest tests/integration
|
|
102
|
+
# Java: mvn verify / gradle integrationTest
|
|
103
|
+
# Go: go test ./... -run Integration
|
|
104
|
+
# Ruby: rspec spec/integration
|
|
105
|
+
# Rust: cargo test --test '*'
|
|
106
|
+
# PHP: ./vendor/bin/phpunit --testsuite=integration
|
|
107
|
+
|
|
108
|
+
# Check coverage (examples by stack):
|
|
109
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
110
|
+
# Python: pytest --cov=src tests/
|
|
111
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
112
|
+
# Go: go test -cover ./...
|
|
113
|
+
# Ruby: rspec --coverage
|
|
114
|
+
# Rust: cargo tarpaulin
|
|
115
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
80
116
|
```
|
|
81
117
|
|
|
82
118
|
Checklist:
|
|
@@ -24,10 +24,17 @@ Measure and document the quality of the implementation through objective metrics
|
|
|
24
24
|
For each modified repository:
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
cd <
|
|
28
|
-
|
|
29
|
-
# Run tests with coverage
|
|
30
|
-
npm run test:coverage
|
|
27
|
+
cd <repository>
|
|
28
|
+
|
|
29
|
+
# Run tests with coverage (examples by stack):
|
|
30
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
31
|
+
# Python: pytest --cov=src tests/
|
|
32
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
33
|
+
# Go: go test -cover ./...
|
|
34
|
+
# Ruby: rspec --coverage
|
|
35
|
+
# Rust: cargo tarpaulin
|
|
36
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
37
|
+
# C#: dotnet test /p:CollectCoverage=true
|
|
31
38
|
|
|
32
39
|
# Capture results
|
|
33
40
|
```
|
|
@@ -67,14 +74,29 @@ Analyze the cyclomatic complexity of the modified files:
|
|
|
67
74
|
### 3. Code Quality
|
|
68
75
|
|
|
69
76
|
```bash
|
|
70
|
-
# Run linting
|
|
71
|
-
npm run lint
|
|
72
|
-
|
|
73
|
-
#
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
#
|
|
77
|
-
|
|
77
|
+
# Run linting (examples by stack):
|
|
78
|
+
# Node.js: npm run lint / eslint .
|
|
79
|
+
# Python: flake8 . / pylint src/
|
|
80
|
+
# Java: mvn checkstyle:check
|
|
81
|
+
# Go: golangci-lint run
|
|
82
|
+
# Ruby: rubocop
|
|
83
|
+
# Rust: cargo clippy
|
|
84
|
+
|
|
85
|
+
# Check formatting (examples by stack):
|
|
86
|
+
# Node.js: prettier --check .
|
|
87
|
+
# Python: black --check .
|
|
88
|
+
# Java: mvn formatter:validate
|
|
89
|
+
# Go: gofmt -l .
|
|
90
|
+
# Ruby: rubocop --format-only
|
|
91
|
+
# Rust: cargo fmt --check
|
|
92
|
+
|
|
93
|
+
# Static analysis (examples by stack):
|
|
94
|
+
# Node.js: npm run analyze (if configured)
|
|
95
|
+
# Python: mypy src/ / bandit -r src/
|
|
96
|
+
# Java: mvn pmd:check / spotbugs:check
|
|
97
|
+
# Go: go vet ./...
|
|
98
|
+
# Ruby: brakeman (for Rails)
|
|
99
|
+
# Rust: cargo audit
|
|
78
100
|
```
|
|
79
101
|
|
|
80
102
|
Document:
|
|
@@ -16,11 +16,11 @@ If you're not in a workspace, ask the user which workspace to use or if you shou
|
|
|
16
16
|
|
|
17
17
|
## 2. Load Project Configuration
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
You are already in the project's orchestrator (current repository root).
|
|
20
20
|
|
|
21
|
-
1. **
|
|
22
|
-
2.
|
|
23
|
-
3.
|
|
21
|
+
1. **Verify you're at the orchestrator root**: `pwd` should show the orchestrator directory
|
|
22
|
+
2. **Read the `context-manifest.json` file** at the orchestrator root
|
|
23
|
+
3. **Read the `ai.properties.md` file** to get local configurations (base_path, etc.)
|
|
24
24
|
|
|
25
25
|
## 3. Load Project Manifest
|
|
26
26
|
|
|
@@ -32,7 +32,14 @@ Read the `context-manifest.json` from the orchestrator to understand:
|
|
|
32
32
|
|
|
33
33
|
## 4. Load MetaSpecs
|
|
34
34
|
|
|
35
|
-
The MetaSpecs repository is defined in `context-manifest.json`
|
|
35
|
+
The MetaSpecs repository is **separate** and defined in `context-manifest.json` with `role: "metaspecs"`.
|
|
36
|
+
|
|
37
|
+
**Locate the metaspecs repository:**
|
|
38
|
+
|
|
39
|
+
1. Read `context-manifest.json` and find the repository with `role: "metaspecs"`
|
|
40
|
+
2. Get the `id` of that repository (e.g., "my-project-metaspecs")
|
|
41
|
+
3. Read `ai.properties.md` to get the `base_path`
|
|
42
|
+
4. The metaspecs repository is at: `{base_path}/{metaspecs-id}/`
|
|
36
43
|
|
|
37
44
|
**Always read the index files first:**
|
|
38
45
|
|
|
@@ -30,19 +30,36 @@ Garantizar que la implementación está completa, probada y lista para revisión
|
|
|
30
30
|
Para cada repositorio modificado:
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
cd <
|
|
33
|
+
cd <repositorio>
|
|
34
34
|
|
|
35
35
|
# Verificar estado
|
|
36
36
|
git status
|
|
37
37
|
|
|
38
|
-
# Verificar linting
|
|
39
|
-
npm run lint
|
|
40
|
-
|
|
41
|
-
#
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
#
|
|
45
|
-
|
|
38
|
+
# Verificar linting (ejemplos por stack):
|
|
39
|
+
# Node.js: npm run lint / yarn lint / pnpm lint
|
|
40
|
+
# Python: flake8 . / pylint src/ / black --check .
|
|
41
|
+
# Java: mvn checkstyle:check / gradle check
|
|
42
|
+
# Go: golangci-lint run / go vet ./...
|
|
43
|
+
# Ruby: rubocop
|
|
44
|
+
# Rust: cargo clippy
|
|
45
|
+
# PHP: ./vendor/bin/phpcs
|
|
46
|
+
# C#: dotnet format --verify-no-changes
|
|
47
|
+
|
|
48
|
+
# Verificar formateo (ejemplos por stack):
|
|
49
|
+
# Node.js: npm run format:check / prettier --check .
|
|
50
|
+
# Python: black --check . / autopep8 --diff .
|
|
51
|
+
# Java: mvn formatter:validate
|
|
52
|
+
# Go: gofmt -l . / go fmt ./...
|
|
53
|
+
# Ruby: rubocop --format-only
|
|
54
|
+
# Rust: cargo fmt --check
|
|
55
|
+
|
|
56
|
+
# Verificar build (ejemplos por stack):
|
|
57
|
+
# Node.js: npm run build / yarn build
|
|
58
|
+
# Python: python setup.py build
|
|
59
|
+
# Java: mvn compile / gradle build
|
|
60
|
+
# Go: go build ./...
|
|
61
|
+
# Ruby: rake build
|
|
62
|
+
# Rust: cargo build
|
|
46
63
|
```
|
|
47
64
|
|
|
48
65
|
Checklist:
|
|
@@ -67,16 +84,35 @@ Checklist:
|
|
|
67
84
|
Para cada repositorio:
|
|
68
85
|
|
|
69
86
|
```bash
|
|
70
|
-
cd <
|
|
71
|
-
|
|
72
|
-
# Ejecutar pruebas unitarias
|
|
73
|
-
npm run test:unit
|
|
74
|
-
|
|
75
|
-
#
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
#
|
|
79
|
-
|
|
87
|
+
cd <repositorio>
|
|
88
|
+
|
|
89
|
+
# Ejecutar pruebas unitarias (ejemplos por stack):
|
|
90
|
+
# Node.js: npm run test:unit / jest / vitest
|
|
91
|
+
# Python: pytest tests/unit / python -m unittest
|
|
92
|
+
# Java: mvn test / gradle test
|
|
93
|
+
# Go: go test ./... -short
|
|
94
|
+
# Ruby: rspec spec/unit / rake test:unit
|
|
95
|
+
# Rust: cargo test --lib
|
|
96
|
+
# PHP: ./vendor/bin/phpunit --testsuite=unit
|
|
97
|
+
# C#: dotnet test --filter Category=Unit
|
|
98
|
+
|
|
99
|
+
# Ejecutar pruebas de integración (ejemplos por stack):
|
|
100
|
+
# Node.js: npm run test:integration
|
|
101
|
+
# Python: pytest tests/integration
|
|
102
|
+
# Java: mvn verify / gradle integrationTest
|
|
103
|
+
# Go: go test ./... -run Integration
|
|
104
|
+
# Ruby: rspec spec/integration
|
|
105
|
+
# Rust: cargo test --test '*'
|
|
106
|
+
# PHP: ./vendor/bin/phpunit --testsuite=integration
|
|
107
|
+
|
|
108
|
+
# Verificar cobertura (ejemplos por stack):
|
|
109
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
110
|
+
# Python: pytest --cov=src tests/
|
|
111
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
112
|
+
# Go: go test -cover ./...
|
|
113
|
+
# Ruby: rspec --coverage
|
|
114
|
+
# Rust: cargo tarpaulin
|
|
115
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
80
116
|
```
|
|
81
117
|
|
|
82
118
|
Checklist:
|
|
@@ -24,10 +24,17 @@ Medir y documentar la calidad de la implementación mediante métricas objetivas
|
|
|
24
24
|
Para cada repositorio modificado:
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
cd <
|
|
28
|
-
|
|
29
|
-
# Ejecutar pruebas con cobertura
|
|
30
|
-
npm run test:coverage
|
|
27
|
+
cd <repositorio>
|
|
28
|
+
|
|
29
|
+
# Ejecutar pruebas con cobertura (ejemplos por stack):
|
|
30
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
31
|
+
# Python: pytest --cov=src tests/
|
|
32
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
33
|
+
# Go: go test -cover ./...
|
|
34
|
+
# Ruby: rspec --coverage
|
|
35
|
+
# Rust: cargo tarpaulin
|
|
36
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
37
|
+
# C#: dotnet test /p:CollectCoverage=true
|
|
31
38
|
|
|
32
39
|
# Capturar resultados
|
|
33
40
|
```
|
|
@@ -67,14 +74,29 @@ Analice la complejidad ciclomática de los archivos modificados:
|
|
|
67
74
|
### 3. Calidad del Código
|
|
68
75
|
|
|
69
76
|
```bash
|
|
70
|
-
# Ejecutar linting
|
|
71
|
-
npm run lint
|
|
72
|
-
|
|
73
|
-
#
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
#
|
|
77
|
-
|
|
77
|
+
# Ejecutar linting (ejemplos por stack):
|
|
78
|
+
# Node.js: npm run lint / eslint .
|
|
79
|
+
# Python: flake8 . / pylint src/
|
|
80
|
+
# Java: mvn checkstyle:check
|
|
81
|
+
# Go: golangci-lint run
|
|
82
|
+
# Ruby: rubocop
|
|
83
|
+
# Rust: cargo clippy
|
|
84
|
+
|
|
85
|
+
# Verificar formato (ejemplos por stack):
|
|
86
|
+
# Node.js: prettier --check .
|
|
87
|
+
# Python: black --check .
|
|
88
|
+
# Java: mvn formatter:validate
|
|
89
|
+
# Go: gofmt -l .
|
|
90
|
+
# Ruby: rubocop --format-only
|
|
91
|
+
# Rust: cargo fmt --check
|
|
92
|
+
|
|
93
|
+
# Análisis estático (ejemplos por stack):
|
|
94
|
+
# Node.js: npm run analyze (si está configurado)
|
|
95
|
+
# Python: mypy src/ / bandit -r src/
|
|
96
|
+
# Java: mvn pmd:check / spotbugs:check
|
|
97
|
+
# Go: go vet ./...
|
|
98
|
+
# Ruby: brakeman (para Rails)
|
|
99
|
+
# Rust: cargo audit
|
|
78
100
|
```
|
|
79
101
|
|
|
80
102
|
Documente:
|
|
@@ -16,11 +16,11 @@ Si no está en un workspace, pregunte al usuario qué workspace usar o si debe c
|
|
|
16
16
|
|
|
17
17
|
## 2. Cargar Configuración del Proyecto
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Ya está en el orchestrator del proyecto (raíz del repositorio actual).
|
|
20
20
|
|
|
21
|
-
1. **
|
|
22
|
-
2.
|
|
23
|
-
3.
|
|
21
|
+
1. **Verifique que está en la raíz del orchestrator**: `pwd` debe mostrar el directorio del orchestrator
|
|
22
|
+
2. **Lea el archivo `context-manifest.json`** en la raíz del orchestrator
|
|
23
|
+
3. **Lea el archivo `ai.properties.md`** para obtener configuraciones locales (base_path, etc.)
|
|
24
24
|
|
|
25
25
|
## 3. Cargar Manifiesto del Proyecto
|
|
26
26
|
|
|
@@ -32,7 +32,14 @@ Lea el `context-manifest.json` del orchestrator para entender:
|
|
|
32
32
|
|
|
33
33
|
## 4. Cargar MetaSpecs
|
|
34
34
|
|
|
35
|
-
El repositorio de MetaSpecs está definido en `context-manifest.json`
|
|
35
|
+
El repositorio de MetaSpecs es **separado** y está definido en `context-manifest.json` con `role: "metaspecs"`.
|
|
36
|
+
|
|
37
|
+
**Localice el repositorio de metaspecs:**
|
|
38
|
+
|
|
39
|
+
1. Lea `context-manifest.json` y encuentre el repositorio con `role: "metaspecs"`
|
|
40
|
+
2. Obtenga el `id` de ese repositorio (ej: "my-project-metaspecs")
|
|
41
|
+
3. Lea `ai.properties.md` para obtener el `base_path`
|
|
42
|
+
4. El repositorio de metaspecs está en: `{base_path}/{metaspecs-id}/`
|
|
36
43
|
|
|
37
44
|
**Lea siempre los archivos de índice primero:**
|
|
38
45
|
|
|
@@ -35,14 +35,31 @@ cd <repositório>
|
|
|
35
35
|
# Verificar status
|
|
36
36
|
git status
|
|
37
37
|
|
|
38
|
-
# Verificar linting
|
|
39
|
-
npm run lint
|
|
40
|
-
|
|
41
|
-
#
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
#
|
|
45
|
-
|
|
38
|
+
# Verificar linting (exemplos por stack):
|
|
39
|
+
# Node.js: npm run lint / yarn lint / pnpm lint
|
|
40
|
+
# Python: flake8 . / pylint src/ / black --check .
|
|
41
|
+
# Java: mvn checkstyle:check / gradle check
|
|
42
|
+
# Go: golangci-lint run / go vet ./...
|
|
43
|
+
# Ruby: rubocop
|
|
44
|
+
# Rust: cargo clippy
|
|
45
|
+
# PHP: ./vendor/bin/phpcs
|
|
46
|
+
# C#: dotnet format --verify-no-changes
|
|
47
|
+
|
|
48
|
+
# Verificar formatação (exemplos por stack):
|
|
49
|
+
# Node.js: npm run format:check / prettier --check .
|
|
50
|
+
# Python: black --check . / autopep8 --diff .
|
|
51
|
+
# Java: mvn formatter:validate
|
|
52
|
+
# Go: gofmt -l . / go fmt ./...
|
|
53
|
+
# Ruby: rubocop --format-only
|
|
54
|
+
# Rust: cargo fmt --check
|
|
55
|
+
|
|
56
|
+
# Verificar build (exemplos por stack):
|
|
57
|
+
# Node.js: npm run build / yarn build
|
|
58
|
+
# Python: python setup.py build
|
|
59
|
+
# Java: mvn compile / gradle build
|
|
60
|
+
# Go: go build ./...
|
|
61
|
+
# Ruby: rake build
|
|
62
|
+
# Rust: cargo build
|
|
46
63
|
```
|
|
47
64
|
|
|
48
65
|
Checklist:
|
|
@@ -69,14 +86,33 @@ Para cada repositório:
|
|
|
69
86
|
```bash
|
|
70
87
|
cd <repositório>
|
|
71
88
|
|
|
72
|
-
# Executar testes unitários
|
|
73
|
-
npm run test:unit
|
|
74
|
-
|
|
75
|
-
#
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
#
|
|
79
|
-
|
|
89
|
+
# Executar testes unitários (exemplos por stack):
|
|
90
|
+
# Node.js: npm run test:unit / jest / vitest
|
|
91
|
+
# Python: pytest tests/unit / python -m unittest
|
|
92
|
+
# Java: mvn test / gradle test
|
|
93
|
+
# Go: go test ./... -short
|
|
94
|
+
# Ruby: rspec spec/unit / rake test:unit
|
|
95
|
+
# Rust: cargo test --lib
|
|
96
|
+
# PHP: ./vendor/bin/phpunit --testsuite=unit
|
|
97
|
+
# C#: dotnet test --filter Category=Unit
|
|
98
|
+
|
|
99
|
+
# Executar testes de integração (exemplos por stack):
|
|
100
|
+
# Node.js: npm run test:integration
|
|
101
|
+
# Python: pytest tests/integration
|
|
102
|
+
# Java: mvn verify / gradle integrationTest
|
|
103
|
+
# Go: go test ./... -run Integration
|
|
104
|
+
# Ruby: rspec spec/integration
|
|
105
|
+
# Rust: cargo test --test '*'
|
|
106
|
+
# PHP: ./vendor/bin/phpunit --testsuite=integration
|
|
107
|
+
|
|
108
|
+
# Verificar cobertura (exemplos por stack):
|
|
109
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
110
|
+
# Python: pytest --cov=src tests/
|
|
111
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
112
|
+
# Go: go test -cover ./...
|
|
113
|
+
# Ruby: rspec --coverage
|
|
114
|
+
# Rust: cargo tarpaulin
|
|
115
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
80
116
|
```
|
|
81
117
|
|
|
82
118
|
Checklist:
|
|
@@ -26,8 +26,15 @@ Para cada repositório modificado:
|
|
|
26
26
|
```bash
|
|
27
27
|
cd <repositório>
|
|
28
28
|
|
|
29
|
-
# Executar testes com cobertura
|
|
30
|
-
npm run test:coverage
|
|
29
|
+
# Executar testes com cobertura (exemplos por stack):
|
|
30
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
31
|
+
# Python: pytest --cov=src tests/
|
|
32
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
33
|
+
# Go: go test -cover ./...
|
|
34
|
+
# Ruby: rspec --coverage
|
|
35
|
+
# Rust: cargo tarpaulin
|
|
36
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
37
|
+
# C#: dotnet test /p:CollectCoverage=true
|
|
31
38
|
|
|
32
39
|
# Capturar resultados
|
|
33
40
|
```
|
|
@@ -67,14 +74,29 @@ Analise a complexidade ciclomática dos arquivos modificados:
|
|
|
67
74
|
### 3. Qualidade do Código
|
|
68
75
|
|
|
69
76
|
```bash
|
|
70
|
-
# Executar linting
|
|
71
|
-
npm run lint
|
|
72
|
-
|
|
73
|
-
#
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
#
|
|
77
|
-
|
|
77
|
+
# Executar linting (exemplos por stack):
|
|
78
|
+
# Node.js: npm run lint / eslint .
|
|
79
|
+
# Python: flake8 . / pylint src/
|
|
80
|
+
# Java: mvn checkstyle:check
|
|
81
|
+
# Go: golangci-lint run
|
|
82
|
+
# Ruby: rubocop
|
|
83
|
+
# Rust: cargo clippy
|
|
84
|
+
|
|
85
|
+
# Verificar formatação (exemplos por stack):
|
|
86
|
+
# Node.js: prettier --check .
|
|
87
|
+
# Python: black --check .
|
|
88
|
+
# Java: mvn formatter:validate
|
|
89
|
+
# Go: gofmt -l .
|
|
90
|
+
# Ruby: rubocop --format-only
|
|
91
|
+
# Rust: cargo fmt --check
|
|
92
|
+
|
|
93
|
+
# Análise estática (exemplos por stack):
|
|
94
|
+
# Node.js: npm run analyze (se configurado)
|
|
95
|
+
# Python: mypy src/ / bandit -r src/
|
|
96
|
+
# Java: mvn pmd:check / spotbugs:check
|
|
97
|
+
# Go: go vet ./...
|
|
98
|
+
# Ruby: brakeman (para Rails)
|
|
99
|
+
# Rust: cargo audit
|
|
78
100
|
```
|
|
79
101
|
|
|
80
102
|
Documente:
|
|
@@ -16,11 +16,11 @@ Se não estiver em um workspace, pergunte ao usuário qual workspace usar ou se
|
|
|
16
16
|
|
|
17
17
|
## 2. Carregar Configuração do Projeto
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Você já está no orchestrator do projeto (raiz do repositório atual).
|
|
20
20
|
|
|
21
|
-
1. **
|
|
22
|
-
2.
|
|
23
|
-
3.
|
|
21
|
+
1. **Verifique se está na raiz do orchestrator**: `pwd` deve mostrar o diretório do orchestrator
|
|
22
|
+
2. **Leia o arquivo `context-manifest.json`** na raiz do orchestrator
|
|
23
|
+
3. **Leia o arquivo `ai.properties.md`** para obter configurações locais (base_path, etc.)
|
|
24
24
|
|
|
25
25
|
## 3. Carregar Manifesto do Projeto
|
|
26
26
|
|
|
@@ -32,7 +32,14 @@ Leia o `context-manifest.json` do orchestrator para entender:
|
|
|
32
32
|
|
|
33
33
|
## 4. Carregar MetaSpecs
|
|
34
34
|
|
|
35
|
-
O repositório de MetaSpecs está definido no `context-manifest.json`
|
|
35
|
+
O repositório de MetaSpecs é **separado** e está definido no `context-manifest.json` com `role: "metaspecs"`.
|
|
36
|
+
|
|
37
|
+
**Localize o repositório de metaspecs:**
|
|
38
|
+
|
|
39
|
+
1. Leia `context-manifest.json` e encontre o repositório com `role: "metaspecs"`
|
|
40
|
+
2. Obtenha o `id` desse repositório (ex: "my-project-metaspecs")
|
|
41
|
+
3. Leia `ai.properties.md` para obter o `base_path`
|
|
42
|
+
4. O repositório de metaspecs está em: `{base_path}/{metaspecs-id}/`
|
|
36
43
|
|
|
37
44
|
**Leia sempre os arquivos de índice primeiro:**
|
|
38
45
|
|