Skip to content

Latest commit

 

History

History
97 lines (76 loc) · 3.81 KB

File metadata and controls

97 lines (76 loc) · 3.81 KB

Contributing to nuxt-ollama

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.

💛 Our guiding principles

  • 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.

🧭 Ways to contribute

  • Report bugs
  • Suggest enhancements
  • Improve documentation or examples
  • Write tests
  • Implement features (discuss first if non-trivial)

🐞 Bug reports

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.

💡 Feature requests

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.

🛠️ Local development

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/.

🧪 Tests

  • 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.

✏️ Code style

  • Follow the existing ESLint and TypeScript setup (run pnpm run lint and pnpm run test:types).
  • Prefer small, focused PRs over large ones.
  • Keep public APIs documented (JSDoc or README snippets).

🧾 Commit messages

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.

🌿 Branching and PRs

  • 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)

We’ll review kindly and promptly. If changes are requested, they’re meant to help — we’re on the same team.

🔐 Security

If you discover a vulnerability, please do not open a public issue. Instead, contact a maintainer privately so we can coordinate a fix.

📜 License and attribution

By contributing, you agree that your contributions will be licensed under the MIT License of this repository.

🙏 Thank you

Your time and energy make this project better for everyone. We’re grateful you’re here — welcome! ❤️