@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,119 +1,119 @@
1
- name: Publish C++ Package
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
- build-and-publish:
14
- runs-on: ${{ matrix.os }}
15
- strategy:
16
- matrix:
17
- os: [ ubuntu-latest, windows-latest, macos-latest ]
18
- include:
19
- - os: ubuntu-latest
20
- artifact_name: linux-x64
21
- - os: windows-latest
22
- artifact_name: windows-x64
23
- - os: macos-latest
24
- artifact_name: macos-arm64
25
-
26
- steps:
27
- - uses: actions/checkout@v5
28
- with:
29
- ref: ${{ github.event.inputs.tag || github.ref }}
30
-
31
- - name: Install dependencies (Ubuntu)
32
- if: runner.os == 'Linux'
33
- run: |
34
- sudo apt-get update
35
- sudo apt-get install -y cmake ninja-build clang-format-15 clang-tidy-15
36
-
37
- - name: Install dependencies (macOS)
38
- if: runner.os == 'macOS'
39
- run: brew install cmake ninja llvm
40
-
41
- - name: Install dependencies (Windows)
42
- if: runner.os == 'Windows'
43
- run: choco install cmake ninja
44
-
45
- - name: Run clang-format check
46
- if: runner.os == 'Linux'
47
- run: |
48
- find src include tests -name '*.cpp' -o -name '*.hpp' | \
49
- xargs clang-format-15 --dry-run --Werror
50
-
51
- - name: Run clang-tidy
52
- if: runner.os == 'Linux'
53
- run: |
54
- cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
55
- find src -name '*.cpp' | xargs clang-tidy-15 -p build
56
-
57
- - name: Configure CMake
58
- run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
59
-
60
- - name: Build
61
- run: cmake --build build --config Release
62
-
63
- - name: Run tests
64
- run: ctest --test-dir build --output-on-failure --build-config Release
65
-
66
- - name: Package
67
- run: cmake --build build --target package
68
-
69
- - name: Upload artifacts
70
- uses: actions/upload-artifact@v4
71
- with:
72
- name: ${{ matrix.artifact_name }}
73
- path: build/*.tar.gz
74
-
75
- - name: Create GitHub Release
76
- if: github.event_name == 'release' && matrix.os == 'ubuntu-latest'
77
- uses: softprops/action-gh-release@v1
78
- with:
79
- files: build/*.tar.gz
80
- body: |
81
- C++ package release ${{ github.ref_name }}
82
-
83
- See CHANGELOG.md for details.
84
- env:
85
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
86
-
87
- publish-conan:
88
- runs-on: ubuntu-latest
89
- if: hashFiles('conanfile.py') != ''
90
-
91
- steps:
92
- - uses: actions/checkout@v5
93
- with:
94
- ref: ${{ github.event.inputs.tag || github.ref }}
95
-
96
- - name: Set up Python
97
- uses: actions/setup-python@v5
98
- with:
99
- python-version: '3.11'
100
-
101
- - name: Install Conan
102
- run: pip install conan
103
-
104
- - name: Configure Conan
105
- run: |
106
- conan profile detect
107
- conan remote add conancenter https://center.conan.io
108
-
109
- - name: Create package
110
- run: conan create . --build=missing
111
-
112
- - name: Upload to Conan Center
113
- if: secrets.CONAN_PASSWORD != ''
114
- run: |
115
- conan remote login conancenter ${{ secrets.CONAN_LOGIN_USERNAME }}
116
- conan upload your-project/* -r conancenter --confirm
117
- env:
118
- CONAN_PASSWORD: ${{ secrets.CONAN_PASSWORD }}
119
-
1
+ name: Publish C++ Package
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
+ build-and-publish:
14
+ runs-on: ${{ matrix.os }}
15
+ strategy:
16
+ matrix:
17
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
18
+ include:
19
+ - os: ubuntu-latest
20
+ artifact_name: linux-x64
21
+ - os: windows-latest
22
+ artifact_name: windows-x64
23
+ - os: macos-latest
24
+ artifact_name: macos-arm64
25
+
26
+ steps:
27
+ - uses: actions/checkout@v5
28
+ with:
29
+ ref: ${{ github.event.inputs.tag || github.ref }}
30
+
31
+ - name: Install dependencies (Ubuntu)
32
+ if: runner.os == 'Linux'
33
+ run: |
34
+ sudo apt-get update
35
+ sudo apt-get install -y cmake ninja-build clang-format-15 clang-tidy-15
36
+
37
+ - name: Install dependencies (macOS)
38
+ if: runner.os == 'macOS'
39
+ run: brew install cmake ninja llvm
40
+
41
+ - name: Install dependencies (Windows)
42
+ if: runner.os == 'Windows'
43
+ run: choco install cmake ninja
44
+
45
+ - name: Run clang-format check
46
+ if: runner.os == 'Linux'
47
+ run: |
48
+ find src include tests -name '*.cpp' -o -name '*.hpp' | \
49
+ xargs clang-format-15 --dry-run --Werror
50
+
51
+ - name: Run clang-tidy
52
+ if: runner.os == 'Linux'
53
+ run: |
54
+ cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
55
+ find src -name '*.cpp' | xargs clang-tidy-15 -p build
56
+
57
+ - name: Configure CMake
58
+ run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
59
+
60
+ - name: Build
61
+ run: cmake --build build --config Release
62
+
63
+ - name: Run tests
64
+ run: ctest --test-dir build --output-on-failure --build-config Release
65
+
66
+ - name: Package
67
+ run: cmake --build build --target package
68
+
69
+ - name: Upload artifacts
70
+ uses: actions/upload-artifact@v4
71
+ with:
72
+ name: ${{ matrix.artifact_name }}
73
+ path: build/*.tar.gz
74
+
75
+ - name: Create GitHub Release
76
+ if: github.event_name == 'release' && matrix.os == 'ubuntu-latest'
77
+ uses: softprops/action-gh-release@v1
78
+ with:
79
+ files: build/*.tar.gz
80
+ body: |
81
+ C++ package release ${{ github.ref_name }}
82
+
83
+ See CHANGELOG.md for details.
84
+ env:
85
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
86
+
87
+ publish-conan:
88
+ runs-on: ubuntu-latest
89
+ if: hashFiles('conanfile.py') != ''
90
+
91
+ steps:
92
+ - uses: actions/checkout@v5
93
+ with:
94
+ ref: ${{ github.event.inputs.tag || github.ref }}
95
+
96
+ - name: Set up Python
97
+ uses: actions/setup-python@v5
98
+ with:
99
+ python-version: '3.11'
100
+
101
+ - name: Install Conan
102
+ run: pip install conan
103
+
104
+ - name: Configure Conan
105
+ run: |
106
+ conan profile detect
107
+ conan remote add conancenter https://center.conan.io
108
+
109
+ - name: Create package
110
+ run: conan create . --build=missing
111
+
112
+ - name: Upload to Conan Center
113
+ if: secrets.CONAN_PASSWORD != ''
114
+ run: |
115
+ conan remote login conancenter ${{ secrets.CONAN_LOGIN_USERNAME }}
116
+ conan upload your-project/* -r conancenter --confirm
117
+ env:
118
+ CONAN_PASSWORD: ${{ secrets.CONAN_PASSWORD }}
119
+
@@ -1,77 +1,77 @@
1
- name: C++ 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, windows-latest, macos-latest ]
15
- compiler: [ gcc, clang ]
16
- build_type: [ Debug, Release ]
17
- exclude:
18
- - os: windows-latest
19
- compiler: gcc
20
- - os: macos-latest
21
- compiler: gcc
22
-
23
- steps:
24
- - uses: actions/checkout@v5
25
-
26
- - name: Install dependencies (Ubuntu)
27
- if: runner.os == 'Linux'
28
- run: |
29
- sudo apt-get update
30
- sudo apt-get install -y cmake ninja-build lcov
31
- if [ "${{ matrix.compiler }}" = "clang" ]; then
32
- sudo apt-get install -y clang-15
33
- fi
34
-
35
- - name: Install dependencies (macOS)
36
- if: runner.os == 'macOS'
37
- run: |
38
- brew install cmake ninja lcov llvm
39
-
40
- - name: Install dependencies (Windows)
41
- if: runner.os == 'Windows'
42
- run: |
43
- choco install cmake ninja
44
-
45
- - name: Configure CMake
46
- run: |
47
- cmake -B build -G Ninja \
48
- -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
49
- -DBUILD_TESTING=ON \
50
- -DENABLE_SANITIZERS=${{ matrix.build_type == 'Debug' && runner.os != 'Windows' }}
51
- env:
52
- CC: ${{ matrix.compiler == 'clang' && 'clang-15' || 'gcc' }}
53
- CXX: ${{ matrix.compiler == 'clang' && 'clang++-15' || 'g++' }}
54
-
55
- - name: Build
56
- run: cmake --build build --config ${{ matrix.build_type }}
57
-
58
- - name: Run tests
59
- run: ctest --test-dir build --output-on-failure --build-config ${{ matrix.build_type }}
60
-
61
- - name: Generate coverage (Debug + GCC only)
62
- if: matrix.build_type == 'Debug' && matrix.compiler == 'gcc' && runner.os == 'Linux'
63
- run: |
64
- cmake -B build -DCMAKE_BUILD_TYPE=Debug -DENABLE_COVERAGE=ON
65
- cmake --build build
66
- ctest --test-dir build
67
- lcov --capture --directory build --output-file coverage.info
68
- lcov --remove coverage.info '/usr/*' '*/tests/*' --output-file coverage.info
69
-
70
- - name: Upload coverage to Codecov
71
- uses: codecov/codecov-action@v4
72
- if: matrix.build_type == 'Debug' && matrix.compiler == 'gcc' && runner.os == 'Linux'
73
- with:
74
- files: ./coverage.info
75
- flags: unittests
76
- fail_ci_if_error: false
77
-
1
+ name: C++ 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, windows-latest, macos-latest ]
15
+ compiler: [ gcc, clang ]
16
+ build_type: [ Debug, Release ]
17
+ exclude:
18
+ - os: windows-latest
19
+ compiler: gcc
20
+ - os: macos-latest
21
+ compiler: gcc
22
+
23
+ steps:
24
+ - uses: actions/checkout@v5
25
+
26
+ - name: Install dependencies (Ubuntu)
27
+ if: runner.os == 'Linux'
28
+ run: |
29
+ sudo apt-get update
30
+ sudo apt-get install -y cmake ninja-build lcov
31
+ if [ "${{ matrix.compiler }}" = "clang" ]; then
32
+ sudo apt-get install -y clang-15
33
+ fi
34
+
35
+ - name: Install dependencies (macOS)
36
+ if: runner.os == 'macOS'
37
+ run: |
38
+ brew install cmake ninja lcov llvm
39
+
40
+ - name: Install dependencies (Windows)
41
+ if: runner.os == 'Windows'
42
+ run: |
43
+ choco install cmake ninja
44
+
45
+ - name: Configure CMake
46
+ run: |
47
+ cmake -B build -G Ninja \
48
+ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
49
+ -DBUILD_TESTING=ON \
50
+ -DENABLE_SANITIZERS=${{ matrix.build_type == 'Debug' && runner.os != 'Windows' }}
51
+ env:
52
+ CC: ${{ matrix.compiler == 'clang' && 'clang-15' || 'gcc' }}
53
+ CXX: ${{ matrix.compiler == 'clang' && 'clang++-15' || 'g++' }}
54
+
55
+ - name: Build
56
+ run: cmake --build build --config ${{ matrix.build_type }}
57
+
58
+ - name: Run tests
59
+ run: ctest --test-dir build --output-on-failure --build-config ${{ matrix.build_type }}
60
+
61
+ - name: Generate coverage (Debug + GCC only)
62
+ if: matrix.build_type == 'Debug' && matrix.compiler == 'gcc' && runner.os == 'Linux'
63
+ run: |
64
+ cmake -B build -DCMAKE_BUILD_TYPE=Debug -DENABLE_COVERAGE=ON
65
+ cmake --build build
66
+ ctest --test-dir build
67
+ lcov --capture --directory build --output-file coverage.info
68
+ lcov --remove coverage.info '/usr/*' '*/tests/*' --output-file coverage.info
69
+
70
+ - name: Upload coverage to Codecov
71
+ uses: codecov/codecov-action@v4
72
+ if: matrix.build_type == 'Debug' && matrix.compiler == 'gcc' && runner.os == 'Linux'
73
+ with:
74
+ files: ./coverage.info
75
+ flags: unittests
76
+ fail_ci_if_error: false
77
+
@@ -1,29 +1,29 @@
1
- name: .NET 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 .NET
17
- uses: actions/setup-dotnet@v4
18
- with:
19
- dotnet-version: '8.0.x'
20
-
21
- - name: Restore dependencies
22
- run: dotnet restore
23
-
24
- - name: Format check
25
- run: dotnet format --verify-no-changes --no-restore
26
-
27
- - name: Build with warnings as errors
28
- run: dotnet build --no-restore --configuration Release /warnaserror
29
-
1
+ name: .NET 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 .NET
17
+ uses: actions/setup-dotnet@v4
18
+ with:
19
+ dotnet-version: '8.0.x'
20
+
21
+ - name: Restore dependencies
22
+ run: dotnet restore
23
+
24
+ - name: Format check
25
+ run: dotnet format --verify-no-changes --no-restore
26
+
27
+ - name: Build with warnings as errors
28
+ run: dotnet build --no-restore --configuration Release /warnaserror
29
+
@@ -1,40 +1,40 @@
1
- name: Publish to NuGet
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: Setup .NET
22
- uses: actions/setup-dotnet@v4
23
- with:
24
- dotnet-version: '8.0.x'
25
-
26
- - name: Restore dependencies
27
- run: dotnet restore
28
-
29
- - name: Build
30
- run: dotnet build --configuration Release --no-restore
31
-
32
- - name: Run tests
33
- run: dotnet test --configuration Release --no-build
34
-
35
- - name: Pack
36
- run: dotnet pack --configuration Release --no-build --output nupkgs
37
-
38
- - name: Publish to NuGet
39
- run: dotnet nuget push nupkgs/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
40
-
1
+ name: Publish to NuGet
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: Setup .NET
22
+ uses: actions/setup-dotnet@v4
23
+ with:
24
+ dotnet-version: '8.0.x'
25
+
26
+ - name: Restore dependencies
27
+ run: dotnet restore
28
+
29
+ - name: Build
30
+ run: dotnet build --configuration Release --no-restore
31
+
32
+ - name: Run tests
33
+ run: dotnet test --configuration Release --no-build
34
+
35
+ - name: Pack
36
+ run: dotnet pack --configuration Release --no-build --output nupkgs
37
+
38
+ - name: Publish to NuGet
39
+ run: dotnet nuget push nupkgs/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
40
+
@@ -1,41 +1,41 @@
1
- name: .NET 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, windows-latest, macos-latest ]
15
- dotnet-version: [ '8.0.x' ]
16
-
17
- steps:
18
- - uses: actions/checkout@v5
19
-
20
- - name: Setup .NET
21
- uses: actions/setup-dotnet@v4
22
- with:
23
- dotnet-version: ${{ matrix.dotnet-version }}
24
-
25
- - name: Restore dependencies
26
- run: dotnet restore
27
-
28
- - name: Build
29
- run: dotnet build --no-restore --configuration Release
30
-
31
- - name: Run tests
32
- run: dotnet test --no-build --configuration Release --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
33
-
34
- - name: Upload coverage to Codecov
35
- uses: codecov/codecov-action@v4
36
- if: matrix.os == 'ubuntu-latest'
37
- with:
38
- files: ./coverage.opencover.xml
39
- flags: unittests
40
- fail_ci_if_error: false
41
-
1
+ name: .NET 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, windows-latest, macos-latest ]
15
+ dotnet-version: [ '8.0.x' ]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v5
19
+
20
+ - name: Setup .NET
21
+ uses: actions/setup-dotnet@v4
22
+ with:
23
+ dotnet-version: ${{ matrix.dotnet-version }}
24
+
25
+ - name: Restore dependencies
26
+ run: dotnet restore
27
+
28
+ - name: Build
29
+ run: dotnet build --no-restore --configuration Release
30
+
31
+ - name: Run tests
32
+ run: dotnet test --no-build --configuration Release --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
33
+
34
+ - name: Upload coverage to Codecov
35
+ uses: codecov/codecov-action@v4
36
+ if: matrix.os == 'ubuntu-latest'
37
+ with:
38
+ files: ./coverage.opencover.xml
39
+ flags: unittests
40
+ fail_ci_if_error: false
41
+