Thank you for your interest in contributing! We welcome contributions from the community.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/sheets-loader.git cd sheets-loader - Install dependencies:
pnpm install
pnpm test # Run tests
pnpm test:coverage # Run tests with coverage reportpnpm typecheckpnpm lintpnpm buildpnpm demo- Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name # or git checkout -b fix/your-bug-fix - Make your changes, following the code style guidelines below
- Add or update tests for any new behavior
- Run the full check suite before committing:
pnpm lint && pnpm build && pnpm test
- TypeScript strict mode — all changes must type-check
- Single quotes for strings
- Semicolons required (enforced by Prettier)
- 2-space indentation
- Trailing commas in multiline structures
- 100-character line width
- All tests use Vitest
- Tests live in the
tests/directory - Mock
getAuthClientorfetchValuesto avoid real network calls - Do not commit credentials or real spreadsheet IDs
- Never commit credentials, private keys, or refresh tokens
- Use environment variables for sensitive values in examples and tests
- See
docs/oauth.mdfor authentication best practices
- Ensure all checks pass (
pnpm lint && pnpm build && pnpm test) - Update
CHANGELOG.mdunder[Unreleased]with a summary of your changes - Open a PR describing what was changed and why
- Link any related issues
Please use the GitHub issue templates:
- Bug report: For unexpected behavior
- Feature request: For new functionality
By contributing, you agree that your contributions will be licensed under the MIT License.