@dougefresh/ci 0.1.15 → 0.1.17
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/defaults.d.ts +14 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +104 -0
- package/dist/defaults.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +126 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +89 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/package.json +9 -2
- package/src/defaults.ts +12 -0
- package/src/index.ts +10 -1
- package/src/types.ts +12 -0
- package/.checkov.yml +0 -7
- package/.env.example +0 -61
- package/.gitattributes +0 -3
- package/.github/actions/install-yq/action.yaml +0 -80
- package/.github/actions/install-yq/scripts/unixish.sh +0 -112
- package/.github/actions/install-yq/scripts/windowsish.ps1 +0 -99
- package/.github/actions/jobtaker/action.yml +0 -29
- package/.github/actions/rust-config/action.yml +0 -34
- package/.github/actions/rust-init/action.yml +0 -75
- package/.github/additional-prompt.md +0 -62
- package/.github/ci-configs/dummy.yml +0 -24
- package/.github/ci-configs/rust/ai.yml +0 -65
- package/.github/ci-configs/rust-default.yml +0 -115
- package/.github/ci-configs/test/01.yml +0 -9
- package/.github/dependabot.yml +0 -26
- package/.github/prompts/create-release-notes.prompt.md +0 -29
- package/.github/prompts/unit-test.prompt.md +0 -77
- package/.github/rust-ci.ts +0 -5
- package/.github/workflows/action-ci.yml +0 -39
- package/.github/workflows/action-review.yml +0 -57
- package/.github/workflows/dummy-release.yml +0 -32
- package/.github/workflows/dummy-test.yml +0 -16
- package/.github/workflows/pages.yml +0 -59
- package/.github/workflows/pr-review.yml +0 -59
- package/.github/workflows/release.yml +0 -36
- package/.github/workflows/rust-release.yml +0 -133
- package/.github/workflows/rust.yml +0 -247
- package/.node-version +0 -1
- package/AGENTS.md +0 -28
- package/Cargo.toml +0 -6
- package/action.yml +0 -50
- package/biome.json +0 -108
- package/bun.lock +0 -39
- package/docs/SUMMARY.md +0 -3
- package/docs/book.toml +0 -49
- package/docs/index.md +0 -32
- package/pre-commit +0 -2
- package/prompt-template.md +0 -180
- package/scripts/bump-version.ts +0 -16
- package/scripts/generate-rust.ts +0 -9
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
on:
|
|
2
|
-
workflow_call:
|
|
3
|
-
inputs:
|
|
4
|
-
runner:
|
|
5
|
-
type: string
|
|
6
|
-
required: false
|
|
7
|
-
concurrency:
|
|
8
|
-
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
9
|
-
cancel-in-progress: true
|
|
10
|
-
name: check test
|
|
11
|
-
jobs:
|
|
12
|
-
config:
|
|
13
|
-
runs-on: ${{ inputs.runner || vars.RUNNER }}
|
|
14
|
-
name: generate config
|
|
15
|
-
outputs:
|
|
16
|
-
config: ${{ steps.config.outputs.config }}
|
|
17
|
-
steps:
|
|
18
|
-
- name: config
|
|
19
|
-
id: config
|
|
20
|
-
uses: dougefresh/ci/.github/actions/rust-config@main
|
|
21
|
-
with:
|
|
22
|
-
arm64: ${{ vars.RUNNER_ARM64 }}
|
|
23
|
-
amd64: ${{ vars.RUNNER_AMD64 }}
|
|
24
|
-
# win: "windows-latest"
|
|
25
|
-
# mac: "macos-latest"
|
|
26
|
-
git_token: ${{ github.token }}
|
|
27
|
-
coverage:
|
|
28
|
-
runs-on: ${{ matrix.os }}
|
|
29
|
-
needs: [config]
|
|
30
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.coverage.if }}
|
|
31
|
-
name: coverage / ${{ matrix.features }} / ${{ matrix.os }} / ${{ matrix.toolchains }}
|
|
32
|
-
strategy:
|
|
33
|
-
fail-fast: false
|
|
34
|
-
matrix: ${{ fromJSON(toJSON(fromJSON(needs.config.outputs.config).jobs.coverage.matrix)) }}
|
|
35
|
-
steps:
|
|
36
|
-
- name: Init
|
|
37
|
-
uses: dougefresh/ci/.github/actions/rust-init@main
|
|
38
|
-
with:
|
|
39
|
-
packages: ${{ toJSON(fromJSON(needs.config.outputs.config).global.packages) }}
|
|
40
|
-
- name: llvm-tools
|
|
41
|
-
shell: bash
|
|
42
|
-
run: |
|
|
43
|
-
rustup default ${{ matrix.toolchains }}
|
|
44
|
-
rustup component add llvm-tools-preview
|
|
45
|
-
cargo install cargo-llvm-cov
|
|
46
|
-
- name: cargo generate-lockfile
|
|
47
|
-
if: hashFiles('Cargo.lock') == ''
|
|
48
|
-
run: cargo generate-lockfile
|
|
49
|
-
- name: llvm-cov (${{ matrix.features }})
|
|
50
|
-
run: |
|
|
51
|
-
${{ fromJSON(needs.config.outputs.config).jobs.coverage.run }}
|
|
52
|
-
env:
|
|
53
|
-
FEATURES: ${{ matrix.features }}
|
|
54
|
-
LLVM_ARGS: ${{ fromJSON(needs.config.outputs.config).jobs.coverage.args.llvm || '' }}
|
|
55
|
-
CARGO_ARGS: ${{ fromJSON(needs.config.outputs.config).jobs.coverage.args.test || '' }}
|
|
56
|
-
RUST_LOG: "${{ fromJSON(needs.config.outputs.config).global.rustlog || 'info' }}"
|
|
57
|
-
- name: Record Rust version
|
|
58
|
-
run: echo "RUST=$(rustc --version)" >> "$GITHUB_ENV"
|
|
59
|
-
- name: Upload to codecov.io
|
|
60
|
-
uses: codecov/codecov-action@v5
|
|
61
|
-
with:
|
|
62
|
-
fail_ci_if_error: true
|
|
63
|
-
token: ${{ secrets.CODECOV_TOKEN }}
|
|
64
|
-
files: lcov-${{ matrix.features }}.info
|
|
65
|
-
flags: ${{ matrix.features }}
|
|
66
|
-
env_vars: OS,RUST
|
|
67
|
-
fmt:
|
|
68
|
-
needs: [config]
|
|
69
|
-
runs-on: ${{ vars.RUNNER }}
|
|
70
|
-
name: fmt
|
|
71
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.fmt.if }}
|
|
72
|
-
steps:
|
|
73
|
-
- name: Init
|
|
74
|
-
uses: dougefresh/ci/.github/actions/rust-init@main
|
|
75
|
-
- name: fmt
|
|
76
|
-
run: |
|
|
77
|
-
${{ fromJSON(needs.config.outputs.config).jobs.fmt.run }}
|
|
78
|
-
clippy:
|
|
79
|
-
needs: [config]
|
|
80
|
-
runs-on: ${{ matrix.os }}
|
|
81
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.clippy.if }}
|
|
82
|
-
name: clippy / ${{ matrix.features }} / ${{ matrix.os }}
|
|
83
|
-
permissions:
|
|
84
|
-
contents: read
|
|
85
|
-
checks: write
|
|
86
|
-
strategy:
|
|
87
|
-
fail-fast: false
|
|
88
|
-
matrix: ${{ fromJSON(toJSON(fromJSON(needs.config.outputs.config).jobs.clippy.matrix)) }}
|
|
89
|
-
steps:
|
|
90
|
-
- name: Init
|
|
91
|
-
uses: dougefresh/ci/.github/actions/rust-init@main
|
|
92
|
-
with:
|
|
93
|
-
packages: ${{ toJSON(fromJSON(needs.config.outputs.config).global.packages) }}
|
|
94
|
-
- name: clippy / ${{ matrix.features }}
|
|
95
|
-
uses: giraffate/clippy-action@v1
|
|
96
|
-
with:
|
|
97
|
-
reporter: 'github-pr-check'
|
|
98
|
-
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
99
|
-
tool_name: clippy-${{ matrix.toolchains }}-${{ matrix.features }}
|
|
100
|
-
clippy_flags: ${{ matrix.features != 'default' && format('--features {0}', matrix.features) || '' }}
|
|
101
|
-
semver:
|
|
102
|
-
needs: [config]
|
|
103
|
-
runs-on: ${{ vars.RUNNER_AMD64 }}
|
|
104
|
-
name: semver
|
|
105
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.semver.if }}
|
|
106
|
-
steps:
|
|
107
|
-
- name: Init
|
|
108
|
-
uses: dougefresh/ci/.github/actions/rust-init@main
|
|
109
|
-
with:
|
|
110
|
-
packages: ${{ toJSON(fromJSON(needs.config.outputs.config).global.packages) }}
|
|
111
|
-
- name: cargo-semver-checks
|
|
112
|
-
uses: obi1kenobi/cargo-semver-checks-action@v2
|
|
113
|
-
hack:
|
|
114
|
-
needs: [config]
|
|
115
|
-
# cargo-hack checks combinations of feature flags to ensure that features are all additive
|
|
116
|
-
# which is required for feature unification
|
|
117
|
-
runs-on: ${{ vars.RUNNER }}
|
|
118
|
-
name: hack
|
|
119
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.hack.if }}
|
|
120
|
-
steps:
|
|
121
|
-
- name: Init
|
|
122
|
-
uses: dougefresh/ci/.github/actions/rust-init@main
|
|
123
|
-
with:
|
|
124
|
-
packages: ${{ toJSON(fromJSON(needs.config.outputs.config).global.packages) }}
|
|
125
|
-
- name: Install cargo-hack
|
|
126
|
-
uses: baptiste0928/cargo-install@v3
|
|
127
|
-
with:
|
|
128
|
-
crate: cargo-hack
|
|
129
|
-
locked: false
|
|
130
|
-
# intentionally no target specifier; see https://github.com/jonhoo/rust-ci-conf/pull/4
|
|
131
|
-
# --feature-powerset runs for every combination of features
|
|
132
|
-
- name: cargo hack
|
|
133
|
-
run: cargo hack --feature-powerset check
|
|
134
|
-
doc:
|
|
135
|
-
needs: [config]
|
|
136
|
-
runs-on: ${{ vars.RUNNER }}
|
|
137
|
-
name: doc
|
|
138
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.docCheck.if }}
|
|
139
|
-
steps:
|
|
140
|
-
- name: Init
|
|
141
|
-
uses: dougefresh/ci/.github/actions/rust-init@main
|
|
142
|
-
with:
|
|
143
|
-
packages: ${{ toJSON(fromJSON(needs.config.outputs.config).global.packages) }}
|
|
144
|
-
- name: Install cargo-docs-rs
|
|
145
|
-
uses: baptiste0928/cargo-install@v3
|
|
146
|
-
with:
|
|
147
|
-
crate: cargo-docs-rs
|
|
148
|
-
locked: false
|
|
149
|
-
- name: cargo docs-rs
|
|
150
|
-
run: |
|
|
151
|
-
${{ fromJSON(needs.config.outputs.config).jobs.dockCheck.run }}
|
|
152
|
-
cargo-sort:
|
|
153
|
-
needs: [config]
|
|
154
|
-
runs-on: ${{ vars.RUNNER }}
|
|
155
|
-
name: cargo-sort
|
|
156
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.cargoSort.if }}
|
|
157
|
-
steps:
|
|
158
|
-
- name: Init
|
|
159
|
-
uses: dougefresh/ci/.github/actions/rust-init@main
|
|
160
|
-
- name: Install cargo-sort
|
|
161
|
-
uses: baptiste0928/cargo-install@v3
|
|
162
|
-
with:
|
|
163
|
-
crate: cargo-sort
|
|
164
|
-
locked: false
|
|
165
|
-
- name: Check `Cargo.toml` sort
|
|
166
|
-
run: |
|
|
167
|
-
${{ fromJSON(needs.config.outputs.config).jobs.cargoSort.run }}
|
|
168
|
-
dependencies:
|
|
169
|
-
needs: [config]
|
|
170
|
-
runs-on: ${{ vars.RUNNER }}
|
|
171
|
-
name: check unused deps
|
|
172
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.dependencies.if }}
|
|
173
|
-
steps:
|
|
174
|
-
- name: Init
|
|
175
|
-
uses: dougefresh/ci/.github/actions/rust-init@main
|
|
176
|
-
- name: Install cargo-machete
|
|
177
|
-
uses: baptiste0928/cargo-install@v3
|
|
178
|
-
with:
|
|
179
|
-
crate: cargo-machete
|
|
180
|
-
locked: false
|
|
181
|
-
- name: Check unused Cargo dependencies
|
|
182
|
-
run: |
|
|
183
|
-
${{ fromJSON(needs.config.outputs.config).jobs.dependencies.run }}
|
|
184
|
-
sanitizers:
|
|
185
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.sanitizers.enabled }}
|
|
186
|
-
name: sanitizers
|
|
187
|
-
runs-on: ${{ vars.RUNNER }}
|
|
188
|
-
needs: [config, coverage]
|
|
189
|
-
steps:
|
|
190
|
-
- name: Init
|
|
191
|
-
uses: dougefresh/ci/.github/actions/rust-init@main
|
|
192
|
-
with:
|
|
193
|
-
packages: ${{ toJSON(fromJSON(needs.config.outputs.config).global.packages) }}
|
|
194
|
-
- name: Enable debug symbols
|
|
195
|
-
run: |
|
|
196
|
-
#rustup target add x86_64-unknown-linux-gnu
|
|
197
|
-
echo _rust_target=aarch64-unknown-linux-gnu >> $GITHUB_ENV
|
|
198
|
-
rustup default nightly
|
|
199
|
-
# to get the symbolizer for debug symbol resolution
|
|
200
|
-
sudo apt install llvm
|
|
201
|
-
# to fix buggy leak analyzer:
|
|
202
|
-
# https://github.com/japaric/rust-san#unrealiable-leaksanitizer
|
|
203
|
-
# ensure there's a profile.dev section
|
|
204
|
-
if ! grep -qE '^[ \t]*[profile.dev]' Cargo.toml; then
|
|
205
|
-
echo >> Cargo.toml
|
|
206
|
-
echo '[profile.dev]' >> Cargo.toml
|
|
207
|
-
fi
|
|
208
|
-
# remove pre-existing opt-levels in profile.dev
|
|
209
|
-
sed -i '/^\s*\[profile.dev\]/,/^\s*\[/ {/^\s*opt-level/d}' Cargo.toml
|
|
210
|
-
# now set opt-level to 1
|
|
211
|
-
sed -i '/^\s*\[profile.dev\]/a opt-level = 1' Cargo.toml
|
|
212
|
-
- name: cargo test -Zsanitizer=address
|
|
213
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.sanitizers.address.if }}
|
|
214
|
-
# only --lib --tests b/c of https://github.com/rust-lang/rust/issues/53945
|
|
215
|
-
run: |
|
|
216
|
-
cargo test --lib --tests --no-fail-fast --target ${_rust_target} -- --no-capture
|
|
217
|
-
env:
|
|
218
|
-
ASAN_OPTIONS: 'detect_odr_violation=0:detect_leaks=0'
|
|
219
|
-
RUSTFLAGS: '-Z sanitizer=address'
|
|
220
|
-
- name: cargo test -Zsanitizer=leak
|
|
221
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.sanitizers.leak.if }}
|
|
222
|
-
run: |
|
|
223
|
-
cargo test --target ${_rust_target} -- --no-capture
|
|
224
|
-
env:
|
|
225
|
-
LSAN_OPTIONS: 'suppressions=lsan-suppressions.txt'
|
|
226
|
-
RUSTFLAGS: '-Z sanitizer=leak'
|
|
227
|
-
- name: cargo test -Zsanitizer=thread
|
|
228
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.sanitizers.thread.if }}
|
|
229
|
-
run: cargo test --target ${_rust_target} -- --test-threads=1 --no-capture
|
|
230
|
-
env:
|
|
231
|
-
RUSTFLAGS: '-Z sanitizer=thread'
|
|
232
|
-
extra:
|
|
233
|
-
needs: [config]
|
|
234
|
-
runs-on: ${{ matrix.os }}
|
|
235
|
-
name: ${{ fromJSON(needs.config.outputs.config).jobs.extra.name }}
|
|
236
|
-
if: ${{ fromJSON(needs.config.outputs.config).jobs.extra.if }}
|
|
237
|
-
strategy:
|
|
238
|
-
fail-fast: false
|
|
239
|
-
matrix: ${{ fromJSON(toJSON(fromJSON(needs.config.outputs.config).jobs.extra.matrix)) }}
|
|
240
|
-
steps:
|
|
241
|
-
- name: Init
|
|
242
|
-
uses: dougefresh/ci/.github/actions/rust-init@main
|
|
243
|
-
with:
|
|
244
|
-
packages: ${{ toJSON(fromJSON(needs.config.outputs.config).global.packages) }}
|
|
245
|
-
- name: ${{ fromJSON(needs.config.outputs.config).jobs.extra.name }} / ${{ matrix.os }}
|
|
246
|
-
run: |
|
|
247
|
-
${{ fromJSON(needs.config.outputs.config).jobs.extra.run }}
|
package/.node-version
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
24
|
package/AGENTS.md
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
## Key Design Principles
|
|
2
|
-
- TypeScript-based CI config generation (not traditional YAML)
|
|
3
|
-
- Config flows: User TS → JSON generation → Workflow consumption
|
|
4
|
-
- Focus on logical errors and unintended consequences, not design critique, unless your critique reduces maintenance cost or greater flexibility
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Note, this is a personal action / tool. It isn't meant for widespread use.
|
|
8
|
-
It isn't perfect, nor will this ever be perfect.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Review README.md for design flow
|
|
12
|
-
|
|
13
|
-
## GitHub Workflow
|
|
14
|
-
|
|
15
|
-
**Note**: This section only applies when running in GitHub Actions context (when `CI` environment variable is set). Ignore otherwise.
|
|
16
|
-
|
|
17
|
-
### Validation Prompt Detection
|
|
18
|
-
|
|
19
|
-
Before performing code review, verify that `.github/additional-prompt.md` was successfully injected into your prompt context:
|
|
20
|
-
|
|
21
|
-
1. **Self-check**: Check if `.github/additional-prompt.md` is present in your context/prompt
|
|
22
|
-
2. **Report status**:
|
|
23
|
-
- ✅ If found: Proceed with validation tasks defined in that file
|
|
24
|
-
- ❌ If not found: Report "Validation prompt not loaded - skipping QA checks" and continue with standard code review only
|
|
25
|
-
|
|
26
|
-
This ensures the action's prompt generation step (`action.yml` → `prompt` step) executed correctly.
|
|
27
|
-
|
|
28
|
-
|
package/Cargo.toml
DELETED
package/action.yml
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
name: ci-config
|
|
2
|
-
description: config ci config
|
|
3
|
-
author: dougEfresh
|
|
4
|
-
branding:
|
|
5
|
-
icon: scissors
|
|
6
|
-
color: black
|
|
7
|
-
outputs:
|
|
8
|
-
config:
|
|
9
|
-
description: JSON string of the config
|
|
10
|
-
value: ${{ steps.generate.outputs.config }}
|
|
11
|
-
runs:
|
|
12
|
-
using: composite
|
|
13
|
-
steps:
|
|
14
|
-
- name: setup bun
|
|
15
|
-
uses: oven-sh/setup-bun@v2
|
|
16
|
-
- name: install
|
|
17
|
-
shell: bash
|
|
18
|
-
run: |
|
|
19
|
-
cd ${{ github.action_path }}
|
|
20
|
-
bun install
|
|
21
|
-
- name: build
|
|
22
|
-
shell: bash
|
|
23
|
-
run: |
|
|
24
|
-
cd ${{ github.action_path }}
|
|
25
|
-
bun run build
|
|
26
|
-
- id: prompt
|
|
27
|
-
shell: bash
|
|
28
|
-
run: |
|
|
29
|
-
sed -e 's/%REPO%/{{ github.repository }}/g' -e 's/%PR%/{{ github.event.pull_request.number }}/g' \
|
|
30
|
-
${{ github.action_path }}/prompt-template.md > claude-prompt.md
|
|
31
|
-
if [ -f .github/additional-prompt.md ] ; then
|
|
32
|
-
cat .github/additional-prompt.md >> claude-prompt.md
|
|
33
|
-
fi
|
|
34
|
-
- id: generate
|
|
35
|
-
name: generate
|
|
36
|
-
shell: bash
|
|
37
|
-
run: |
|
|
38
|
-
if [ ! -f .github/rust-ci.ts ]; then
|
|
39
|
-
echo "::error::Missing .github/rust-ci.ts config file"
|
|
40
|
-
exit 1
|
|
41
|
-
fi
|
|
42
|
-
if [ .github/rust-ci.ts -ef ${{ github.action_path }}/.github/rust-ci.ts ]; then
|
|
43
|
-
echo "Running in action repo, skipping copy"
|
|
44
|
-
else
|
|
45
|
-
cp -v .github/rust-ci.ts ${{ github.action_path }}/.github/
|
|
46
|
-
fi
|
|
47
|
-
cat ${{ github.action_path }}/.github/rust-ci.ts
|
|
48
|
-
cd ${{ github.action_path }}
|
|
49
|
-
CONFIG="$(bun run ./scripts/generate-rust.ts | jq . --compact-output )"
|
|
50
|
-
echo "config=$CONFIG" >> $GITHUB_OUTPUT
|
package/biome.json
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/2.3.13/schema.json",
|
|
3
|
-
"json": {
|
|
4
|
-
"formatter": {
|
|
5
|
-
"enabled": true,
|
|
6
|
-
"indentStyle": "space",
|
|
7
|
-
"indentWidth": 2
|
|
8
|
-
}
|
|
9
|
-
},
|
|
10
|
-
"vcs": {
|
|
11
|
-
"enabled": false,
|
|
12
|
-
"clientKind": "git",
|
|
13
|
-
"useIgnoreFile": false
|
|
14
|
-
},
|
|
15
|
-
"files": {
|
|
16
|
-
"ignoreUnknown": false,
|
|
17
|
-
"includes": ["**", "!dist/*", "!coverage/"]
|
|
18
|
-
},
|
|
19
|
-
"formatter": {
|
|
20
|
-
"enabled": true,
|
|
21
|
-
"indentStyle": "space",
|
|
22
|
-
"formatWithErrors": true,
|
|
23
|
-
"indentWidth": 2
|
|
24
|
-
},
|
|
25
|
-
"assist": {
|
|
26
|
-
"actions": {
|
|
27
|
-
"source": {
|
|
28
|
-
"organizeImports": "on"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
"linter": {
|
|
33
|
-
"enabled": true,
|
|
34
|
-
"rules": {
|
|
35
|
-
"recommended": true,
|
|
36
|
-
"correctness": {
|
|
37
|
-
"noConstantMathMinMaxClamp": "error",
|
|
38
|
-
"noUndeclaredVariables": "error",
|
|
39
|
-
"noUnusedImports": "error",
|
|
40
|
-
"noUnusedFunctionParameters": "error",
|
|
41
|
-
"noUnusedPrivateClassMembers": "error",
|
|
42
|
-
"useExhaustiveDependencies": {
|
|
43
|
-
"level": "error",
|
|
44
|
-
"options": {
|
|
45
|
-
"reportUnnecessaryDependencies": false
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
"noUnusedVariables": "error"
|
|
49
|
-
},
|
|
50
|
-
"style": {
|
|
51
|
-
"noParameterProperties": "error",
|
|
52
|
-
"noYodaExpression": "error",
|
|
53
|
-
"useConsistentBuiltinInstantiation": "error",
|
|
54
|
-
"useFragmentSyntax": "error",
|
|
55
|
-
"useShorthandAssign": "error",
|
|
56
|
-
"noNonNullAssertion": "off",
|
|
57
|
-
"noParameterAssign": "error",
|
|
58
|
-
"useAsConstAssertion": "error",
|
|
59
|
-
"useDefaultParameterLast": "error",
|
|
60
|
-
"useEnumInitializers": "error",
|
|
61
|
-
"useSelfClosingElements": "error",
|
|
62
|
-
"useSingleVarDeclarator": "error",
|
|
63
|
-
"noUnusedTemplateLiteral": "error",
|
|
64
|
-
"useNumberNamespace": "error",
|
|
65
|
-
"noInferrableTypes": "error",
|
|
66
|
-
"noUselessElse": "error",
|
|
67
|
-
"useArrayLiterals": "error"
|
|
68
|
-
},
|
|
69
|
-
"suspicious": {
|
|
70
|
-
"useAwait": "off",
|
|
71
|
-
"noEvolvingTypes": "off",
|
|
72
|
-
"noExplicitAny": "off"
|
|
73
|
-
},
|
|
74
|
-
"complexity": {
|
|
75
|
-
"noUselessStringConcat": "error",
|
|
76
|
-
"noUselessUndefinedInitialization": "error",
|
|
77
|
-
"noVoid": "error",
|
|
78
|
-
"useDateNow": "error",
|
|
79
|
-
"noBannedTypes": "off",
|
|
80
|
-
"noForEach": "off",
|
|
81
|
-
"useOptionalChain": "off",
|
|
82
|
-
"useLiteralKeys": "off"
|
|
83
|
-
},
|
|
84
|
-
"performance": {
|
|
85
|
-
"noAccumulatingSpread": "off"
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
"javascript": {
|
|
90
|
-
"globals": ["Bun", "structuredClone"],
|
|
91
|
-
"formatter": {
|
|
92
|
-
"arrowParentheses": "always",
|
|
93
|
-
"quoteStyle": "single",
|
|
94
|
-
"bracketSameLine": false,
|
|
95
|
-
"semicolons": "always",
|
|
96
|
-
"bracketSpacing": true,
|
|
97
|
-
"trailingCommas": "all",
|
|
98
|
-
"quoteProperties": "asNeeded",
|
|
99
|
-
"enabled": true,
|
|
100
|
-
"attributePosition": "auto",
|
|
101
|
-
"indentWidth": 2,
|
|
102
|
-
"indentStyle": "space",
|
|
103
|
-
"jsxQuoteStyle": "double",
|
|
104
|
-
"lineEnding": "lf",
|
|
105
|
-
"lineWidth": 120
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
package/bun.lock
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"lockfileVersion": 1,
|
|
3
|
-
"configVersion": 0,
|
|
4
|
-
"workspaces": {
|
|
5
|
-
"": {
|
|
6
|
-
"name": "@carteramesh/ci",
|
|
7
|
-
"devDependencies": {
|
|
8
|
-
"@types/bun": "^1.3.6",
|
|
9
|
-
"@types/node": "^24.10.1",
|
|
10
|
-
"@typescript/native-preview": "latest",
|
|
11
|
-
},
|
|
12
|
-
},
|
|
13
|
-
},
|
|
14
|
-
"packages": {
|
|
15
|
-
"@types/bun": ["@types/bun@1.3.6", "", { "dependencies": { "bun-types": "1.3.6" } }, "sha512-uWCv6FO/8LcpREhenN1d1b6fcspAB+cefwD7uti8C8VffIv0Um08TKMn98FynpTiU38+y2dUO55T11NgDt8VAA=="],
|
|
16
|
-
|
|
17
|
-
"@types/node": ["@types/node@24.10.4", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-vnDVpYPMzs4wunl27jHrfmwojOGKya0xyM3sH+UE5iv5uPS6vX7UIoh6m+vQc5LGBq52HBKPIn/zcSZVzeDEZg=="],
|
|
18
|
-
|
|
19
|
-
"@typescript/native-preview": ["@typescript/native-preview@7.0.0-dev.20260130.1", "", { "optionalDependencies": { "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20260130.1", "@typescript/native-preview-darwin-x64": "7.0.0-dev.20260130.1", "@typescript/native-preview-linux-arm": "7.0.0-dev.20260130.1", "@typescript/native-preview-linux-arm64": "7.0.0-dev.20260130.1", "@typescript/native-preview-linux-x64": "7.0.0-dev.20260130.1", "@typescript/native-preview-win32-arm64": "7.0.0-dev.20260130.1", "@typescript/native-preview-win32-x64": "7.0.0-dev.20260130.1" }, "bin": { "tsgo": "bin/tsgo.js" } }, "sha512-lvt9sECmBkrABxl3rMNRAX2unzhYcoNhlTyR7rOvbyM//QTXKUctVD7ByWBvk02et2caUUwIWq2vnygaeW8Mew=="],
|
|
20
|
-
|
|
21
|
-
"@typescript/native-preview-darwin-arm64": ["@typescript/native-preview-darwin-arm64@7.0.0-dev.20260130.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Jo5kVoxaewKPn/3bKWyUB/gPR+Tjhj6isLc8VshV4OyFX4n6pkvVyk3ANivl7Kwmiv3WGKGUotbZ71DKCZATwA=="],
|
|
22
|
-
|
|
23
|
-
"@typescript/native-preview-darwin-x64": ["@typescript/native-preview-darwin-x64@7.0.0-dev.20260130.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-dR0fjdcLykfiDOIKjZMGqPBHVl9Dd/C+jFU43Wr3dcPFPFf1oVYsaWAZBSkTXnN9QP8i0/ZV+ZUr1gDjoi3x0Q=="],
|
|
24
|
-
|
|
25
|
-
"@typescript/native-preview-linux-arm": ["@typescript/native-preview-linux-arm@7.0.0-dev.20260130.1", "", { "os": "linux", "cpu": "arm" }, "sha512-wnx4bY/1u006U67fEkPtPVZ65VYMLgkFqOadGyrUxhtveR5WbbgFUuUBES0mPxvzS4ToZzn94jhcnAvN8VOTcA=="],
|
|
26
|
-
|
|
27
|
-
"@typescript/native-preview-linux-arm64": ["@typescript/native-preview-linux-arm64@7.0.0-dev.20260130.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-P/1YTpIiFd2pPtHt4sKEmUTaKf1xvuuiV0TvhQ7n2gDYskNjZ66iWCC9w7okjgsmWE9JLh/IRrNcb9FKVk3SHw=="],
|
|
28
|
-
|
|
29
|
-
"@typescript/native-preview-linux-x64": ["@typescript/native-preview-linux-x64@7.0.0-dev.20260130.1", "", { "os": "linux", "cpu": "x64" }, "sha512-OgHVjivuOS22WIZvIm+Pnm7yqFLwonkIrBOxRdew/pPwVGLQVSo+bQ+RocQDj2VFYxXcHs2yXwCk3PDmwLIYYg=="],
|
|
30
|
-
|
|
31
|
-
"@typescript/native-preview-win32-arm64": ["@typescript/native-preview-win32-arm64@7.0.0-dev.20260130.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-f/DUxQtIWkZq0eUjZHFmaSxterO/ccu1NxFk0L/Oqj7AfjWVDCqrLVgZJKjvwcG5TEb5AVt7GMUpGEAYZQiUvg=="],
|
|
32
|
-
|
|
33
|
-
"@typescript/native-preview-win32-x64": ["@typescript/native-preview-win32-x64@7.0.0-dev.20260130.1", "", { "os": "win32", "cpu": "x64" }, "sha512-Isr051Cq8RbXOUMYYmwLYw8yBGaEG/Zp0sp7HNeYhVVkc3/3KeveEqCk29q1QRwiBr7HnApdzJP7f+lSZk8gmg=="],
|
|
34
|
-
|
|
35
|
-
"bun-types": ["bun-types@1.3.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-OlFwHcnNV99r//9v5IIOgQ9Uk37gZqrNMCcqEaExdkVq3Avwqok1bJFmvGMCkCE0FqzdY8VMOZpfpR3lwI+CsQ=="],
|
|
36
|
-
|
|
37
|
-
"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
|
|
38
|
-
}
|
|
39
|
-
}
|
package/docs/SUMMARY.md
DELETED
package/docs/book.toml
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
[book]
|
|
2
|
-
title = "Kiro Agent Generator"
|
|
3
|
-
authors = ["Doug Chimento"]
|
|
4
|
-
language = "en"
|
|
5
|
-
src = "src"
|
|
6
|
-
|
|
7
|
-
[build]
|
|
8
|
-
build-dir = "book"
|
|
9
|
-
create-missing = false
|
|
10
|
-
use-default-preprocessors = true
|
|
11
|
-
|
|
12
|
-
[output.html]
|
|
13
|
-
default-theme = "Rust"
|
|
14
|
-
preferred-dark-theme = "Ayu"
|
|
15
|
-
smart-punctuation = true
|
|
16
|
-
mathjax-support = true
|
|
17
|
-
#copy-fonts = true
|
|
18
|
-
no-section-label = false
|
|
19
|
-
git-repository-url = "https://github.com/carteraMesh/kiro-generator"
|
|
20
|
-
edit-url-template = "https://github.com/carteraMesh/kiro-generator/edit/main/docs/{path}"
|
|
21
|
-
|
|
22
|
-
[output.html.print]
|
|
23
|
-
enable = true
|
|
24
|
-
|
|
25
|
-
[output.html.fold]
|
|
26
|
-
enable = true
|
|
27
|
-
level = 1
|
|
28
|
-
|
|
29
|
-
[output.html.search]
|
|
30
|
-
enable = true
|
|
31
|
-
limit-results = 30
|
|
32
|
-
teaser-word-count = 30
|
|
33
|
-
use-boolean-and = true
|
|
34
|
-
boost-title = 2
|
|
35
|
-
boost-hierarchy = 1
|
|
36
|
-
boost-paragraph = 1
|
|
37
|
-
expand = true
|
|
38
|
-
heading-split-level = 3
|
|
39
|
-
copy-js = true
|
|
40
|
-
|
|
41
|
-
[preprocessor]
|
|
42
|
-
# [preprocessor.embedify]
|
|
43
|
-
# scroll-to-top.enable = true
|
|
44
|
-
# footer.enable = true
|
|
45
|
-
# footer.message = "Copyright © 2025 • Created with SOL by [dougEfresh](https://github.com/dougeEfresh)"
|
|
46
|
-
|
|
47
|
-
# announcement-banner.enable = false
|
|
48
|
-
# announcement-banner.id = "3.0.11"
|
|
49
|
-
# announcement-banner.message = "*New version [3.0.11](https://github.com/carteraMesh/kiro-generator/releases/tag/3.0.11)*"
|
package/docs/index.md
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
## About
|
|
2
|
-
|
|
3
|
-
`kiro-generator` (kg) is a CLI tool for managing and generating [Kiro](https://kiro.dev/docs/) agent files.
|
|
4
|
-
|
|
5
|
-
## Why?
|
|
6
|
-
|
|
7
|
-
Because managing config files via `JSON` is the second worse format. Obviously `YAML` files takes 1st prize
|
|
8
|
-
|
|
9
|
-
## Prerequisites
|
|
10
|
-
|
|
11
|
-
- [kiro-cli](https://kiro.dev/cli/)
|
|
12
|
-
- A distaste for `JSON` config files
|
|
13
|
-
|
|
14
|
-
## Features
|
|
15
|
-
|
|
16
|
-
### Config Hierarchy
|
|
17
|
-
|
|
18
|
-
KG provides a hierarchical configuration system that allows you to define and override settings at different levels. The
|
|
19
|
-
schemas is mostly the same as `kiro-cli` JSON's format but defined as TOML, with a few added fields explained in
|
|
20
|
-
[usage](./usage.md)
|
|
21
|
-
|
|
22
|
-
### Agent Declaration
|
|
23
|
-
|
|
24
|
-
By default Agents can be declared globally `~/.kiro/generators/kg.toml` or locally `.kiro/generators/kg.toml`. If both
|
|
25
|
-
are present, the local configuration takes precedence, however both configurations are merged together. You can use
|
|
26
|
-
`--local` argument to ignore global configuration.
|
|
27
|
-
|
|
28
|
-
### Force Permissions
|
|
29
|
-
|
|
30
|
-
You can override toolsettings permissions. For example, you can have your `default` agent deny executing `git push`, but
|
|
31
|
-
override this for special use cases, see [inheritance](config/inheritance.md) and [usage](./usage.md) for more
|
|
32
|
-
information.
|
package/pre-commit
DELETED