This repository provides a multi-language project template with best practices for Node.js, Python, and TypeScript. It includes:
- Pre-configured CI/CD workflows
- Docker and Compose support
- Documentation and onboarding guides
- Example scripts for build, test, and deployment
- Troubleshooting Guide
- First-Time Contributor Guide
- Editor/IDE Recommendations
- Accessibility & Inclusion
- Clone the repository
- Run the setup script:
pwsh ./setup.ps1(orbash ./scripts/setup.shon Unix) - Start coding in your preferred language folder
See
mock-ui/README.mdfor all UI/testing options, including static HTML/JS, Swagger UI, and a React+Vite mock UI.
- Python: See
python/tests/test_api.pyfor a sample usingrequestsandpytest. - Node.js: See
nodejs/tests/api.test.jsfor a sample usingsupertestandjest. - TypeScript: See
typescript/tests/api.test.tsfor a sample usingsupertestandjest. - Postman: Import
postman_collection.jsonfor ready-to-run API tests. - Insomnia: Import
insomnia_api_test.yamlfor ready-to-run API tests. - k6: Use
k6-api-test.jsfor load/performance testing (k6 run k6-api-test.js).
For contract testing, the workflow uses Schemathesis against
docs/api/openapi.yml.
MIT. See LICENSE.
| Area / Folder | User Editable? | Purpose / Notes |
|---|---|---|
nodejs/, python/, typescript/ |
✅ | Your code, tests, and dependencies |
docs/ |
✅ | Project/user documentation |
obsidian/ |
✅ | Internal notes vault |
.env.example, .env |
✅ | Environment variables |
i18n/ |
✅ | Sample translations for i18n |
TELEMETRY_OPT_IN.md |
✅ | Opt-in for anonymous analytics |
README.md, CONTRIBUTING.md, etc. |
✅ | Main project docs |
scripts/ |
Project automation (edit with care) | |
.github/workflows/ |
CI/CD automation (edit with care) | |
.husky/, python/.pre-commit-config.yaml |
Pre-commit hooks (edit with care) | |
Makefile, Dockerfile, docker-compose.yml |
Build/deploy automation | |
CODEOWNERS, SECURITY.md, etc. |
Project meta/configuration |
Legend:
- ✅ = Safe to edit for your project needs
⚠️ = Edit with care; these are part of the template’s automation/operation
Tip: If in doubt, check the file’s header or ask a maintainer before editing.
- Container Security Scan: Automated Trivy scan of Docker images for vulnerabilities (container-security.yml).
- Mock API Server: Start a local mock server from your OpenAPI spec using Prism (mock-api.yml,
scripts/mock-api.sh,scripts/mock-api.ps1). - Internationalization (i18n): Sample translations and workflow (i18n/locales/, i18n-sample.yml).
- Telemetry Opt-In: Explicit opt-in for anonymous usage analytics (TELEMETRY_OPT_IN.md, telemetry-optin.yml).
- Mock API UI: Multiple ways to interact with your API for onboarding, demos, and manual/automated testing. See
mock-ui/README.mdfor:- Static HTML/JS (no build needed)
- Swagger UI (OpenAPI explorer)
- React + Vite mock UI (extensible, modern)
- Postman/Insomnia Collections: Import
postman_collection.jsonorinsomnia_api_test.yamlfor ready-to-run API tests. - Contract Testing: Automated with Schemathesis in CI (api-test.yml).
You can run a local mock API server from your OpenAPI spec for contract testing and rapid prototyping:
# On Windows PowerShell
./scripts/mock-api.ps1
# On Linux/macOS (bash)
./scripts/mock-api.shOr use the Mock API workflow to run it in CI.
Sample translation files are in i18n/locales/. Add or update translations as needed. The i18n workflow checks for translation files.
This project is privacy-first. No analytics are collected unless you explicitly opt in by checking the box in TELEMETRY_OPT_IN.md. The telemetry workflow checks for this file.