Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/boost-lint.yml
Original file line number Diff line number Diff line change
@@ -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
31 changes: 31 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -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! 🚀