Contributing to ASG Card
March 25, 2026 ยท View on GitHub
Thank you for your interest in contributing to ASG Card! This document provides guidelines and information to make the contribution process smooth for everyone.
๐ Your First Contribution
New to the project? Here's how to get started:
- Browse
good first issueโ these are beginner-friendly tasks curated by maintainers. - Check
help wantedโ these are tasks where we actively need community help. - Fork the repo, create a branch, make your changes, and open a Pull Request.
Not sure where to start? Open a Discussion and ask โ we're happy to help!
๐ Non-Code Contributions
Code isn't the only way to help. We deeply value:
- Documentation โ fix typos, improve explanations, add examples
- Translations โ help us reach developers worldwide (see
README.zh-CN.md) - Bug triage โ reproduce reported bugs, add details, suggest labels
- Design โ UI/UX improvements, diagrams, visual assets
- Testing โ write test cases, report edge cases
Development Workflow
- All work is tracked in GitHub Issues. Do not start work without an associated issue.
- Branch from
mainusing the naming convention:<type>/<issue-key>-<short-description>- Examples:
feat/PLAT-001-api-skeleton,fix/ISS-002-topup-mapping,docs/GH-004-issue-templates
- Examples:
- Open a PR against
mainwhen ready for review. - PR must pass all required checks (lint, typecheck, tests, security scan) before merge.
- Minimum 1 approval required (2 for security-labeled issues).
- Squash merge to keep
mainhistory clean.
Commit Convention
Use Conventional Commits:
<type>(<scope>): <description>
[optional body]
[optional footer: Closes #<issue-number>]
Types: feat, fix, docs, chore, refactor, test, ci, security
Scopes: api, sdk, web, cli, mcp-server, gateway, payments, issuer, webhooks, ledger, infra
Code Standards
- TypeScript strict mode (
"strict": true) everywhere. - Zod for all runtime validation (env, request bodies, external API responses).
- No hardcoded secrets or PII in source code or logs.
- PAN/CVV must never appear in log output.
Review Policy
- Every PR needs at least 1 reviewer approval.
- Security-labeled PRs need 2 approvals + security owner sign-off.
- Reviewers must verify:
- Tests cover new/changed behavior.
- Observability (logs/metrics) is added where applicable.
- Documentation is updated if API surface changes.
Local Development
npm install # install all workspace dependencies
npm run dev:api # start API on :3000
npm run dev # start web on :3001
npm run typecheck # type-check all workspaces
๐ Mentorship โ The 3Cs Framework
We believe in growing contributors into long-term collaborators:
- Connect โ Introduce yourself in a Discussion or issue comment. We'll help you find the right task.
- Contribute โ Start with a
good first issue, then graduate tohelp wantedtasks. - Commit โ Consistent contributors are invited to become maintainers with write access and code review responsibilities.
Code of Conduct
This project follows our Code of Conduct. By participating, you agree to uphold these standards.