Evidence, not description
Asks every change for what changed, how it was verified, what is unverified and the risk, so a reviewer starts from the facts.
Each NainDev project calls the same four reusable GitHub Actions workflows instead of copying its own pipeline. A fix to the shared workflow reaches every repository, and a new project gets a working CI in a few lines.
All of them run on GitHub-managed ubuntu-latest runners. A repository adds a short workflow file that points at the shared one.
Restores, optionally checks formatting, builds in Release and runs the test suites with coverage collection.
jobs:
test:
uses: Nain9Dev/.github/.github/workflows/reusable-dotnet.yml@main
with:
dotnet-version: "10.0.x"
run-format-check: false
Sets up Python with pip caching, lints with Ruff and runs the tests with pytest or unittest.
jobs:
test:
uses: Nain9Dev/.github/.github/workflows/reusable-python.yml@main
with:
python-version: "3.12"
requirements-file: "requirements.txt"
test-command: "pytest -v"
Sets up Node.js LTS, caches dependencies, runs the tests and builds the production bundle.
jobs:
test:
uses: Nain9Dev/.github/.github/workflows/reusable-web.yml@main
with:
node-version: "22.x"
test-command: "npm test"
build-command: "npm run build"
Builds a client under Node.js 24 LTS, optionally runs pre-flight tests, configures Pages and deploys the artifact in one step. The live demos reuse it instead of repeating the steps.
permissions:
contents: read
pages: write
id-token: write
jobs:
deploy:
uses: Nain9Dev/.github/.github/workflows/reusable-pages-deploy.yml@main
with:
working-directory: "ProspectAI.Client"
dist-path: "dist"
build-command: "npm run build"
run-tests: false
Community files in this repository apply to every NainDev repository that does not define its own.
Asks every change for what changed, how it was verified, what is unverified and the risk, so a reviewer starts from the facts.
One pull request per ecosystem each week across Actions, npm, pip and NuGet, instead of a stream of single-package PRs.
Bug report and feature request forms, a security policy, a code of conduct and contributing guidelines.
Calling a workflow with @main follows the latest shared version. A repository that needs a frozen pipeline can pin the reference to a commit instead.