Skip to content

Latest commit

 

History

History
76 lines (55 loc) · 2.46 KB

CONTRIBUTING.md

File metadata and controls

76 lines (55 loc) · 2.46 KB

Contributing to Exprify

First off, thanks for taking the time to contribute!

Contributions are welcome. It's reporting a bug, discussing improvements, or submitting a pull request.

Getting Started

git clone https://github.com/code-hemu/exprify.git
cd exprify
npm install
npm run build

Development Workflow

Command Description
npm run typecheck Type-check with TypeScript (tsc --noEmit)
npm run build:types Emit declarations from the JSDoc-typed sources into .types/
npm run build Rebuild all dist bundles and dist/index.d.ts
npm run dev Start the playground dev server (Guchho)
npm run playground:build Bundle the playground into playground/dist/
npm test Build, then run the test suite (node:test)

Before submitting a PR, make sure:

  • npm run typecheck passes
  • npm test passes (all tests green)

Project Structure

exprify/
├── src/          # Source code (ESM)
├── test/         # Test files (node:test)
├── playground/   # Browser playground (Guchho, HTML-first)
├── dist/         # Build output (ESM, CJS, UMD, minified)
├── docs/         # Documentation assets
└── .github/      # CI workflows and config

Pull Request Process

  1. Fork the repository.
  2. Create a branch: git checkout -b feature/your-feature — use prefixes like feature/, fix/, or docs/.
  3. Make your changes — keep the PR focused on a single concern.
  4. Run all checks — typecheck, tests, format.
  5. Commit your changes with a clear message: git commit -m "Add your feature"
  6. Push your branch: git push origin feature/your-feature
  7. Open a pull request against the master branch.

Your PR will be reviewed. Please respond to any feedback — it's appreciated, not required.

Style & Conventions

  • Code is formatted with Prettier (see .prettierrc).
  • The project uses ESM ("type": "module") — use import/export syntax.
  • Follow the patterns you see in existing source and tests.

Reporting Issues

Report bugs and request features via GitHub Issues.

When reporting a bug, include:

  • A clear title and description
  • Steps to reproduce
  • Expected vs actual behavior
  • Environment (Node version, browser, OS)
  • Minimal example code if possible

License

By contributing, you agree that your contributions will be licensed under the GPL-3.0 License.