@hivehub/rulebook 5.4.0 → 5.5.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 (51) hide show
  1. package/LICENSE +191 -191
  2. package/README.md +1 -0
  3. package/dist/core/generator.d.ts +1 -1
  4. package/dist/core/generator.d.ts.map +1 -1
  5. package/dist/core/generator.js +1 -0
  6. package/dist/core/generator.js.map +1 -1
  7. package/package.json +1 -1
  8. package/templates/cli/gemini-extension.json +77 -77
  9. package/templates/core/AGENTS_LEAN.md +9 -0
  10. package/templates/core/CLAUDE_MD_v2.md +9 -0
  11. package/templates/core/WORKSPACE.md +69 -69
  12. package/templates/skills/core/karpathy-guidelines/SKILL.md +93 -0
  13. package/templates/workflows/codespell.yml +31 -31
  14. package/templates/workflows/cpp-lint.yml +47 -47
  15. package/templates/workflows/cpp-publish.yml +119 -119
  16. package/templates/workflows/cpp-test.yml +77 -77
  17. package/templates/workflows/dotnet-lint.yml +29 -29
  18. package/templates/workflows/dotnet-publish.yml +40 -40
  19. package/templates/workflows/dotnet-test.yml +41 -41
  20. package/templates/workflows/elixir-lint.yml +45 -45
  21. package/templates/workflows/elixir-publish.yml +49 -49
  22. package/templates/workflows/elixir-test.yml +54 -54
  23. package/templates/workflows/erlang-lint.yml +47 -47
  24. package/templates/workflows/erlang-test.yml +62 -62
  25. package/templates/workflows/go-lint.yml +39 -39
  26. package/templates/workflows/go-publish.yml +95 -95
  27. package/templates/workflows/go-test.yml +59 -59
  28. package/templates/workflows/java-lint.yml +60 -60
  29. package/templates/workflows/java-publish.yml +120 -120
  30. package/templates/workflows/java-test.yml +85 -85
  31. package/templates/workflows/kotlin-lint.yml +34 -34
  32. package/templates/workflows/kotlin-publish.yml +56 -56
  33. package/templates/workflows/kotlin-test.yml +48 -48
  34. package/templates/workflows/php-lint.yml +39 -39
  35. package/templates/workflows/php-publish.yml +50 -50
  36. package/templates/workflows/php-test.yml +54 -54
  37. package/templates/workflows/python-lint.yml +47 -47
  38. package/templates/workflows/python-publish.yml +91 -91
  39. package/templates/workflows/python-test.yml +59 -59
  40. package/templates/workflows/rust-lint.yml +54 -54
  41. package/templates/workflows/rust-publish.yml +66 -66
  42. package/templates/workflows/rust-test.yml +75 -75
  43. package/templates/workflows/solidity-lint.yml +41 -41
  44. package/templates/workflows/solidity-test.yml +47 -47
  45. package/templates/workflows/swift-lint.yml +32 -32
  46. package/templates/workflows/swift-publish.yml +58 -58
  47. package/templates/workflows/swift-test.yml +44 -44
  48. package/templates/workflows/typescript-publish.yml +60 -60
  49. package/templates/workflows/typescript-test.yml +73 -73
  50. package/templates/workflows/zig-lint.yml +27 -27
  51. package/templates/workflows/zig-test.yml +40 -40
