agentplugged 1.4.0 → 2.0.0

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.
Files changed (96) hide show
  1. package/README.md +8 -2
  2. package/dist/agent-commands.js +10821 -26458
  3. package/dist/bin.js +1 -1
  4. package/dist/boundary-rules.js +1 -0
  5. package/dist/boundary-rules2.js +52 -0
  6. package/dist/cli.js +6 -1
  7. package/dist/commit-documents.js +81 -0
  8. package/dist/dist.js +22246 -11722
  9. package/dist/dist2.js +9 -0
  10. package/dist/esm.js +3 -3
  11. package/dist/forge-follow.js +4 -4
  12. package/dist/grammars/LICENSE-tree-sitter-wasm +21 -0
  13. package/dist/grammars/LICENSE-web-tree-sitter +21 -0
  14. package/dist/grammars/tree-sitter-go.wasm +0 -0
  15. package/dist/grammars/tree-sitter-java.wasm +0 -0
  16. package/dist/grammars/tree-sitter-javascript.wasm +0 -0
  17. package/dist/grammars/tree-sitter-php.wasm +0 -0
  18. package/dist/grammars/tree-sitter-python.wasm +0 -0
  19. package/dist/grammars/tree-sitter-rust.wasm +0 -0
  20. package/dist/grammars/tree-sitter-tsx.wasm +0 -0
  21. package/dist/grammars/tree-sitter-typescript.wasm +0 -0
  22. package/dist/grammars/web-tree-sitter.wasm +0 -0
  23. package/dist/hash.js +17937 -2
  24. package/dist/helpers.js +165 -156
  25. package/dist/launcher.js +3 -3
  26. package/dist/main.js +9692 -2616
  27. package/dist/map-cache.js +8096 -0
  28. package/dist/map-update.js +16593 -0
  29. package/dist/map-update2.js +1 -0
  30. package/dist/method/agents/alex/agent.yaml +2 -2
  31. package/dist/method/agents/iris/SKILL.md +7 -7
  32. package/dist/method/agents/iris/agent.yaml +4 -7
  33. package/dist/method/agents/maya/agent.yaml +1 -1
  34. package/dist/method/agents/noah/SKILL.md +41 -45
  35. package/dist/method/agents/noah/agent.yaml +1 -4
  36. package/dist/method/agents/noah/evals/routes.yaml +238 -0
  37. package/dist/method/agents/noah/references/decisions.md +1 -3
  38. package/dist/method/agents/noah/references/environment.md +24 -29
  39. package/dist/method/agents/noah/references/journey.md +1 -1
  40. package/dist/method/agents/noah/references/team.md +7 -3
  41. package/dist/method/agents/omar/SKILL.md +2 -2
  42. package/dist/method/agents/omar/agent.yaml +11 -5
  43. package/dist/method/doctor.yaml +530 -9
  44. package/dist/method/skills/audit-pillars/SKILL.md +1 -0
  45. package/dist/method/skills/audit-pillars/references/demo.md +35 -0
  46. package/dist/method/skills/audit-pillars/references/tech-debt.md +38 -0
  47. package/dist/method/skills/develop-story/SKILL.md +1 -1
  48. package/dist/method/skills/generate-knowledge-base/SKILL.md +1 -1
  49. package/dist/method/skills/ideation/SKILL.md +1 -1
  50. package/dist/method/skills/plan-sprint/SKILL.md +2 -1
  51. package/dist/method/skills/plan-sprint/references/rituals.md +40 -0
  52. package/dist/method/skills/prepare-go-live/SKILL.md +59 -0
  53. package/dist/method/skills/run-acceptance/SKILL.md +5 -5
  54. package/dist/method/skills/run-acceptance/references/template.md +1 -1
  55. package/dist/method/skills/security-review-architecture/SKILL.md +3 -4
  56. package/dist/method/skills/setup-ci/SKILL.md +2 -1
  57. package/dist/method/skills/setup-ci/assets/access-check.mjs +116 -0
  58. package/dist/method/skills/setup-ci/assets/security-github.yml +41 -0
  59. package/dist/method/skills/setup-ci/assets/security-gitlab.yml +22 -0
  60. package/dist/method/skills/setup-ci/assets/stack-dotnet-github.yml +118 -0
  61. package/dist/method/skills/setup-ci/assets/stack-dotnet-gitlab.yml +63 -0
  62. package/dist/method/skills/setup-ci/assets/stack-go-github.yml +118 -0
  63. package/dist/method/skills/setup-ci/assets/stack-go-gitlab.yml +63 -0
  64. package/dist/method/skills/setup-ci/assets/stack-jvm-gradle-github.yml +134 -0
  65. package/dist/method/skills/setup-ci/assets/stack-jvm-gradle-gitlab.yml +71 -0
  66. package/dist/method/skills/setup-ci/assets/stack-jvm-maven-github.yml +133 -0
  67. package/dist/method/skills/setup-ci/assets/stack-jvm-maven-gitlab.yml +70 -0
  68. package/dist/method/skills/setup-ci/assets/stack-python-github.yml +123 -0
  69. package/dist/method/skills/setup-ci/assets/stack-python-gitlab.yml +68 -0
  70. package/dist/method/skills/setup-ci/assets/stack-rust-github.yml +107 -0
  71. package/dist/method/skills/setup-ci/assets/stack-rust-gitlab.yml +64 -0
  72. package/dist/method/skills/setup-ci/references/security.md +39 -0
  73. package/dist/method/skills/setup-ci/references/stacks.md +22 -0
  74. package/dist/method/skills/strategy/SKILL.md +1 -2
  75. package/dist/method/skills/write-architecture/references/guard.md +2 -0
  76. package/dist/method/skills/write-brief/SKILL.md +16 -17
  77. package/dist/method/skills/write-brief/assets/brief-template.md +7 -5
  78. package/dist/method/skills/write-brief/references/brief-checklist.md +1 -1
  79. package/dist/method/skills/write-content/SKILL.md +1 -1
  80. package/dist/method/skills/write-positioning/SKILL.md +1 -1
  81. package/dist/method/skills/write-prd/SKILL.md +2 -2
  82. package/dist/method/skills/write-sales/SKILL.md +1 -1
  83. package/dist/method/skills/write-ux-spec/SKILL.md +1 -1
  84. package/dist/product-root.js +89 -20839
  85. package/dist/project-command.js +185 -917
  86. package/dist/project-command2.js +1 -1
  87. package/dist/read-command.js +3 -3
  88. package/dist/sheet-command.js +4 -3
  89. package/dist/webauthn-verify.js +1 -2
  90. package/package.json +10 -9
  91. package/dist/method/skills/round-table/SKILL.md +0 -31
  92. package/dist/method/skills/round-table/evals/cases.yaml +0 -27
  93. package/dist/method/skills/round-table/references/closing.md +0 -18
  94. package/dist/method/skills/round-table/references/guests.md +0 -17
  95. package/dist/method/skills/round-table/references/rooms.md +0 -16
  96. package/dist/method/skills/round-table/references/table.md +0 -19
