diff --git a/.markdownlint.jsonc b/.markdownlint.jsonc new file mode 100644 index 0000000..225b713 --- /dev/null +++ b/.markdownlint.jsonc @@ -0,0 +1,27 @@ +// Project-wide markdownlint configuration. +// Docs: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md +{ + "default": true, + + // Line length: disabled. CHANGELOG entries, badge URLs and inline code + // references frequently exceed 80 columns; soft-wrap is handled by the + // renderer, not by hard line breaks in source. + "MD013": false, + + // Duplicate headings: permitted across sibling scopes. Keep a Changelog + // mandates repeated `### Added` / `### Changed` / `### Removed` under each + // version, but we still flag accidental duplicates within the same scope. + "MD024": { "siblings_only": true }, + + // Inline HTML: permitted. README uses

, , and + // similar elements for badges, centered headers and tables. + "MD033": false, + + // Emphasis used as heading: permitted. Lightweight **bold** section labels + // are common in changelogs and migration blocks. + "MD036": false, + + // First line must be a top-level heading: disabled. README typically opens + // with badges or centered logo blocks before the `# Title` heading. + "MD041": false +} diff --git a/Justfile b/Justfile new file mode 100644 index 0000000..5536864 --- /dev/null +++ b/Justfile @@ -0,0 +1,40 @@ +# Run all checks and tests. +all: check test + +# Show all available recipes. +help: + @just --list + +# Install the package in editable mode with all dependencies. +install: + uv sync --extra dev --extra all + uv run pre-commit install + +# Run Ruff lint checks. +lint: + uv run ruff check . + +# Auto-fix Ruff findings and format the code. +format: + uv run ruff check --fix . + uv run ruff format . + +# Run the mypy type checker. +typecheck: + uv run mypy src/x402_openai + +# Run pytest. +test: + uv run pytest + +# Build wheel and source distributions. +build: + uv build + +# Remove build artifacts and caches using the project's Python environment. +clean: + uv run python -c "import shutil, pathlib; [shutil.rmtree(p, ignore_errors=True) for p in ['dist', 'build', '.mypy_cache', '.pytest_cache']]; [shutil.rmtree(p) for p in pathlib.Path('.').rglob('__pycache__')]; [shutil.rmtree(p) for p in pathlib.Path('.').rglob('*.egg-info')]" + +# Run all pre-commit hooks. +check: + uv run pre-commit run --all-files diff --git a/README.md b/README.md index b54ab17..88764db 100644 --- a/README.md +++ b/README.md @@ -155,11 +155,10 @@ This project is licensed under the [MIT License](LICENSE).

-A **[QNTX](https://qntx.fun)** open-source project. +A **[QuantX](https://qntx.fun)** open-source project. -QNTX +QuantX - Code is law. We write both.