Before contributing, read README.md for project scope.
Use Node.js 24 to match the action runtime and CI. Install Git and npm, then run these commands from the repository root:
npm ci
npm --prefix wrapper ciThe action and wrapper have separate dependencies and lockfiles. The root install also configures the Husky Git hooks.
Run from the repository root:
npm test
npm run buildnpm test runs the Node.js tests in tests/setup.test.js. They mock installation and command execution, so no StackQL installation or provider credentials are required.
npm run build bundles the wrapper into wrapper/dist/, then the action into dist/. GitHub Actions runs the committed dist/index.js, so include updated bundles when changing source or dependencies. Do not edit generated bundles directly.
The pre-commit hook rebuilds and stages dist/ and all of wrapper/. Review the staged diff before committing.
The CI workflow runs unit tests and integration checks on Linux, Windows, and macOS for AMD64 and ARM64, with use_wrapper enabled and disabled. macOS uses Homebrew and does not install the wrapper.
- Keep changes scoped to one coherent fix or feature.
- Describe the change and include test results.
- Add or update tests for functional changes, including affected platforms and architectures.
- Update the README and action metadata when changing documented behavior or inputs.
- Include relevant lockfile and generated bundle changes when updating dependencies.
Report suspected vulnerabilities privately using SECURITY.md.