diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..ca829aa --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,26 @@ +--- +name: Bug Report +about: Report a bug in the PerpCity SDK +title: '' +labels: bug +assignees: '' +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To reproduce** +Steps to reproduce the behavior: +1. Code snippet or minimal reproduction +2. Expected output vs actual output + +**Expected behavior** +What you expected to happen. + +**Environment** +- SDK version: [e.g. 0.4.3] +- Runtime: [e.g. Bun 1.2, Node 22] +- OS: [e.g. macOS 15, Ubuntu 24.04] + +**Additional context** +Any other context, stack traces, or error messages. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..33f035d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,19 @@ +--- +name: Feature Request +about: Suggest a new feature for the PerpCity SDK +title: '' +labels: enhancement +assignees: '' +--- + +**What problem does this solve?** +A clear description of the use case or pain point. + +**Proposed solution** +How you think this could be implemented. + +**Alternatives considered** +Any alternative solutions or workarounds you've considered. + +**Additional context** +Any other context or examples. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..8d3ee7e --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,61 @@ +# Contributing to PerpCity SDK + +Thanks for your interest in contributing! This document covers everything you need to get started. + +## Prerequisites + +- [Bun](https://bun.sh/) (recommended) or Node.js >= 18 +- [pnpm](https://pnpm.io/) + +## Getting Started + +```bash +git clone https://github.com/StrobeLabs/perpcity-sdk.git +cd perpcity-sdk +pnpm install +``` + +## Development + +```bash +# Build +pnpm build + +# Run unit tests +pnpm test:unit + +# Run integration tests (requires Base Sepolia RPC) +pnpm test:integration + +# Lint +pnpm lint + +# Format +pnpm format + +# Full CI check (build + test + typecheck + lint) +pnpm ci +``` + +## Pull Requests + +1. Fork the repo and create a branch from `main` +2. Write your code and add tests for new functionality +3. Run `pnpm ci` to verify everything passes +4. Open a PR against `main` + +## Code Style + +- Follow [Biome](https://biomejs.dev/) formatting and linting rules (enforced by CI) +- Use TypeScript strict mode +- Write tests for new functionality using [Vitest](https://vitest.dev/) + +## Reporting Issues + +- Use the bug report template for bugs +- Use the feature request template for new features +- Include SDK version, Node/Bun version, and steps to reproduce + +## License + +By contributing, you agree that your contributions will be licensed under the MIT License.