@hybridlabor-api/aos 4.8.0 → 4.10.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 (186) hide show
  1. package/.agents/{agents.md → AGENTS.md} +3 -1
  2. package/.agents/nodes.json +3 -1
  3. package/.agents/vendor-manifest.json +23 -1
  4. package/.claude/agents/godmode-media-eventtech.md +1 -1
  5. package/.claude/hooks/conventional-commits.mjs +125 -0
  6. package/.claude/hooks/env-file-protection.mjs +105 -0
  7. package/.claude/hooks/go-gate.mjs +101 -81
  8. package/.claude/hooks/memb-inject.mjs +29 -1
  9. package/.claude/settings.json +13 -0
  10. package/.claude/workflows/startcycle-dispatch.mjs +23 -1
  11. package/.opencode/agents/godmode-media-eventtech.md +1 -1
  12. package/.opencode/plugins/bdb-aos.js +31 -4
  13. package/CLAUDE.md +0 -571
  14. package/README.de.md +1 -1
  15. package/README.md +1 -1
  16. package/README.pt.md +1 -1
  17. package/THIRD_PARTY_NOTICES.md +126 -0
  18. package/bin/aos-doctor.mjs +1 -1
  19. package/docs/skills_table.md +1 -1
  20. package/installer.js +187 -55
  21. package/package.json +7 -3
  22. package/packages/aos-cli/README.md +80 -0
  23. package/packages/aos-cli/bin/aos-cli.mjs +134 -0
  24. package/packages/aos-cli/core-skills.json +12 -0
  25. package/packages/aos-cli/extensions/aos.ts +321 -0
  26. package/packages/aos-cli/package-lock.json +1923 -0
  27. package/packages/aos-cli/package.json +29 -0
  28. package/packages/aos-cli/scripts/check-theme.mjs +63 -0
  29. package/packages/aos-cli/themes/aos.json +97 -0
  30. package/scripts/build-plugin-manifest.mjs +131 -0
  31. package/scripts/validate-skills.mjs +81 -6
  32. package/skills/basic/ao-orchestrator/SKILL.md +116 -0
  33. package/skills/basic/bdb-eventagency-skill/SKILL.md +252 -0
  34. package/skills/basic/bdb-shipping-skill/SKILL.md +161 -0
  35. package/skills/basic/godmode-eventtech/SKILL.md +4 -1
  36. package/skills/global_config/agenttrail/SKILL.md +6 -1
  37. package/skills/global_config/aos-project-init/SKILL.md +2 -0
  38. package/skills/global_config/aos-project-init/assets/AGENTS.template.md +1 -1
  39. package/skills/global_config/aos-project-init/scripts/aos-project-doctor.mjs +1 -1
  40. package/skills/global_config/aos-setup/SKILL.md +1 -1
  41. package/skills/global_config/aos-setup/scripts/aos-doctor.mjs +1 -1
  42. package/skills/global_config/ask-tim/SKILL.md +7 -7
  43. package/skills/global_config/bash-script-generator/SKILL.md +201 -0
  44. package/skills/global_config/bash-script-generator/assets/templates/standard-template.sh +96 -0
  45. package/skills/global_config/bash-script-generator/docs/bash-scripting-guide.md +729 -0
  46. package/skills/global_config/bash-script-generator/docs/generation-best-practices.md +193 -0
  47. package/skills/global_config/bash-script-generator/docs/script-patterns.md +566 -0
  48. package/skills/global_config/bash-script-generator/docs/text-processing-guide.md +437 -0
  49. package/skills/global_config/bash-script-generator/examples/log-analyzer.sh +92 -0
  50. package/skills/global_config/bash-script-generator/scripts/generate_script_template.sh +123 -0
  51. package/skills/global_config/bash-script-generator/scripts/run_ci_checks.sh +172 -0
  52. package/skills/global_config/bash-script-generator/scripts/test_generator.sh +413 -0
  53. package/skills/global_config/bash-script-validator/SKILL.md +249 -0
  54. package/skills/global_config/bash-script-validator/docs/awk-reference.md +449 -0
  55. package/skills/global_config/bash-script-validator/docs/bash-reference.md +468 -0
  56. package/skills/global_config/bash-script-validator/docs/common-mistakes.md +623 -0
  57. package/skills/global_config/bash-script-validator/docs/grep-reference.md +395 -0
  58. package/skills/global_config/bash-script-validator/docs/regex-reference.md +391 -0
  59. package/skills/global_config/bash-script-validator/docs/sed-reference.md +454 -0
  60. package/skills/global_config/bash-script-validator/docs/shell-reference.md +463 -0
  61. package/skills/global_config/bash-script-validator/docs/shellcheck-reference.md +399 -0
  62. package/skills/global_config/bash-script-validator/examples/bad-bash.sh +55 -0
  63. package/skills/global_config/bash-script-validator/examples/bad-shell.sh +54 -0
  64. package/skills/global_config/bash-script-validator/examples/good-bash.sh +71 -0
  65. package/skills/global_config/bash-script-validator/examples/good-shell.sh +69 -0
  66. package/skills/global_config/bash-script-validator/scripts/run_ci_checks.sh +23 -0
  67. package/skills/global_config/bash-script-validator/scripts/shellcheck_wrapper.sh +174 -0
  68. package/skills/global_config/bash-script-validator/scripts/test_validate.sh +446 -0
  69. package/skills/global_config/bash-script-validator/scripts/validate.sh +512 -0
  70. package/skills/global_config/ci-pipeline/SKILL.md +135 -0
  71. package/skills/global_config/deja-memory/SKILL.md +3 -1
  72. package/skills/global_config/dispatching-parallel-agents/SKILL.md +170 -0
  73. package/skills/global_config/dockerfile-generator/SKILL.md +1038 -0
  74. package/skills/global_config/dockerfile-generator/examples/example.dockerignore +95 -0
  75. package/skills/global_config/dockerfile-generator/examples/golang-distroless.Dockerfile +34 -0
  76. package/skills/global_config/dockerfile-generator/examples/java-springboot.Dockerfile +45 -0
  77. package/skills/global_config/dockerfile-generator/examples/nextjs-production.Dockerfile +49 -0
  78. package/skills/global_config/dockerfile-generator/examples/nodejs-multistage.Dockerfile +55 -0
  79. package/skills/global_config/dockerfile-generator/examples/python-fastapi.Dockerfile +48 -0
  80. package/skills/global_config/dockerfile-generator/references/language_specific_guides.md +510 -0
  81. package/skills/global_config/dockerfile-generator/references/multistage_builds.md +570 -0
  82. package/skills/global_config/dockerfile-generator/references/optimization_patterns.md +492 -0
  83. package/skills/global_config/dockerfile-generator/references/security_best_practices.md +375 -0
  84. package/skills/global_config/dockerfile-generator/scripts/generate_dockerignore.sh +199 -0
  85. package/skills/global_config/dockerfile-generator/scripts/generate_golang.sh +172 -0
  86. package/skills/global_config/dockerfile-generator/scripts/generate_java.sh +185 -0
  87. package/skills/global_config/dockerfile-generator/scripts/generate_nodejs.sh +279 -0
  88. package/skills/global_config/dockerfile-generator/scripts/generate_python.sh +218 -0
  89. package/skills/global_config/dockerfile-generator/scripts/test_generator.sh +210 -0
  90. package/skills/global_config/dockerfile-validator/SKILL.md +300 -0
  91. package/skills/global_config/dockerfile-validator/examples/.dockerignore.example +34 -0
  92. package/skills/global_config/dockerfile-validator/examples/bad-example.Dockerfile +37 -0
  93. package/skills/global_config/dockerfile-validator/examples/golang-distroless.Dockerfile +50 -0
  94. package/skills/global_config/dockerfile-validator/examples/good-example.Dockerfile +52 -0
  95. package/skills/global_config/dockerfile-validator/examples/python-optimized.Dockerfile +53 -0
  96. package/skills/global_config/dockerfile-validator/examples/security-issues.Dockerfile +42 -0
  97. package/skills/global_config/dockerfile-validator/references/docker_best_practices.md +348 -0
  98. package/skills/global_config/dockerfile-validator/references/optimization_guide.md +473 -0
  99. package/skills/global_config/dockerfile-validator/references/security_checklist.md +208 -0
  100. package/skills/global_config/dockerfile-validator/scripts/dockerfile-validate.sh +699 -0
  101. package/skills/global_config/dockerfile-validator/scripts/test_validate.sh +35 -0
  102. package/skills/global_config/dockerfile-validator/tests/fixtures/copy-before-yarn-lock-read.Dockerfile +6 -0
  103. package/skills/global_config/dockerfile-validator/tests/fixtures/copy-before-yarn.Dockerfile +6 -0
  104. package/skills/global_config/dockerfile-validator/tests/fixtures/from-platform-nonroot.Dockerfile +7 -0
  105. package/skills/global_config/dockerfile-validator/tests/test_regression.sh +164 -0
  106. package/skills/global_config/finishing-a-development-branch/SKILL.md +228 -0
  107. package/skills/global_config/github-actions-generator/SKILL.md +353 -0
  108. package/skills/global_config/github-actions-generator/assets/templates/action/composite/action.yml +82 -0
  109. package/skills/global_config/github-actions-generator/assets/templates/action/docker/Dockerfile +25 -0
  110. package/skills/global_config/github-actions-generator/assets/templates/action/docker/action.yml +42 -0
  111. package/skills/global_config/github-actions-generator/assets/templates/action/docker/entrypoint.sh +27 -0
  112. package/skills/global_config/github-actions-generator/assets/templates/action/javascript/action.yml +33 -0
  113. package/skills/global_config/github-actions-generator/assets/templates/action/javascript/index.js +50 -0
  114. package/skills/global_config/github-actions-generator/assets/templates/action/javascript/package.json +27 -0
  115. package/skills/global_config/github-actions-generator/assets/templates/workflow/basic_workflow.yml +242 -0
  116. package/skills/global_config/github-actions-generator/assets/templates/workflow/reusable_workflow.yml +106 -0
  117. package/skills/global_config/github-actions-generator/examples/README.md +147 -0
  118. package/skills/global_config/github-actions-generator/examples/actions/setup-node-cached/action.yml +93 -0
  119. package/skills/global_config/github-actions-generator/examples/caching/docker-buildkit.yml +256 -0
  120. package/skills/global_config/github-actions-generator/examples/security/dependency-review.yml +62 -0
  121. package/skills/global_config/github-actions-generator/examples/security/sbom-attestation.yml +119 -0
  122. package/skills/global_config/github-actions-generator/examples/triggers/chatops-commands.yml +475 -0
  123. package/skills/global_config/github-actions-generator/examples/triggers/repository-dispatch.yml +418 -0
  124. package/skills/global_config/github-actions-generator/examples/triggers/workflow-orchestration.yml +404 -0
  125. package/skills/global_config/github-actions-generator/examples/workflows/docker-build-push.yml +68 -0
  126. package/skills/global_config/github-actions-generator/examples/workflows/go-ci.yml +161 -0
  127. package/skills/global_config/github-actions-generator/examples/workflows/monorepo-ci.yml +340 -0
  128. package/skills/global_config/github-actions-generator/examples/workflows/multi-environment-deploy.yml +406 -0
  129. package/skills/global_config/github-actions-generator/examples/workflows/nodejs-ci.yml +122 -0
  130. package/skills/global_config/github-actions-generator/examples/workflows/python-ci.yml +157 -0
  131. package/skills/global_config/github-actions-generator/examples/workflows/scheduled-tasks.yml +376 -0
  132. package/skills/global_config/github-actions-generator/references/advanced-triggers.md +917 -0
  133. package/skills/global_config/github-actions-generator/references/best-practices.md +755 -0
  134. package/skills/global_config/github-actions-generator/references/common-actions.md +715 -0
  135. package/skills/global_config/github-actions-generator/references/custom-actions.md +320 -0
  136. package/skills/global_config/github-actions-generator/references/expressions-and-contexts.md +688 -0
  137. package/skills/global_config/github-actions-generator/references/modern-features.md +421 -0
  138. package/skills/global_config/github-actions-generator/scripts/test_generator.sh +344 -0
  139. package/skills/global_config/github-actions-templates/SKILL.md +7 -0
  140. package/skills/global_config/github-actions-validator/SKILL.md +576 -0
  141. package/skills/global_config/github-actions-validator/examples/README.md +88 -0
  142. package/skills/global_config/github-actions-validator/examples/outdated-versions.yml +76 -0
  143. package/skills/global_config/github-actions-validator/examples/valid-ci.yml +79 -0
  144. package/skills/global_config/github-actions-validator/examples/with-errors.yml +47 -0
  145. package/skills/global_config/github-actions-validator/references/act_usage.md +233 -0
  146. package/skills/global_config/github-actions-validator/references/action_versions.md +122 -0
  147. package/skills/global_config/github-actions-validator/references/actionlint_usage.md +343 -0
  148. package/skills/global_config/github-actions-validator/references/common_errors.md +512 -0
  149. package/skills/global_config/github-actions-validator/references/modern_features.md +384 -0
  150. package/skills/global_config/github-actions-validator/references/runners.md +317 -0
  151. package/skills/global_config/github-actions-validator/scripts/install_tools.sh +113 -0
  152. package/skills/global_config/github-actions-validator/scripts/validate_workflow.sh +910 -0
  153. package/skills/global_config/github-actions-validator/tests/test_validate_workflow.sh +237 -0
  154. package/skills/global_config/makefile-generator/SKILL.md +614 -0
  155. package/skills/global_config/makefile-generator/assets/templates/.gitkeep +1 -0
  156. package/skills/global_config/makefile-generator/docs/makefile-structure.md +530 -0
  157. package/skills/global_config/makefile-generator/docs/optimization-guide.md +784 -0
  158. package/skills/global_config/makefile-generator/docs/patterns-guide.md +642 -0
  159. package/skills/global_config/makefile-generator/docs/security-guide.md +361 -0
  160. package/skills/global_config/makefile-generator/docs/targets-guide.md +642 -0
  161. package/skills/global_config/makefile-generator/docs/variables-guide.md +596 -0
  162. package/skills/global_config/makefile-generator/scripts/add_standard_targets.sh +539 -0
  163. package/skills/global_config/makefile-generator/scripts/generate_makefile_template.sh +690 -0
  164. package/skills/global_config/makefile-generator/test/test_helper_scripts.sh +190 -0
  165. package/skills/global_config/makefile-validator/SKILL.md +244 -0
  166. package/skills/global_config/makefile-validator/docs/bake-tool.md +1000 -0
  167. package/skills/global_config/makefile-validator/docs/best-practices.md +858 -0
  168. package/skills/global_config/makefile-validator/docs/common-mistakes.md +944 -0
  169. package/skills/global_config/makefile-validator/examples/bad-makefile.mk +77 -0
  170. package/skills/global_config/makefile-validator/examples/good-makefile.mk +103 -0
  171. package/skills/global_config/makefile-validator/scripts/test_validate.sh +382 -0
  172. package/skills/global_config/makefile-validator/scripts/validate_makefile.sh +712 -0
  173. package/skills/global_config/{MCP_Manage → mcp-manage}/SKILL.md +3 -3
  174. package/skills/global_config/plan-canvas/SKILL.md +9 -2
  175. package/skills/global_config/plan-canvas/scripts/lib/plan-canvas/ui.js +10 -2
  176. package/skills/global_config/plan-canvas/scripts/plan-canvas.js +1 -1
  177. package/skills/global_config/read-the-damn-docs/SKILL.md +175 -0
  178. package/skills/global_config/requesting-code-review/SKILL.md +98 -0
  179. package/skills/global_config/requesting-code-review/code-reviewer.md +198 -0
  180. package/skills/global_config/using-git-worktrees/SKILL.md +170 -0
  181. package/skills/global_config/verification-before-completion/SKILL.md +123 -0
  182. package/skills/global_config/writing-plans/SKILL.md +126 -46
  183. package/skills/global_config/writing-plans-legacy/SKILL.md +152 -0
  184. package/.claude/CLAUDE.md +0 -12
  185. package/mcps/RhinoMCP/docs/content/docs/getting-started/gemini.md +0 -61
  186. /package/{GEMINI.md → RULES.md} +0 -0
