| run: |
| - mkdir -p test_repo |
| - cd test_repo && git init |
| - cd test_repo && git config user.email "test@example.com" |
| - cd test_repo && git config user.name "Test User" |
| - | |
| cat > test_repo/example.js << 'EOF' |
| function hello() { |
| console.log("Hello World"); |
| } |
| EOF |
| - cd test_repo && git add example.js |
| - cd test_repo && git commit -m "initial commit" |
| - | |
| cat > test_repo/example.js << 'EOF' |
| function hello(name) { |
| console.log(`Hello ${name}!`); |
| } |
| |
| function goodbye(name) { |
| console.log(`Goodbye ${name}!`); |
| } |
| EOF |
| - cd test_repo && git add example.js |
| - cd test_repo && forgee --provider {{provider}} --model {{model}} commit --preview |
| |
| parallelism: 2 |
| timeout: 120 |
|
|
| validations: |
| - name: "Should generate conventional commit message" |
| type: regex |
| regex: "(feat|fix|refactor|chore|docs|style|test|perf)(\\(|:)" |
| |
| - name: "Should NOT contain markdown code block with json" |
| type: shell |
| command: "! grep -qE '```json'" |
| |
| - name: "Should NOT contain plain code block markers" |
| type: shell |
| command: "! grep -qE '^```$'" |
| |
| - name: "Should NOT contain backticks wrapping commit message" |
| type: shell |
| command: "! grep -qE '`(feat|fix|refactor|chore|docs|style|test|perf)\\('" |
|
|
| sources: |
| - value: |
| - provider: "anthropic" |
| model: "claude-sonnet-4-5-20250929" |
| - provider: "open_router" |
| model: "z-ai/glm-4.7" |
|
|