From b4d062ff3f9c913197e0feb998fa7d26b6871699 Mon Sep 17 00:00:00 2001 From: Alexx Date: Mon, 20 Oct 2025 18:28:53 +0100 Subject: [PATCH] Add CONTRIBUTING guide (#48) * docs: add contributing guide Fixes #47. * Update CONTRIBUTING.md --------- Co-authored-by: alexx-ftw Co-authored-by: Game_Time <108236317+RayBytes@users.noreply.github.com> --- CONTRIBUTING.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..6c4919f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,37 @@ +# Contributing to ChatMock + +We welcome thoughtful improvements. This guide calls out the expectations that keep reviews quick and the project stable. + +# How should I contribute? + +### Before changing code... +- Open an issue before large or risky efforts so scope is agreed up front. +- Keep pull requests focused and easy to follow & break sweeping changes into a series when possible. +- Treat documentation, code, and packaging (CLI, Docker, GUI) as a single surface (your updates should apply to all). + +### Getting Set Up +- Review the Quickstart section in README.md +- Go through the codebase, and ensure you understand the current codebase. +- Confirm you can log in and serve a local instance, then make a couple of sample requests to understand current behaviour so you know if it broke later on. + +### Working With Core Files +- `prompt.md` and related Codex harness files are sensitive. Do not modify them or move entry points without prior maintainer approval. +- Be cautious with parameter names, response payload shapes, and file locations consumed by downstream clients. Coordinate before changing them. +- When touching shared logic, update both OpenAI and Ollama routes, plus any CLI/GUI code that depends on the same behaviour. + +## Designing Features and Fixes +- Prefer opt-in flags or config switches for new capabilities & leave defaults unchanged until maintainers confirm the rollout plan. +- Document any limits, or external dependencies introduced by your change. +- Validate compatibility with popular clients (e.g. Jan, Raycast, custom OpenAI SDKs) when responses or streaming formats shift. + +# Pull Request Checklist +- [ ] Rebased on the latest `main` and issue reference included when applicable. +- [ ] Manual verification steps captured under "How to try locally" in the PR body. +- [ ] README.md, DOCKER.md, and other docs updated—or explicitly noted as not required. +- [ ] No generated artefacts or caches staged (`build/`, `dist/`, `__pycache__/`, `.pytest_cache/`, etc.). +- [ ] Critical paths (`prompt.md`, routing modules, public parameter names) reviewed for unintended edits and discussed with maintainers if changes were necessary. + +## Need Help? +- If you're not sure about about scope, flags, or how to implement a certain feature, always create an issue before hand. + +Thank you for you contribution!