Thank you for taking the time to contribute — we’re excited to collaborate with you! This project aims to be welcoming, kind, and inclusive. Whether you’re fixing a typo, filing a bug, improving docs, or adding features, your help is appreciated.
- Be kind and respectful. Assume positive intent.
- Value all contributions, big and small.
- Communicate clearly and empathetically. Prefer constructive feedback.
- Be inclusive: use welcoming, gender‑neutral language and avoid sarcasm.
- Celebrate learning. It’s okay to ask questions and to make mistakes.
We follow a simple Code of Conduct: no harassment, no discrimination, no personal attacks. If something makes you uncomfortable, please open a private issue or contact a maintainer.
- Report bugs
- Suggest enhancements
- Improve documentation or examples
- Write tests
- Implement features (discuss first if non-trivial)
Please include:
- What happened and what you expected instead
- Steps to reproduce (minimal repro if possible)
- Environment: Node.js version, pnpm version, OS, Nuxt version
- Logs or screenshots when relevant
Create a new issue and label it clearly. If you can, propose a hypothesis or a failing test.
Before starting work, open an issue to discuss:
- The problem you’re solving and motivation
- Proposed API/behavior (simple examples help)
- Alternatives considered
We aim to keep the module simple and focused.
This repository is a Nuxt module with a playground for testing.
Prerequisites:
- Node.js (project uses Volta pin: 24.11.0)
- pnpm (packageManager: pnpm@10.20.0)
Common tasks:
- Prepare module and playground
- pnpm run dev:prepare
- Run the playground dev server
- pnpm run dev
- Lint
- pnpm run lint
- Type-check
- pnpm run test:types
- Tests (Vitest)
- pnpm run test
Tip: If you add a new public option or server/composable utility, also update the types in src/runtime/types/ as needed and add an example usage in playground/.
- Add or update tests for behavior changes.
- For fixes, consider writing a failing test first.
- Keep tests fast and focused; prefer unit tests when possible.
- Follow the existing ESLint and TypeScript setup (run
pnpm run lintandpnpm run test:types). - Prefer small, focused PRs over large ones.
- Keep public APIs documented (JSDoc or README snippets).
We recommend Conventional Commits for clarity and changelog generation, for example:
- feat: add XYZ option to runtime config
- fix: handle missing model name in server util
- docs: clarify playground setup
- test: add unit tests for useOllama composable
- refactor: simplify error handling
Prefix with feat, fix, docs, test, refactor, chore, etc. Use imperative mood and keep the subject short.
- Create a topic branch from
master(e.g.feat/xyz,fix/edge-case). - Keep PRs focused and include a short description of the change and motivation.
- Checklist before opening a PR:
- Lint passes (
pnpm run lint) - Types pass (
pnpm run test:types) - Tests pass (
pnpm run test) - Docs updated (README/inline comments/playground if relevant)
- Lint passes (
We’ll review kindly and promptly. If changes are requested, they’re meant to help — we’re on the same team.
If you discover a vulnerability, please do not open a public issue. Instead, contact a maintainer privately so we can coordinate a fix.
By contributing, you agree that your contributions will be licensed under the MIT License of this repository.
Your time and energy make this project better for everyone. We’re grateful you’re here — welcome! ❤️