# Contributing to d3kline-engine Welcome! Thanks for your interest in contributing to d3kline-engine. ## Development Setup ```bash git clone https://github.com/RookieTao998/d3kline-engine.git cd d3kline-engine pnpm install pnpm typecheck pnpm build pnpm test ``` ## Workflow ### Branch Naming - `feat/*` — new features - `fix/*` — bug fixes - `refactor/*` — code refactoring - `docs/*` — documentation updates - `chore/*` — tooling, dependencies ### Commit Messages This project uses [Changesets](https://github.com/changesets/changesets) for versioning. When you make a change that should trigger a version bump for users, run: ```bash pnpm changeset ``` This creates a `.md` file in `.changeset/` describing your change. Commit this file along with your code changes. ### Pull Requests 1. Fork the repository 2. Create a feature branch from `main` 3. Make your changes with passing tests and type checks 4. Submit a PR with a clear description ### Code Style - TypeScript with strict mode - ESLint + Prettier for formatting (handled by lint-staged pre-commit hook) - Run `pnpm format` before committing if Prettier warnings appear ### Testing ```bash pnpm test # run all tests pnpm typecheck # check types pnpm lint # lint code ``` ## Packages - `@d3kline/core` — shared contracts and utilities (public) - `@d3kline/renderer` — rendering runtime (public) - `@d3kline/examples` — example application (private, not published) ## Reporting Issues Bug reports and feature requests are welcome via GitHub Issues. Please check existing issues before creating a new one.