diff --git a/.github/workflows/boost-lint.yml b/.github/workflows/boost-lint.yml new file mode 100644 index 0000000..0ca4666 --- /dev/null +++ b/.github/workflows/boost-lint.yml @@ -0,0 +1,29 @@ +name: Boost CI / Lint & Typecheck +on: + push: + branches: [main, master, boost-*] + pull_request: + branches: [main, master] +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + cache-dependency-path: | + **/package-lock.json + **/pnpm-lock.yaml + **/yarn.lock + - name: Install dependencies + run: | + if [ -f package-lock.json ]; then npm ci; elif [ -f pnpm-lock.yaml ]; then npm install -g pnpm && pnpm install --frozen-lockfile; elif [ -f yarn.lock ]; then yarn --frozen-lockfile; else npm install; fi + - name: Lint + run: npx eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 2>/dev/null || echo "Lint not configured, skipping" + - name: Type check + run: npx tsc --noEmit 2>/dev/null || echo "Type check not configured, skipping" + - name: Build + run: | + if grep -q '"build"' package.json; then npm run build; elif grep -q '"compile"' package.json; then npm run compile; else echo "No build script"; fi diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f62b2af --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,31 @@ +# Contributing + +Thank you for your interest in contributing! Here's how to get started. + +## Quick Start +1. Fork the repository +2. Clone your fork: `git clone https://github.com/YOUR_USERNAME/chi.git` +3. Install dependencies: `npm install` +4. Create a branch: `git checkout -b feat/your-feature` + +## Development Guidelines +- Write meaningful commit messages following [Conventional Commits](https://www.conventionalcommits.org/) +- Add tests for new functionality +- Run `npm test` before pushing +- Keep PRs focused on a single change + +## Code Style +- We use ESLint and Prettier for consistent formatting +- TypeScript strict mode is enabled — ensure all types are properly defined +- Follow existing patterns in the codebase + +## Pull Request Process +1. Update documentation if needed +2. Ensure CI passes (lint, typecheck, build) +3. Request review from a maintainer +4. Address feedback promptly + +## Questions? +Open a Discussion or join our community chat. + +Happy hacking! 🚀