@@ -0,0 +1,76 @@
1
+ # Example: Workflow with Outdated Action Versions
2
+ # This workflow uses older action versions for testing version validation
3
+ # Use for testing version checks: bash scripts/validate_workflow.sh --check-versions examples/outdated-versions.yml
4
+ #
5
+ # VERSION ISSUES IN THIS FILE:
6
+ # 1. actions/checkout@v4 - OUTDATED (current: v6)
7
+ # 2. actions/setup-node@v4 - OUTDATED (current: v6)
8
+ # 3. actions/upload-artifact@v3 - DEPRECATED (minimum: v4)
9
+ # 4. docker/build-push-action@v5 - OUTDATED (current: v6)
10
+
11
+ name: Workflow with Outdated Versions
12
+
13
+ on:
14
+ push:
15
+ branches: [main]
16
+ workflow_dispatch:
17
+
18
+ permissions:
19
+ contents: read
20
+ packages: write
21
+
22
+ jobs:
23
+ build:
24
+ name: Build Application
25
+ runs-on: ubuntu-latest
26
+
27
+ steps:
28
+ # OUTDATED: Using v4, current is v6
29
+ - name: Checkout code
30
+ uses: actions/checkout@v4
31
+
32
+ # OUTDATED: Using v4, current is v6
33
+ - name: Setup Node.js
34
+ uses: actions/setup-node@v4
35
+ with:
36
+ node-version: '20'
37
+ cache: 'npm'
38
+
39
+ - name: Install and build
40
+ run: |
41
+ npm ci
42
+ npm run build
43
+
44
+ # DEPRECATED: Using v3, minimum supported is v4
45
+ - name: Upload artifacts
46
+ uses: actions/upload-artifact@v3
47
+ with:
48
+ name: build-output
49
+ path: dist/
50
+
51
+ docker:
52
+ name: Build Docker Image
53
+ runs-on: ubuntu-latest
54
+ needs: build
55
+
56
+ steps:
57
+ - name: Checkout
58
+ uses: actions/checkout@v4
59
+
60
+ - name: Set up Docker Buildx
61
+ uses: docker/setup-buildx-action@v3
62
+
63
+ - name: Login to registry
64
+ uses: docker/login-action@v3
65
+ with:
66
+ registry: ghcr.io
67
+ username: ${{ github.actor }}
68
+ password: ${{ secrets.GITHUB_TOKEN }}
69
+
70
+ # OUTDATED: Using v5, current is v6
71
+ - name: Build and push
72
+ uses: docker/build-push-action@v5
73
+ with:
74
+ context: .
75
+ push: true
76
+ tags: ghcr.io/${{ github.repository }}:latest
@@ -0,0 +1,79 @@
1
+ # Example: Valid CI Workflow
2
+ # This workflow passes all validation checks
3
+ # Use for testing successful validation: bash scripts/validate_workflow.sh examples/valid-ci.yml
4
+
5
+ name: Valid CI Pipeline
6
+
7
+ on:
8
+ push:
9
+ branches: [main, develop]
10
+ pull_request:
11
+ branches: [main]
12
+ workflow_dispatch:
13
+
14
+ permissions:
15
+ contents: read
16
+
17
+ concurrency:
18
+ group: ${{ github.workflow }}-${{ github.ref }}
19
+ cancel-in-progress: true
20
+
21
+ env:
22
+ NODE_VERSION: '20'
23
+
24
+ jobs:
25
+ build:
26
+ name: Build and Test
27
+ runs-on: ubuntu-latest
28
+
29
+ steps:
30
+ - name: Checkout code
31
+ uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
32
+
33
+ - name: Setup Node.js
34
+ uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
35
+ with:
36
+ node-version: ${{ env.NODE_VERSION }}
37
+ cache: 'npm'
38
+
39
+ - name: Install dependencies
40
+ run: npm ci
41
+
42
+ - name: Run linter
43
+ run: npm run lint
44
+
45
+ - name: Run tests
46
+ run: npm test
47
+
48
+ - name: Build application
49
+ run: npm run build
50
+
51
+ - name: Upload build artifacts
52
+ uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
53
+ with:
54
+ name: build-output
55
+ path: dist/
56
+ retention-days: 7
57
+
58
+ security-scan:
59
+ name: Security Scan
60
+ runs-on: ubuntu-latest
61
+ needs: build
62
+
63
+ permissions:
64
+ contents: read
65
+ security-events: write
66
+
67
+ steps:
68
+ - name: Checkout code
69
+ uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
70
+
71
+ - name: Run security scan
72
+ run: |
73
+ echo "Running security scan..."
74
+ # Security scan commands here
75
+
76
+ - name: Generate summary
77
+ run: |
78
+ echo "## Security Scan Results" >> $GITHUB_STEP_SUMMARY
79
+ echo "All checks passed!" >> $GITHUB_STEP_SUMMARY
@@ -0,0 +1,47 @@
1
+ # Example: Workflow with Intentional Errors
2
+ # This workflow contains common errors for testing validation
3
+ # Use for testing error detection: bash scripts/validate_workflow.sh --lint-only examples/with-errors.yml
4
+ #
5
+ # ERRORS IN THIS FILE (4 total, all caught by actionlint):
6
+ # 1. Line 18: Invalid CRON expression (day 8 doesn't exist) [events]
7
+ # 2. Line 25: Typo in runner label (ubuntu-lastest) [runner-label]
8
+ # 3. Line 37: Script injection vulnerability [expression]
9
+ # 4. Line 43: Undefined job dependency (biuld instead of build) [job-needs]
10
+
11
+ name: Workflow with Errors
12
+
13
+ on:
14
+ push:
15
+ branches: [main]
16
+ schedule:
17
+ # ERROR: Invalid CRON - day of week 8 doesn't exist (should be 0-6)
18
+ - cron: '0 0 * * 8'
19
+ pull_request:
20
+
21
+ jobs:
22
+ build:
23
+ name: Build
24
+ # ERROR: Typo in runner label (should be ubuntu-latest)
25
+ runs-on: ubuntu-lastest
26
+
27
+ steps:
28
+ - name: Checkout
29
+ uses: actions/checkout@v4
30
+
31
+ - name: Build
32
+ run: npm run build
33
+
34
+ # ERROR: Script injection vulnerability - untrusted input directly in script
35
+ - name: Process issue
36
+ run: |
37
+ echo "Processing: ${{ github.event.issue.title }}"
38
+
39
+ deploy:
40
+ name: Deploy
41
+ runs-on: ubuntu-latest
42
+ # ERROR: Undefined job dependency (typo: biuld instead of build)
43
+ needs: biuld
44
+
45
+ steps:
46
+ - name: Deploy
47
+ run: echo "Deploying..."
@@ -0,0 +1,233 @@
1
+ # Act (nektos/act) - Usage Reference
2
+
3
+ Act is a tool that allows you to run your GitHub Actions locally, providing fast feedback and acting as a local task runner.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ # Install act using the official script
9
+ curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/nektos/act/master/install.sh | bash
10
+
11
+ # Or use the skill's installation script
12
+ bash scripts/install_tools.sh
13
+ ```
14
+
15
+ ## Core Commands
16
+
17
+ ### List Workflows
18
+
19
+ List all available workflows in the repository:
20
+
21
+ ```bash
22
+ act -l
23
+ ```
24
+
25
+ List workflows for a specific event:
26
+
27
+ ```bash
28
+ act -l pull_request
29
+ act -l push
30
+ act -l workflow_dispatch
31
+ ```
32
+
33
+ ### Dry Run (No Execution)
34
+
35
+ Validate workflows without executing them, useful for inspection and validation:
36
+
37
+ ```bash
38
+ act -n
39
+ # or (long form)
40
+ act --dryrun
41
+ ```
42
+
43
+ This performs a dry run that:
44
+ - Parses all workflow files
45
+ - Validates syntax
46
+ - Shows what would be executed
47
+ - Does NOT actually run any jobs
48
+ - Returns exit code 0 on success, non-zero on errors
49
+
50
+ **Important for Validation:** The dry-run mode is perfect for validating workflow syntax before pushing to GitHub.
51
+
52
+ ### Run Workflows
53
+
54
+ Run the default workflow:
55
+
56
+ ```bash
57
+ act
58
+ ```
59
+
60
+ Run workflows for a specific event:
61
+
62
+ ```bash
63
+ act push
64
+ act pull_request
65
+ act workflow_dispatch
66
+ ```
67
+
68
+ Run a specific job:
69
+
70
+ ```bash
71
+ act -j <job-id>
72
+ ```
73
+
74
+ Run a specific workflow file:
75
+
76
+ ```bash
77
+ act -W .github/workflows/ci.yml
78
+ ```
79
+
80
+ ## Common Use Cases
81
+
82
+ ### 1. Validate Workflow Syntax
83
+
84
+ Use dry run to check if workflows parse correctly:
85
+
86
+ ```bash
87
+ act -n
88
+ ```
89
+
90
+ If there are syntax errors, act will report them immediately.
91
+
92
+ ### 2. Test Workflows Locally
93
+
94
+ Before pushing to GitHub, test workflows locally:
95
+
96
+ ```bash
97
+ # Test push event workflows
98
+ act push
99
+
100
+ # Test pull request workflows
101
+ act pull_request
102
+ ```
103
+
104
+ ### 3. Debug Workflow Issues
105
+
106
+ Run workflows with verbose output:
107
+
108
+ ```bash
109
+ act -v
110
+ ```
111
+
112
+ ### 4. List Available Events
113
+
114
+ See which events have workflows configured:
115
+
116
+ ```bash
117
+ act -l
118
+ ```
119
+
120
+ Output format:
121
+ ```
122
+ Stage Job ID Job name Workflow name Workflow file Events
123
+ 0 build build CI ci.yml push,pull_request
124
+ 0 test test CI ci.yml push,pull_request
125
+ ```
126
+
127
+ ## Advanced Options
128
+
129
+ ### Container Architecture
130
+
131
+ Ensure consistent platform behavior across different machines:
132
+
133
+ ```bash
134
+ act --container-architecture linux/amd64
135
+ ```
136
+
137
+ This is especially important on ARM-based Macs (M1/M2/M3) to ensure workflows run in the same environment as GitHub's x64 runners.
138
+
139
+ ### Using Specific Docker Images
140
+
141
+ Act uses Docker containers to run jobs. Specify custom images:
142
+
143
+ ```bash
144
+ act -P ubuntu-latest=node:16-buster
145
+ ```
146
+
147
+ ### Configuration File
148
+
149
+ Create `.actrc` file in your project or home directory to set default options:
150
+
151
+ ```bash
152
+ # .actrc
153
+ --container-architecture=linux/amd64
154
+ --action-offline-mode
155
+ ```
156
+
157
+ Options are loaded in this order:
158
+ 1. XDG spec `.actrc`
159
+ 2. HOME directory `.actrc`
160
+ 3. Current directory `.actrc`
161
+ 4. CLI arguments
162
+
163
+ ### Passing Secrets
164
+
165
+ Provide secrets for testing:
166
+
167
+ ```bash
168
+ act -s GITHUB_TOKEN=ghp_xxx
169
+ ```
170
+
171
+ Or use a secrets file:
172
+
173
+ ```bash
174
+ act --secret-file .secrets
175
+ ```
176
+
177
+ ### Environment Variables
178
+
179
+ Set environment variables:
180
+
181
+ ```bash
182
+ act --env MY_VAR=value
183
+ ```
184
+
185
+ ### Input Variables (for workflow_dispatch)
186
+
187
+ Pass input variables:
188
+
189
+ ```bash
190
+ act workflow_dispatch --input myInput=myValue
191
+ ```
192
+
193
+ ## Limitations
194
+
195
+ Be aware of act's limitations:
196
+
197
+ 1. **Not 100% Compatible**: Some GitHub Actions features may not work exactly as on GitHub
198
+ 2. **Docker Required**: act requires Docker to be installed and running
199
+ 3. **Network Actions**: Some actions that interact with GitHub's API may fail
200
+ 4. **Runner Images**: Default runner images may differ from GitHub's hosted runners
201
+ 5. **Secrets**: Local testing requires manually providing secrets
202
+
203
+ ## Exit Codes
204
+
205
+ - `0`: Success - all jobs passed
206
+ - `1`: Failure - at least one job failed
207
+ - `2`: Error - workflow parsing or execution error
208
+
209
+ ## Best Practices for Validation
210
+
211
+ 1. **Always run dry-run first**: `act -n` to catch syntax errors
212
+ 2. **Test specific events**: Don't run all workflows, target the event you care about
213
+ 3. **Use verbose mode for debugging**: `act -v` when troubleshooting
214
+ 4. **Check Docker availability**: Ensure Docker is running before using act
215
+ 5. **Consider limitations**: Not all features work locally - use for syntax and basic logic validation
216
+
217
+ ## Troubleshooting
218
+
219
+ ### Issue: "Cannot connect to Docker daemon"
220
+
221
+ **Solution**: Start Docker Desktop or Docker daemon
222
+
223
+ ### Issue: "Workflow file not found"
224
+
225
+ **Solution**: Ensure you're in the repository root or use `-W` to specify the workflow file path
226
+
227
+ ### Issue: "Action not found"
228
+
229
+ **Solution**: Some actions may not be available locally. Use `-P` to specify alternative Docker images or skip the problematic action for validation purposes
230
+
231
+ ### Issue: "Out of disk space"
232
+
233
+ **Solution**: Clean up Docker images: `docker system prune -a`
@@ -0,0 +1,122 @@
1
+ # Action Version Validation Reference
2
+
3
+ This reference provides current recommended action versions and validation procedures for GitHub Actions workflows.
4
+
5
+ ## Current Recommended Versions (December 2025)
6
+
7
+ | Action | Current Version | Minimum Supported | Notes |
8
+ |--------|----------------|-------------------|-------|
9
+ | `actions/checkout` | **v6** | v4 | v6 stores credentials in $RUNNER_TEMP |
10
+ | `actions/setup-node` | **v6** | v4 | v6 adds Node 24 support |
11
+ | `actions/setup-python` | **v5** | v4 | v5 adds Python 3.13 support |
12
+ | `actions/setup-java` | **v4** | v4 | Current latest |
13
+ | `actions/setup-go` | **v5** | v4 | v5 adds Go 1.23 support |
14
+ | `actions/cache` | **v4** | v4 | v4.2.0+ required as of Feb 2025 |
15
+ | `actions/upload-artifact` | **v4** | v4 | v3 deprecated |
16
+ | `actions/download-artifact` | **v4** | v4 | v3 deprecated |
17
+ | `docker/setup-buildx-action` | **v3** | v3 | Current latest |
18
+ | `docker/login-action` | **v3** | v3 | Current latest |
19
+ | `docker/build-push-action` | **v6** | v5 | v6 adds provenance attestation |
20
+ | `docker/metadata-action` | **v5** | v5 | Current latest |
21
+ | `aws-actions/configure-aws-credentials` | **v4** | v4 | OIDC support improved |
22
+
23
+ ## Version Validation Process
24
+
25
+ ### Step 1: Extract Action References
26
+
27
+ For each `uses:` statement in the workflow, extract:
28
+ - Action name (e.g., `actions/checkout`)
29
+ - Version (e.g., `v4`, `v4.1.1`, or SHA like `b4ffde65f46...`)
30
+
31
+ ### Step 2: Compare Against Recommended Versions
32
+
33
+ For each action found:
34
+ 1. Look up the action in the table above
35
+ 2. Compare the workflow version against the **Current Version**
36
+ 3. Flag if using a version older than **Minimum Supported**
37
+
38
+ ### Step 3: Report Findings
39
+
40
+ Generate warnings for:
41
+ - **OUTDATED**: Action using older major version (e.g., checkout@v4 when v6 is current)
42
+ - **DEPRECATED**: Action using version below minimum supported
43
+ - **UP-TO-DATE**: Action using current or acceptable version
44
+
45
+ ## Example Version Validation Output
46
+
47
+ ```
48
+ === Action Version Check ===
49
+
50
+ actions/checkout@v6.0.0 - UP-TO-DATE (current: v6)
51
+ actions/setup-java@v4.2.1 - UP-TO-DATE (current: v4)
52
+ docker/build-push-action@v5.3.0 - OUTDATED (current: v6, using: v5)
53
+ actions/upload-artifact@v3 - DEPRECATED (minimum: v4, using: v3)
54
+
55
+ Recommendation: Update docker/build-push-action to v6 for provenance attestation support
56
+ Recommendation: Update actions/upload-artifact to v4 (v3 is deprecated)
57
+ ```
58
+
59
+ ## Using the Version Check Flag
60
+
61
+ ```bash
62
+ # Check action versions in workflow
63
+ bash scripts/validate_workflow.sh --check-versions .github/workflows/ci.yml
64
+
65
+ # Full validation including version check
66
+ bash scripts/validate_workflow.sh .github/workflows/ci.yml
67
+ ```
68
+
69
+ ## Node.js Runtime Deprecation Timeline
70
+
71
+ GitHub Actions runtime requirements:
72
+ - **Node.js 12**: EOL April 2022 - Actions using this are deprecated
73
+ - **Node.js 16**: EOL September 2023 - Actions using this are deprecated
74
+ - **Node.js 20**: EOL April 2026 - Current runtime for most actions
75
+ - **Node.js 22/24**: Current LTS - Newer actions support these
76
+
77
+ ## SHA Pinning Best Practice
78
+
79
+ For security, pin actions to specific commit SHAs:
80
+
81
+ ```yaml
82
+ # Recommended: SHA pinning with version comment
83
+ - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
84
+ - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
85
+
86
+ # Acceptable: Major version tag
87
+ - uses: actions/checkout@v6
88
+
89
+ # Not recommended: Branch reference
90
+ - uses: actions/checkout@main
91
+ ```
92
+
93
+ ## Cache Storage Updates (November 2025)
94
+
95
+ GitHub Actions cache storage expanded beyond the 10 GB limit:
96
+
97
+ **New Features:**
98
+ - **Pay-as-you-go model**: Repositories can store more than 10 GB of cache data
99
+ - **Free tier**: All repositories continue to receive 10 GB at no additional cost
100
+ - **New management policies**:
101
+ - Cache size eviction limit (GB): Control maximum cache size
102
+ - Cache retention limit (days): Set how long caches are retained
103
+
104
+ **Pricing:**
105
+ - First 10 GB per repository: **FREE**
106
+ - Additional storage: Comparable to Git LFS and Codespaces storage
107
+ - Requires Pro, Team, or Enterprise account to exceed 10 GB limit
108
+
109
+ **Cache best practices:**
110
+ - Monitor cache usage in repository settings
111
+ - Configure eviction limits to control costs
112
+ - Use appropriate retention periods for your workflow
113
+ - Clean up old caches regularly
114
+ - Consider cache key strategies to avoid cache bloat
115
+
116
+ ## Validation Checklist
117
+
118
+ When validating workflows, ALWAYS:
119
+ 1. Run the validation script
120
+ 2. Manually review `uses:` statements against the version table
121
+ 3. Warn about any outdated or deprecated versions
122
+ 4. Suggest specific upgrade paths with SHA pinning