@@ -0,0 +1,118 @@
1
+ # Base CI for Go (go test, go vet, govulncheck): a template of the method, advice only.
2
+ # Yours to edit or to leave: decline it and nothing else changes. It makes no call to the method;
3
+ # every tool below is the ecosystem's own and free.
4
+ # One job per check of the pull request (lint, test, build, audit). A failed job keeps its logs and
5
+ # reports in `reports/` as a CI artifact. Adjust versions and paths to your product.
6
+ name: CI
7
+
8
+ on:
9
+ pull_request:
10
+ push:
11
+ branches: [main]
12
+
13
+ permissions:
14
+ contents: read
15
+
16
+ concurrency:
17
+ group: ci-${{ github.ref }}
18
+ cancel-in-progress: true
19
+
20
+ defaults:
21
+ run:
22
+ shell: bash
23
+
24
+ jobs:
25
+ lint:
26
+ name: lint
27
+ runs-on: ubuntu-latest
28
+ timeout-minutes: 15
29
+ steps:
30
+ - uses: actions/checkout@v4
31
+ - uses: actions/setup-go@v5
32
+ with:
33
+ go-version-file: go.mod
34
+ - name: lint
35
+ run: |
36
+ mkdir -p reports
37
+ go vet ./... 2>&1 | tee -a reports/lint.txt
38
+ gofmt -l . | tee -a reports/lint.txt
39
+ test -z "$(gofmt -l .)"
40
+ - name: Keep the evidence
41
+ if: failure()
42
+ uses: actions/upload-artifact@v4
43
+ with:
44
+ name: lint-evidence
45
+ path: |
46
+ reports/
47
+ if-no-files-found: ignore
48
+ retention-days: 14
49
+
50
+ test:
51
+ name: test
52
+ runs-on: ubuntu-latest
53
+ timeout-minutes: 30
54
+ steps:
55
+ - uses: actions/checkout@v4
56
+ - uses: actions/setup-go@v5
57
+ with:
58
+ go-version-file: go.mod
59
+ - name: test
60
+ run: |
61
+ mkdir -p reports
62
+ go test ./... 2>&1 | tee -a reports/test.txt
63
+ - name: Keep the evidence
64
+ if: failure()
65
+ uses: actions/upload-artifact@v4
66
+ with:
67
+ name: test-evidence
68
+ path: |
69
+ reports/
70
+ if-no-files-found: ignore
71
+ retention-days: 14
72
+
73
+ build:
74
+ name: build
75
+ runs-on: ubuntu-latest
76
+ timeout-minutes: 15
77
+ steps:
78
+ - uses: actions/checkout@v4
79
+ - uses: actions/setup-go@v5
80
+ with:
81
+ go-version-file: go.mod
82
+ - name: build
83
+ run: |
84
+ mkdir -p reports
85
+ go build ./... 2>&1 | tee -a reports/build.txt
86
+ - name: Keep the evidence
87
+ if: failure()
88
+ uses: actions/upload-artifact@v4
89
+ with:
90
+ name: build-evidence
91
+ path: |
92
+ reports/
93
+ if-no-files-found: ignore
94
+ retention-days: 14
95
+
96
+ audit:
97
+ name: audit
98
+ runs-on: ubuntu-latest
99
+ timeout-minutes: 10
100
+ steps:
101
+ - uses: actions/checkout@v4
102
+ - uses: actions/setup-go@v5
103
+ with:
104
+ go-version-file: go.mod
105
+ - name: audit
106
+ run: |
107
+ mkdir -p reports
108
+ go install golang.org/x/vuln/cmd/govulncheck@v1.1.4 2>&1 | tee -a reports/audit.txt
109
+ $(go env GOPATH)/bin/govulncheck ./... 2>&1 | tee -a reports/audit.txt
110
+ - name: Keep the evidence
111
+ if: failure()
112
+ uses: actions/upload-artifact@v4
113
+ with:
114
+ name: audit-evidence
115
+ path: |
116
+ reports/
117
+ if-no-files-found: ignore
118
+ retention-days: 14
@@ -0,0 +1,63 @@
1
+ # Base CI for Go (go test, go vet, govulncheck): a template of the method, advice only.
2
+ # Yours to edit or to leave: decline it and nothing else changes. It makes no call to the method;
3
+ # every tool below is the ecosystem's own and free.
4
+ # One job per check of the merge request (lint, test, build, audit). A failed job keeps its logs and
5
+ # reports in `reports/` as a CI artifact. Adjust versions and paths to your product.
6
+ image: golang:1.23
7
+
8
+ stages:
9
+ - check
10
+
11
+ default:
12
+ timeout: 30 minutes
13
+
14
+ lint:
15
+ stage: check
16
+ script:
17
+ - set -o pipefail
18
+ - mkdir -p reports
19
+ - 'go vet ./... 2>&1 | tee -a reports/lint.txt'
20
+ - 'gofmt -l . | tee -a reports/lint.txt'
21
+ - 'test -z "$(gofmt -l .)"'
22
+ artifacts:
23
+ when: on_failure
24
+ expire_in: 2 weeks
25
+ paths:
26
+ - reports/
27
+
28
+ test:
29
+ stage: check
30
+ script:
31
+ - set -o pipefail
32
+ - mkdir -p reports
33
+ - 'go test ./... 2>&1 | tee -a reports/test.txt'
34
+ artifacts:
35
+ when: on_failure
36
+ expire_in: 2 weeks
37
+ paths:
38
+ - reports/
39
+
40
+ build:
41
+ stage: check
42
+ script:
43
+ - set -o pipefail
44
+ - mkdir -p reports
45
+ - 'go build ./... 2>&1 | tee -a reports/build.txt'
46
+ artifacts:
47
+ when: on_failure
48
+ expire_in: 2 weeks
49
+ paths:
50
+ - reports/
51
+
52
+ audit:
53
+ stage: check
54
+ script:
55
+ - set -o pipefail
56
+ - mkdir -p reports
57
+ - 'go install golang.org/x/vuln/cmd/govulncheck@v1.1.4 2>&1 | tee -a reports/audit.txt'
58
+ - '$(go env GOPATH)/bin/govulncheck ./... 2>&1 | tee -a reports/audit.txt'
59
+ artifacts:
60
+ when: on_failure
61
+ expire_in: 2 weeks
62
+ paths:
63
+ - reports/
@@ -0,0 +1,134 @@
1
+ # Base CI for JVM with Gradle (test, check, dependency-check): a template of the method, advice only.
2
+ # Yours to edit or to leave: decline it and nothing else changes. It makes no call to the method;
3
+ # every tool below is the ecosystem's own and free.
4
+ # One job per check of the pull request (lint, test, build, audit). A failed job keeps its logs and
5
+ # reports in `reports/` as a CI artifact. Adjust versions and paths to your product.
6
+ # Audit: add the plugin `org.owasp.dependencycheck` to the build; until then this job fails on purpose.
7
+ # Lint: runs the static checks the build declares (checkstyle, spotless...).
8
+ # Audit: without an NVD API key (nvd { apiKey } in the build, from a secret of the forge) the first vulnerability database download is very slow; the audit job allows 30 minutes.
9
+ name: CI
10
+
11
+ on:
12
+ pull_request:
13
+ push:
14
+ branches: [main]
15
+
16
+ permissions:
17
+ contents: read
18
+
19
+ concurrency:
20
+ group: ci-${{ github.ref }}
21
+ cancel-in-progress: true
22
+
23
+ defaults:
24
+ run:
25
+ shell: bash
26
+
27
+ jobs:
28
+ lint:
29
+ name: lint
30
+ runs-on: ubuntu-latest
31
+ timeout-minutes: 15
32
+ steps:
33
+ - uses: actions/checkout@v4
34
+ - uses: actions/setup-java@v4
35
+ with:
36
+ distribution: temurin
37
+ java-version: "21"
38
+ cache: gradle
39
+ - name: lint
40
+ run: |
41
+ mkdir -p reports
42
+ ./gradlew --no-daemon check -x test 2>&1 | tee -a reports/lint.txt
43
+ - name: Keep the evidence
44
+ if: failure()
45
+ uses: actions/upload-artifact@v4
46
+ with:
47
+ name: lint-evidence
48
+ path: |
49
+ reports/
50
+ build/reports/
51
+ build/test-results/
52
+ if-no-files-found: ignore
53
+ retention-days: 14
54
+
55
+ test:
56
+ name: test
57
+ runs-on: ubuntu-latest
58
+ timeout-minutes: 30
59
+ steps:
60
+ - uses: actions/checkout@v4
61
+ - uses: actions/setup-java@v4
62
+ with:
63
+ distribution: temurin
64
+ java-version: "21"
65
+ cache: gradle
66
+ - name: test
67
+ run: |
68
+ mkdir -p reports
69
+ ./gradlew --no-daemon test 2>&1 | tee -a reports/test.txt
70
+ - name: Keep the evidence
71
+ if: failure()
72
+ uses: actions/upload-artifact@v4
73
+ with:
74
+ name: test-evidence
75
+ path: |
76
+ reports/
77
+ build/reports/
78
+ build/test-results/
79
+ if-no-files-found: ignore
80
+ retention-days: 14
81
+
82
+ build:
83
+ name: build
84
+ runs-on: ubuntu-latest
85
+ timeout-minutes: 15
86
+ steps:
87
+ - uses: actions/checkout@v4
88
+ - uses: actions/setup-java@v4
89
+ with:
90
+ distribution: temurin
91
+ java-version: "21"
92
+ cache: gradle
93
+ - name: build
94
+ run: |
95
+ mkdir -p reports
96
+ ./gradlew --no-daemon assemble 2>&1 | tee -a reports/build.txt
97
+ - name: Keep the evidence
98
+ if: failure()
99
+ uses: actions/upload-artifact@v4
100
+ with:
101
+ name: build-evidence
102
+ path: |
103
+ reports/
104
+ build/reports/
105
+ build/test-results/
106
+ if-no-files-found: ignore
107
+ retention-days: 14
108
+
109
+ audit:
110
+ name: audit
111
+ runs-on: ubuntu-latest
112
+ timeout-minutes: 30
113
+ steps:
114
+ - uses: actions/checkout@v4
115
+ - uses: actions/setup-java@v4
116
+ with:
117
+ distribution: temurin
118
+ java-version: "21"
119
+ cache: gradle
120
+ - name: audit
121
+ run: |
122
+ mkdir -p reports
123
+ ./gradlew --no-daemon dependencyCheckAnalyze 2>&1 | tee -a reports/audit.txt
124
+ - name: Keep the evidence
125
+ if: failure()
126
+ uses: actions/upload-artifact@v4
127
+ with:
128
+ name: audit-evidence
129
+ path: |
130
+ reports/
131
+ build/reports/
132
+ build/test-results/
133
+ if-no-files-found: ignore
134
+ retention-days: 14
@@ -0,0 +1,71 @@
1
+ # Base CI for JVM with Gradle (test, check, dependency-check): a template of the method, advice only.
2
+ # Yours to edit or to leave: decline it and nothing else changes. It makes no call to the method;
3
+ # every tool below is the ecosystem's own and free.
4
+ # One job per check of the merge request (lint, test, build, audit). A failed job keeps its logs and
5
+ # reports in `reports/` as a CI artifact. Adjust versions and paths to your product.
6
+ # Audit: add the plugin `org.owasp.dependencycheck` to the build; until then this job fails on purpose.
7
+ # Lint: runs the static checks the build declares (checkstyle, spotless...).
8
+ # Audit: without an NVD API key (nvd { apiKey } in the build, from a secret of the forge) the first vulnerability database download is very slow; the audit job allows 30 minutes.
9
+ image: gradle:8-jdk21
10
+
11
+ stages:
12
+ - check
13
+
14
+ default:
15
+ timeout: 30 minutes
16
+
17
+ lint:
18
+ stage: check
19
+ script:
20
+ - set -o pipefail
21
+ - mkdir -p reports
22
+ - './gradlew --no-daemon check -x test 2>&1 | tee -a reports/lint.txt'
23
+ artifacts:
24
+ when: on_failure
25
+ expire_in: 2 weeks
26
+ paths:
27
+ - reports/
28
+ - build/reports/
29
+ - build/test-results/
30
+
31
+ test:
32
+ stage: check
33
+ script:
34
+ - set -o pipefail
35
+ - mkdir -p reports
36
+ - './gradlew --no-daemon test 2>&1 | tee -a reports/test.txt'
37
+ artifacts:
38
+ when: on_failure
39
+ expire_in: 2 weeks
40
+ paths:
41
+ - reports/
42
+ - build/reports/
43
+ - build/test-results/
44
+
45
+ build:
46
+ stage: check
47
+ script:
48
+ - set -o pipefail
49
+ - mkdir -p reports
50
+ - './gradlew --no-daemon assemble 2>&1 | tee -a reports/build.txt'
51
+ artifacts:
52
+ when: on_failure
53
+ expire_in: 2 weeks
54
+ paths:
55
+ - reports/
56
+ - build/reports/
57
+ - build/test-results/
58
+
59
+ audit:
60
+ stage: check
61
+ script:
62
+ - set -o pipefail
63
+ - mkdir -p reports
64
+ - './gradlew --no-daemon dependencyCheckAnalyze 2>&1 | tee -a reports/audit.txt'
65
+ artifacts:
66
+ when: on_failure
67
+ expire_in: 2 weeks
68
+ paths:
69
+ - reports/
70
+ - build/reports/
71
+ - build/test-results/
@@ -0,0 +1,133 @@
1
+ # Base CI for JVM with Maven (surefire, checkstyle, dependency-check): a template of the method, advice only.
2
+ # Yours to edit or to leave: decline it and nothing else changes. It makes no call to the method;
3
+ # every tool below is the ecosystem's own and free.
4
+ # One job per check of the pull request (lint, test, build, audit). A failed job keeps its logs and
5
+ # reports in `reports/` as a CI artifact. Adjust versions and paths to your product.
6
+ # Lint: starts on the Google checkstyle rules; point it at your own configuration if you have one.
7
+ # Audit: without an NVD API key (a secret of the forge, passed as -DnvdApiKey=...) the first vulnerability database download is very slow; the audit job allows 30 minutes.
8
+ name: CI
9
+
10
+ on:
11
+ pull_request:
12
+ push:
13
+ branches: [main]
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ concurrency:
19
+ group: ci-${{ github.ref }}
20
+ cancel-in-progress: true
21
+
22
+ defaults:
23
+ run:
24
+ shell: bash
25
+
26
+ jobs:
27
+ lint:
28
+ name: lint
29
+ runs-on: ubuntu-latest
30
+ timeout-minutes: 15
31
+ steps:
32
+ - uses: actions/checkout@v4
33
+ - uses: actions/setup-java@v4
34
+ with:
35
+ distribution: temurin
36
+ java-version: "21"
37
+ cache: maven
38
+ - name: lint
39
+ run: |
40
+ mkdir -p reports
41
+ mvn -B checkstyle:check -Dcheckstyle.config.location=google_checks.xml -Dcheckstyle.violationSeverity=warning 2>&1 | tee -a reports/lint.txt
42
+ - name: Keep the evidence
43
+ if: failure()
44
+ uses: actions/upload-artifact@v4
45
+ with:
46
+ name: lint-evidence
47
+ path: |
48
+ reports/
49
+ target/surefire-reports/
50
+ target/dependency-check-report.html
51
+ if-no-files-found: ignore
52
+ retention-days: 14
53
+
54
+ test:
55
+ name: test
56
+ runs-on: ubuntu-latest
57
+ timeout-minutes: 30
58
+ steps:
59
+ - uses: actions/checkout@v4
60
+ - uses: actions/setup-java@v4
61
+ with:
62
+ distribution: temurin
63
+ java-version: "21"
64
+ cache: maven
65
+ - name: test
66
+ run: |
67
+ mkdir -p reports
68
+ mvn -B test 2>&1 | tee -a reports/test.txt
69
+ - name: Keep the evidence
70
+ if: failure()
71
+ uses: actions/upload-artifact@v4
72
+ with:
73
+ name: test-evidence
74
+ path: |
75
+ reports/
76
+ target/surefire-reports/
77
+ target/dependency-check-report.html
78
+ if-no-files-found: ignore
79
+ retention-days: 14
80
+
81
+ build:
82
+ name: build
83
+ runs-on: ubuntu-latest
84
+ timeout-minutes: 15
85
+ steps:
86
+ - uses: actions/checkout@v4
87
+ - uses: actions/setup-java@v4
88
+ with:
89
+ distribution: temurin
90
+ java-version: "21"
91
+ cache: maven
92
+ - name: build
93
+ run: |
94
+ mkdir -p reports
95
+ mvn -B -DskipTests package 2>&1 | tee -a reports/build.txt
96
+ - name: Keep the evidence
97
+ if: failure()
98
+ uses: actions/upload-artifact@v4
99
+ with:
100
+ name: build-evidence
101
+ path: |
102
+ reports/
103
+ target/surefire-reports/
104
+ target/dependency-check-report.html
105
+ if-no-files-found: ignore
106
+ retention-days: 14
107
+
108
+ audit:
109
+ name: audit
110
+ runs-on: ubuntu-latest
111
+ timeout-minutes: 30
112
+ steps:
113
+ - uses: actions/checkout@v4
114
+ - uses: actions/setup-java@v4
115
+ with:
116
+ distribution: temurin
117
+ java-version: "21"
118
+ cache: maven
119
+ - name: audit
120
+ run: |
121
+ mkdir -p reports
122
+ mvn -B org.owasp:dependency-check-maven:12.1.0:check -DfailBuildOnCVSS=7 2>&1 | tee -a reports/audit.txt
123
+ - name: Keep the evidence
124
+ if: failure()
125
+ uses: actions/upload-artifact@v4
126
+ with:
127
+ name: audit-evidence
128
+ path: |
129
+ reports/
130
+ target/surefire-reports/
131
+ target/dependency-check-report.html
132
+ if-no-files-found: ignore
133
+ retention-days: 14
@@ -0,0 +1,70 @@
1
+ # Base CI for JVM with Maven (surefire, checkstyle, dependency-check): a template of the method, advice only.
2
+ # Yours to edit or to leave: decline it and nothing else changes. It makes no call to the method;
3
+ # every tool below is the ecosystem's own and free.
4
+ # One job per check of the merge request (lint, test, build, audit). A failed job keeps its logs and
5
+ # reports in `reports/` as a CI artifact. Adjust versions and paths to your product.
6
+ # Lint: starts on the Google checkstyle rules; point it at your own configuration if you have one.
7
+ # Audit: without an NVD API key (a secret of the forge, passed as -DnvdApiKey=...) the first vulnerability database download is very slow; the audit job allows 30 minutes.
8
+ image: maven:3-eclipse-temurin-21
9
+
10
+ stages:
11
+ - check
12
+
13
+ default:
14
+ timeout: 30 minutes
15
+
16
+ lint:
17
+ stage: check
18
+ script:
19
+ - set -o pipefail
20
+ - mkdir -p reports
21
+ - 'mvn -B checkstyle:check -Dcheckstyle.config.location=google_checks.xml -Dcheckstyle.violationSeverity=warning 2>&1 | tee -a reports/lint.txt'
22
+ artifacts:
23
+ when: on_failure
24
+ expire_in: 2 weeks
25
+ paths:
26
+ - reports/
27
+ - target/surefire-reports/
28
+ - target/dependency-check-report.html
29
+
30
+ test:
31
+ stage: check
32
+ script:
33
+ - set -o pipefail
34
+ - mkdir -p reports
35
+ - 'mvn -B test 2>&1 | tee -a reports/test.txt'
36
+ artifacts:
37
+ when: on_failure
38
+ expire_in: 2 weeks
39
+ paths:
40
+ - reports/
41
+ - target/surefire-reports/
42
+ - target/dependency-check-report.html
43
+
44
+ build:
45
+ stage: check
46
+ script:
47
+ - set -o pipefail
48
+ - mkdir -p reports
49
+ - 'mvn -B -DskipTests package 2>&1 | tee -a reports/build.txt'
50
+ artifacts:
51
+ when: on_failure
52
+ expire_in: 2 weeks
53
+ paths:
54
+ - reports/
55
+ - target/surefire-reports/
56
+ - target/dependency-check-report.html
57
+
58
+ audit:
59
+ stage: check
60
+ script:
61
+ - set -o pipefail
62
+ - mkdir -p reports
63
+ - 'mvn -B org.owasp:dependency-check-maven:12.1.0:check -DfailBuildOnCVSS=7 2>&1 | tee -a reports/audit.txt'
64
+ artifacts:
65
+ when: on_failure
66
+ expire_in: 2 weeks
67
+ paths:
68
+ - reports/
69
+ - target/surefire-reports/
70
+ - target/dependency-check-report.html