Thank you for your interest in contributing to OMSS Core! This guide will help you get started.
- Code of Conduct
- Getting Started
- Development Setup
- How to Contribute
- Commit Message Guidelines
- Pull Request Process
- Reporting Bugs
- Suggesting Features
This project is governed by the Code of Conduct. By participating, you agree to uphold it.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/<your-username>/core.git cd core
- Install dependencies:
npm install
- Build the project:
npm run build
- Run tests:
npm test
| Command | Description |
|---|---|
npm run build |
Build the project with tsdown |
npm run dev |
Watch mode (rebuilds on file changes) |
npm test |
Run test suite with Vitest |
npm run lint |
Lint code with ESLint |
npm run lint:fix |
Lint and auto-fix what's safe to fix |
npm run format |
Format code with Prettier |
npm run format:check |
Check formatting without writing |
npm run example |
Run the example file |
Please use the Bug Report issue template. Include:
- A clear and descriptive title
- Steps to reproduce the behavior
- Expected vs. actual behavior
- Your environment (Node.js version, OS,
@omss/coreversion) - A minimal reproduction case if possible
Please use the Feature Request issue template. Describe the problem you are trying to solve, not just the solution. This helps us understand the context and find the best approach together.
- Create a new branch from
main:git checkout -b feat/my-feature
- Make your changes, following the conventions in AGENTS.md - including its JSDoc/TSDoc standard for any new or changed exported symbol.
- Add or update tests to cover your changes.
- Run the full test suite:
npm test. - Lint your code:
npm run lint(ornpm run lint:fixto auto-fix what it can). - Format your code:
npm run format. - Push your branch and open a Pull Request.
We follow Conventional Commits:
<type>(<scope>): <short summary>
[optional body]
[optional footer(s)]
Types: feat, fix, docs, style, refactor, test, chore, ci
Examples:
feat(server): add plugin deregistration support
fix(hooks): prevent circular hook invocation
docs: update README plugin example
- Ensure all tests pass with 100% coverage:
npm test(required). - Ensure the code passes lint:
npm run lint(required - CI enforces this). - Ensure code is formatted:
npm run format(required - CI enforces this). - Reference any related issues in the PR description (
Closes #123). - A maintainer will review your PR. Please be patient - this is a small team.
- Address any review feedback by pushing new commits to your branch.
- Once approved, a maintainer will merge the PR.
Please do not open public issues for security vulnerabilities. See SECURITY.md for the responsible disclosure process.