-
Notifications
You must be signed in to change notification settings - Fork 0
MPT-20094 reorganize repository documentation #299
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
d3rky
merged 1 commit into
main
from
feature/MPT-20094/generate-technical-documentation-for-the-repo
Apr 14, 2026
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,43 +1,8 @@ | ||
| --- | ||
| description: 'Python coding conventions and guidelines' | ||
| applyTo: '**/*.py' | ||
| description: 'Repository entry point for Copilot' | ||
| applyTo: '**' | ||
| --- | ||
|
|
||
| # Python Coding Conventions | ||
| # Copilot Instructions | ||
|
|
||
| ## General Instructions | ||
| - All configuration **must be provided via environment variables**. | ||
| - Do not hardcode configuration values. | ||
| - Write maintainable, readable, and predictable code. | ||
| - In `pyproject.toml`: | ||
| - Use `*` for **minor versions only** | ||
| ✅ `django==4.2.*` | ||
| ❌ `django==^4.2.2` | ||
|
|
||
| - Use consistent naming conventions and follow language-specific best practices. | ||
|
|
||
| ## Python Instructions | ||
| - Use type annotations (PEP 484) - except in the `tests/` folder. | ||
| - All public functions, methods, and classes **must include [Google-style docstrings](https://google.github.io/styleguide/pyguide.html)**. | ||
| - **Do not add inline comments**; rely on clear code and docstrings instead. | ||
| - Function and variable names must be explicit and intention-revealing. | ||
| - `pyproject.toml` is the source of truth for code quality rules. Generated code must not violate any configured rules. | ||
| - **ruff** is the primary linter for general Python style and best practices. | ||
| - **flake8** is used exclusively to run: | ||
| - `wemake-python-styleguide` - Enforces strict Python coding standards ([docs](https://wemake-python-styleguide.readthedocs.io/en/latest/)) | ||
| - `flake8-aaa` - Validates the AAA pattern in tests | ||
| - Follow PEP 8 unless explicitly overridden by ruff. | ||
| - Prefer simple, explicit code over clever or compact implementations. | ||
|
|
||
| ## Testing | ||
| - Use pytest only. | ||
| - Tests must be written as **functions**, not classes. | ||
| - Test files and functions must use the `test_` prefix. | ||
| - Follow ***AAA(Arrange - Act - Assert)*** strictly. See the [flake8-aaa documentation](https://flake8-aaa.readthedocs.io/en/stable/index.html). | ||
| - Do **not** use `if` statements or branching logic inside tests. | ||
| - Prefer fixtures over mocks whenever possible. | ||
| - Avoid duplicating test logic; extract shared setup into fixtures. | ||
| - Use `mocker` only when mocking is unavoidable. | ||
| - Never use `unittest.mock` directly. | ||
| - Always use `spec` or `autospec` when mocking. | ||
| - Use `@pytest.mark.parametrize` tests when testing permutations of the same behavior. | ||
| Read [AGENTS.md](../../AGENTS.md) first. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,15 +1,42 @@ | ||
| # Contributing | ||
|
|
||
| This document describes the development workflow and coding conventions for | ||
| `mpt-api-python-client`. | ||
| This document captures repository-specific contribution guidance. Shared engineering rules | ||
| live in `mpt-extension-skills` and should be linked, not copied, from this repository. | ||
|
|
||
| - [Package architecture](./architecture.md) | ||
| - [Python coding standards](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/standards/python-coding.md) | ||
| - [Extensions best practices](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/standards/extensions-best-practices.md) | ||
| ## Shared Standards | ||
|
|
||
| - [Python coding conventions](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/standards/python-coding.md) | ||
| - [Packages and dependencies](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/standards/packages-and-dependencies.md) | ||
| - [Testing](./testing.md) | ||
| - [Unit tests](./unit_tests.md) | ||
| - [E2E tests](./e2e_tests.md) | ||
| - [Pull requests](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/standards/pull-requests.md) | ||
| - [Makefiles](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/standards/makefiles.md) | ||
| - [Makefile targets](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/knowledge/make-targets.md) | ||
| - [Repository documentation](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/standards/documentation.md) | ||
| - [Makefile structure](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/standards/makefiles.md) | ||
|
|
||
| ## Shared Knowledge | ||
|
|
||
| - [Build and checks](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/knowledge/build-and-checks.md) | ||
| - [Make target meanings](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/knowledge/make-targets.md) | ||
|
|
||
| ## Development Model | ||
|
|
||
| This repository uses Docker as the default local execution model. | ||
|
|
||
| - Use `make build` to build the container image. | ||
| - Use `make bash` when you need an interactive shell inside the container. | ||
| - Use `make run` for an IPython session with project dependencies available. | ||
| - Use `make test`, `make check`, and `make check-all` through the provided `make` targets. | ||
|
|
||
| ## Repository-Specific Expectations | ||
|
|
||
| - Keep public API changes aligned with [`mpt_api_client/mpt_client.py`](../mpt_api_client/mpt_client.py) and the resource/service layout described in [architecture.md](architecture.md). | ||
| - Keep resource-specific behavior inside the matching module under [`mpt_api_client/resources/`](../mpt_api_client/resources). | ||
| - Keep transport and query behavior inside [`mpt_api_client/http/`](../mpt_api_client/http) and [`mpt_api_client/rql/`](../mpt_api_client/rql). | ||
| - Add or update tests near the affected domain under [`tests/unit/`](../tests/unit) or [`tests/e2e/`](../tests/e2e). | ||
| - When repository behavior changes, update the narrowest relevant document under [`docs/`](.). | ||
|
|
||
| ## Validation Before Review | ||
|
|
||
| Follow the shared validation flow from | ||
| [knowledge/build-and-checks.md](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/knowledge/build-and-checks.md). | ||
|
|
||
| In this repository, run validation through the Docker-based targets documented in | ||
| [testing.md](testing.md). Use `make build` first when dependencies or `uv.lock` change. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| # Documentation | ||
|
|
||
| This repository follows the shared documentation standard: | ||
|
|
||
| - [standards/documentation.md](https://github.com/softwareone-platform/mpt-extension-skills/blob/main/standards/documentation.md) | ||
|
|
||
| This file documents repository-specific documentation rules only. | ||
|
|
||
| ## Repository Rules | ||
|
|
||
| - `README.md` must stay concise and act as the main human entry point. | ||
| - `AGENTS.md` must stay operational and tell AI agents which files to read first. | ||
| - Topic-specific documentation must live in the matching file under [`docs/`](.). | ||
| - Shared engineering rules must be linked from `mpt-extension-skills` instead of copied into this repository. | ||
| - When changing setup, usage, testing, or architecture behavior, update the corresponding document in the same change. | ||
| - `docs/usage.md` is the source of truth for installation, configuration, examples, and supported command entry points. | ||
|
|
||
| ## Current Documentation Map | ||
|
|
||
| - [`README.md`](../README.md): overview, quick start, and documentation map | ||
| - [`AGENTS.md`](../AGENTS.md): AI-agent entry point and reading order | ||
| - [`usage.md`](usage.md): install, configure, and use the client | ||
| - [`architecture.md`](architecture.md): repository structure and major abstractions | ||
| - [`local-development.md`](local-development.md): Docker-only local setup and execution | ||
| - [`testing.md`](testing.md): repository-specific testing strategy | ||
| - [`contributing.md`](contributing.md): repository workflow and shared-standard links | ||
| - [`rql.md`](rql.md): RQL query builder guide | ||
|
|
||
| ## Change Rule | ||
|
|
||
| Prefer updating the smallest relevant document instead of creating overlapping summary files. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.