@@ -1,45 +1,45 @@
1
- name: Elixir Lint
2
-
3
- on:
4
- push:
5
- branches: [ master, main, develop ]
6
- pull_request:
7
- branches: [ '**' ]
8
-
9
- jobs:
10
- lint:
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - uses: actions/checkout@v5
15
-
16
- - name: Set up Elixir
17
- uses: erlef/setup-beam@v1
18
- with:
19
- elixir-version: '1.17'
20
- otp-version: '27'
21
-
22
- - name: Restore dependencies cache
23
- uses: actions/cache@v4
24
- with:
25
- path: deps
26
- key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
27
-
28
- - name: Restore PLT cache
29
- uses: actions/cache@v4
30
- with:
31
- path: priv/plts
32
- key: ${{ runner.os }}-plt-${{ hashFiles('**/mix.lock') }}
33
-
34
- - name: Install dependencies
35
- run: mix deps.get
36
-
37
- - name: Check formatting
38
- run: mix format --check-formatted
39
-
40
- - name: Run Credo
41
- run: mix credo --strict
42
-
43
- - name: Run Dialyzer
44
- run: mix dialyzer --format github
45
-
1
+ name: Elixir Lint
2
+
3
+ on:
4
+ push:
5
+ branches: [ master, main, develop ]
6
+ pull_request:
7
+ branches: [ '**' ]
8
+
9
+ jobs:
10
+ lint:
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - uses: actions/checkout@v5
15
+
16
+ - name: Set up Elixir
17
+ uses: erlef/setup-beam@v1
18
+ with:
19
+ elixir-version: '1.17'
20
+ otp-version: '27'
21
+
22
+ - name: Restore dependencies cache
23
+ uses: actions/cache@v4
24
+ with:
25
+ path: deps
26
+ key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
27
+
28
+ - name: Restore PLT cache
29
+ uses: actions/cache@v4
30
+ with:
31
+ path: priv/plts
32
+ key: ${{ runner.os }}-plt-${{ hashFiles('**/mix.lock') }}
33
+
34
+ - name: Install dependencies
35
+ run: mix deps.get
36
+
37
+ - name: Check formatting
38
+ run: mix format --check-formatted
39
+
40
+ - name: Run Credo
41
+ run: mix credo --strict
42
+
43
+ - name: Run Dialyzer
44
+ run: mix dialyzer --format github
45
+
@@ -1,49 +1,49 @@
1
- name: Publish to Hex.pm
2
-
3
- on:
4
- release:
5
- types: [published]
6
- workflow_dispatch:
7
- inputs:
8
- tag:
9
- description: 'Tag to publish (e.g., v1.0.0)'
10
- required: true
11
-
12
- jobs:
13
- publish:
14
- runs-on: ubuntu-latest
15
-
16
- steps:
17
- - uses: actions/checkout@v5
18
- with:
19
- ref: ${{ github.event.inputs.tag || github.ref }}
20
-
21
- - name: Set up Elixir
22
- uses: erlef/setup-beam@v1
23
- with:
24
- elixir-version: '1.17'
25
- otp-version: '27'
26
-
27
- - name: Install dependencies
28
- run: mix deps.get
29
-
30
- - name: Run tests
31
- run: mix test
32
-
33
- - name: Run Credo
34
- run: mix credo --strict
35
-
36
- - name: Run Dialyzer
37
- run: mix dialyzer
38
-
39
- - name: Build docs
40
- run: mix docs
41
-
42
- - name: Build package
43
- run: mix hex.build
44
-
45
- - name: Publish to Hex
46
- run: mix hex.publish --yes
47
- env:
48
- HEX_API_KEY: ${{ secrets.HEX_API_KEY }}
49
-
1
+ name: Publish to Hex.pm
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+ inputs:
8
+ tag:
9
+ description: 'Tag to publish (e.g., v1.0.0)'
10
+ required: true
11
+
12
+ jobs:
13
+ publish:
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ - uses: actions/checkout@v5
18
+ with:
19
+ ref: ${{ github.event.inputs.tag || github.ref }}
20
+
21
+ - name: Set up Elixir
22
+ uses: erlef/setup-beam@v1
23
+ with:
24
+ elixir-version: '1.17'
25
+ otp-version: '27'
26
+
27
+ - name: Install dependencies
28
+ run: mix deps.get
29
+
30
+ - name: Run tests
31
+ run: mix test
32
+
33
+ - name: Run Credo
34
+ run: mix credo --strict
35
+
36
+ - name: Run Dialyzer
37
+ run: mix dialyzer
38
+
39
+ - name: Build docs
40
+ run: mix docs
41
+
42
+ - name: Build package
43
+ run: mix hex.build
44
+
45
+ - name: Publish to Hex
46
+ run: mix hex.publish --yes
47
+ env:
48
+ HEX_API_KEY: ${{ secrets.HEX_API_KEY }}
49
+
@@ -1,54 +1,54 @@
1
- name: Elixir Tests
2
-
3
- on:
4
- push:
5
- branches: [ master, main, develop ]
6
- pull_request:
7
- branches: [ '**' ]
8
-
9
- jobs:
10
- test:
11
- runs-on: ubuntu-latest
12
-
13
- strategy:
14
- matrix:
15
- elixir: ['1.16', '1.17']
16
- otp: ['26', '27']
17
-
18
- steps:
19
- - uses: actions/checkout@v5
20
-
21
- - name: Set up Elixir
22
- uses: erlef/setup-beam@v1
23
- with:
24
- elixir-version: ${{ matrix.elixir }}
25
- otp-version: ${{ matrix.otp }}
26
-
27
- - name: Restore dependencies cache
28
- uses: actions/cache@v4
29
- with:
30
- path: deps
31
- key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
32
- restore-keys: ${{ runner.os }}-mix-
33
-
34
- - name: Install dependencies
35
- run: mix deps.get
36
-
37
- - name: Compile
38
- run: mix compile --warnings-as-errors
39
-
40
- - name: Run tests
41
- run: mix test
42
-
43
- - name: Generate coverage report
44
- run: mix coveralls.json
45
- if: matrix.elixir == '1.17' && matrix.otp == '27'
46
-
47
- - name: Upload coverage to Codecov
48
- uses: codecov/codecov-action@v4
49
- if: matrix.elixir == '1.17' && matrix.otp == '27'
50
- with:
51
- files: ./cover/excoveralls.json
52
- flags: unittests
53
- fail_ci_if_error: false
54
-
1
+ name: Elixir Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [ master, main, develop ]
6
+ pull_request:
7
+ branches: [ '**' ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ elixir: ['1.16', '1.17']
16
+ otp: ['26', '27']
17
+
18
+ steps:
19
+ - uses: actions/checkout@v5
20
+
21
+ - name: Set up Elixir
22
+ uses: erlef/setup-beam@v1
23
+ with:
24
+ elixir-version: ${{ matrix.elixir }}
25
+ otp-version: ${{ matrix.otp }}
26
+
27
+ - name: Restore dependencies cache
28
+ uses: actions/cache@v4
29
+ with:
30
+ path: deps
31
+ key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
32
+ restore-keys: ${{ runner.os }}-mix-
33
+
34
+ - name: Install dependencies
35
+ run: mix deps.get
36
+
37
+ - name: Compile
38
+ run: mix compile --warnings-as-errors
39
+
40
+ - name: Run tests
41
+ run: mix test
42
+
43
+ - name: Generate coverage report
44
+ run: mix coveralls.json
45
+ if: matrix.elixir == '1.17' && matrix.otp == '27'
46
+
47
+ - name: Upload coverage to Codecov
48
+ uses: codecov/codecov-action@v4
49
+ if: matrix.elixir == '1.17' && matrix.otp == '27'
50
+ with:
51
+ files: ./cover/excoveralls.json
52
+ flags: unittests
53
+ fail_ci_if_error: false
54
+
@@ -1,47 +1,47 @@
1
- name: Erlang Lint
2
-
3
- on:
4
- push:
5
- branches: [ master, main, develop ]
6
- pull_request:
7
- branches: [ '**' ]
8
-
9
- jobs:
10
- lint:
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - uses: actions/checkout@v5
15
-
16
- - name: Setup Erlang/OTP
17
- uses: erlef/setup-beam@v1
18
- with:
19
- otp-version: '27'
20
- rebar3-version: '3.23'
21
-
22
- - name: Restore dependencies cache
23
- uses: actions/cache@v4
24
- with:
25
- path: |
26
- _build
27
- ~/.cache/rebar3
28
- key: ${{ runner.os }}-otp-27-${{ hashFiles('rebar.lock') }}
29
- restore-keys: |
30
- ${{ runner.os }}-otp-27-
31
-
32
- - name: Compile
33
- run: rebar3 compile
34
-
35
- - name: Check formatting
36
- run: rebar3 as test fmt --check
37
-
38
- - name: Run Elvis linter
39
- run: rebar3 as test lint
40
-
41
- - name: Run Dialyzer
42
- run: rebar3 dialyzer
43
-
44
- - name: Cross-reference check
45
- run: rebar3 xref
46
-
47
-
1
+ name: Erlang Lint
2
+
3
+ on:
4
+ push:
5
+ branches: [ master, main, develop ]
6
+ pull_request:
7
+ branches: [ '**' ]
8
+
9
+ jobs:
10
+ lint:
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - uses: actions/checkout@v5
15
+
16
+ - name: Setup Erlang/OTP
17
+ uses: erlef/setup-beam@v1
18
+ with:
19
+ otp-version: '27'
20
+ rebar3-version: '3.23'
21
+
22
+ - name: Restore dependencies cache
23
+ uses: actions/cache@v4
24
+ with:
25
+ path: |
26
+ _build
27
+ ~/.cache/rebar3
28
+ key: ${{ runner.os }}-otp-27-${{ hashFiles('rebar.lock') }}
29
+ restore-keys: |
30
+ ${{ runner.os }}-otp-27-
31
+
32
+ - name: Compile
33
+ run: rebar3 compile
34
+
35
+ - name: Check formatting
36
+ run: rebar3 as test fmt --check
37
+
38
+ - name: Run Elvis linter
39
+ run: rebar3 as test lint
40
+
41
+ - name: Run Dialyzer
42
+ run: rebar3 dialyzer
43
+
44
+ - name: Cross-reference check
45
+ run: rebar3 xref
46
+
47
+
@@ -1,62 +1,62 @@
1
- name: Erlang Tests
2
-
3
- on:
4
- push:
5
- branches: [ master, main, develop ]
6
- pull_request:
7
- branches: [ '**' ]
8
-
9
- jobs:
10
- test:
11
- runs-on: ${{ matrix.os }}
12
- strategy:
13
- matrix:
14
- os: [ ubuntu-latest ]
15
- otp-version: [ '26', '27' ]
16
-
17
- steps:
18
- - uses: actions/checkout@v5
19
-
20
- - name: Setup Erlang/OTP
21
- uses: erlef/setup-beam@v1
22
- with:
23
- otp-version: ${{ matrix.otp-version }}
24
- rebar3-version: '3.23'
25
-
26
- - name: Restore dependencies cache
27
- uses: actions/cache@v4
28
- with:
29
- path: |
30
- _build
31
- ~/.cache/rebar3
32
- key: ${{ runner.os }}-otp-${{ matrix.otp-version }}-${{ hashFiles('rebar.lock') }}
33
- restore-keys: |
34
- ${{ runner.os }}-otp-${{ matrix.otp-version }}-
35
-
36
- - name: Compile
37
- run: rebar3 compile
38
-
39
- - name: Run Dialyzer
40
- run: rebar3 dialyzer
41
-
42
- - name: Run EUnit tests
43
- run: rebar3 eunit
44
-
45
- - name: Run Common Test
46
- run: rebar3 ct
47
-
48
- - name: Run PropEr properties
49
- run: rebar3 proper
50
-
51
- - name: Generate coverage report
52
- run: rebar3 cover
53
-
54
- - name: Upload coverage to Codecov
55
- uses: codecov/codecov-action@v4
56
- if: matrix.otp-version == '27'
57
- with:
58
- files: ./_build/test/cover/eunit.coverdata
59
- flags: unittests
60
- fail_ci_if_error: false
61
-
62
-
1
+ name: Erlang Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [ master, main, develop ]
6
+ pull_request:
7
+ branches: [ '**' ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ${{ matrix.os }}
12
+ strategy:
13
+ matrix:
14
+ os: [ ubuntu-latest ]
15
+ otp-version: [ '26', '27' ]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v5
19
+
20
+ - name: Setup Erlang/OTP
21
+ uses: erlef/setup-beam@v1
22
+ with:
23
+ otp-version: ${{ matrix.otp-version }}
24
+ rebar3-version: '3.23'
25
+
26
+ - name: Restore dependencies cache
27
+ uses: actions/cache@v4
28
+ with:
29
+ path: |
30
+ _build
31
+ ~/.cache/rebar3
32
+ key: ${{ runner.os }}-otp-${{ matrix.otp-version }}-${{ hashFiles('rebar.lock') }}
33
+ restore-keys: |
34
+ ${{ runner.os }}-otp-${{ matrix.otp-version }}-
35
+
36
+ - name: Compile
37
+ run: rebar3 compile
38
+
39
+ - name: Run Dialyzer
40
+ run: rebar3 dialyzer
41
+
42
+ - name: Run EUnit tests
43
+ run: rebar3 eunit
44
+
45
+ - name: Run Common Test
46
+ run: rebar3 ct
47
+
48
+ - name: Run PropEr properties
49
+ run: rebar3 proper
50
+
51
+ - name: Generate coverage report
52
+ run: rebar3 cover
53
+
54
+ - name: Upload coverage to Codecov
55
+ uses: codecov/codecov-action@v4
56
+ if: matrix.otp-version == '27'
57
+ with:
58
+ files: ./_build/test/cover/eunit.coverdata
59
+ flags: unittests
60
+ fail_ci_if_error: false
61
+
62
+
@@ -1,39 +1,39 @@
1
- name: Go Lint
2
-
3
- on:
4
- push:
5
- branches: [ master, main, develop ]
6
- pull_request:
7
- branches: [ '**' ]
8
-
9
- jobs:
10
- lint:
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - uses: actions/checkout@v4
15
-
16
- - name: Set up Go
17
- uses: actions/setup-go@v5
18
- with:
19
- go-version: '1.22'
20
- cache: true
21
-
22
- - name: Check formatting
23
- run: |
24
- if [ "$(gofmt -l . | wc -l)" -gt 0 ]; then
25
- echo "Code is not formatted. Run: gofmt -w ."
26
- gofmt -l .
27
- exit 1
28
- fi
29
-
30
- - name: Run go vet
31
- run: go vet ./...
32
-
33
- - name: Install golangci-lint
34
- run: |
35
- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin
36
-
37
- - name: Run golangci-lint
38
- run: $(go env GOPATH)/bin/golangci-lint run --timeout=5m
39
-
1
+ name: Go Lint
2
+
3
+ on:
4
+ push:
5
+ branches: [ master, main, develop ]
6
+ pull_request:
7
+ branches: [ '**' ]
8
+
9
+ jobs:
10
+ lint:
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+
16
+ - name: Set up Go
17
+ uses: actions/setup-go@v5
18
+ with:
19
+ go-version: '1.22'
20
+ cache: true
21
+
22
+ - name: Check formatting
23
+ run: |
24
+ if [ "$(gofmt -l . | wc -l)" -gt 0 ]; then
25
+ echo "Code is not formatted. Run: gofmt -w ."
26
+ gofmt -l .
27
+ exit 1
28
+ fi
29
+
30
+ - name: Run go vet
31
+ run: go vet ./...
32
+
33
+ - name: Install golangci-lint
34
+ run: |
35
+ curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin
36
+
37
+ - name: Run golangci-lint
38
+ run: $(go env GOPATH)/bin/golangci-lint run --timeout=5m
39
+