Skip to main content

No project description provided

Project description

scm-kit

Polyglot formatting and linting toolkit. Provides two commands — scm-format and scm-lint — that auto-detect which tools to run based on the files in your repo.

Prerequisites

Usage

# Install and run via uvx:
uvx --from scm-kit scm-format
uvx --from scm-kit scm-lint
uvx --from scm-kit scm-lint -a  # lint all files, not just changed

# Or add to your Makefile:
# fmt:
# 	@uvx --from scm-kit scm-format
# lint:
# 	@uvx --from scm-kit scm-lint

What runs

Language/Files Format Lint
Go (go.mod) gofmt go vet
JS/TS/CSS/JSON (biome.json) Biome Biome
HTML, Markdown, YAML Prettier Prettier
Python (.py) Ruff (fix + format) Ruff (check + format check), Pyright
TypeScript (tsconfig.json) tsc --noEmit

Tools are invoked via npx or uvx, so they don't need to be pre-installed. Go tools are optional — skipped if not on PATH.

Each tool is skipped when no matching files or config is present, so a Python-only repo won't invoke Biome or Prettier.

Config files

Projects using scm-kit should include their own config files as needed:

  • .ruff.toml — Ruff linter config (Python)
  • biome.json — Biome formatter/linter config (JS/TS/CSS/JSON)
  • pyrightconfig.json — Pyright type-checker config (Python)

Lint flags

  • Default: Pyright checks only changed files (vs HEAD + untracked), since it is slow on large codebases. All other linters check the full tree.
  • -a / --all-files: Pyright checks all files.

Publishing

uv build
UV_PUBLISH_TOKEN=pypi-xxxxx uv publish

Generate a token at https://pypi.org/manage/account/token/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scm_kit-0.0.11.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scm_kit-0.0.11-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file scm_kit-0.0.11.tar.gz.

File metadata

  • Download URL: scm_kit-0.0.11.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for scm_kit-0.0.11.tar.gz
Algorithm Hash digest
SHA256 c6569377fd447c4e8b94d73962af827f6dab19ebeefdab5098dc5208cff0ba32
MD5 96ea4ef10503df3e9086c370a6551f10
BLAKE2b-256 d23cef328c28f651ff07035346505e2dca84146ea4ca8884223a541c0ddaf31a

See more details on using hashes here.

File details

Details for the file scm_kit-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: scm_kit-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for scm_kit-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 91efceb2c985bebac797e8ad852a2499a08016c9679c04c667d29dac0a3696be
MD5 8839a45f2113266a67b22e8d3577eda9
BLAKE2b-256 75f8ab0283ce8823187995e941adaf60c41e3bc7b36a7f62f1b59ece2cc70937

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page