Skip to content

Add short, non‑ruff CLI aliases (e.g., tms, cfgsync, syncup) for occasional use #74

Description

@Kilo59

Pick a shorter or distinct CLI alias/entrypoint

ruff-sync is a useful utility, but its name is a bit long to type when you need it only occasionally (e.g., when setting up a new project or updating a shared Ruff configuration).
Providing a concise, memorable alias – even one that does not start with ruff or r – would make the command easier to discover and type without sacrificing clarity.


Why an alias matters (even for occasional use)

  • Reduced friction – Users can invoke the tool with a single short word instead of typing the full ruff-sync.
  • Shell completion friendliness – Short commands are easier to select from fuzzy‑finder or auto‑completion menus.
  • Namespace safety – By choosing a name that does not start with ruff/r, we avoid accidental matches with the actual ruff linter or other r*‑prefixed tools.

Candidate aliases & entrypoints (none start with ruff or r)

Alias Rationale / Meaning Known conflicts Implementation notes
tms Toml Sync – short, descriptive of the purpose (syncing a TOML config). No common binary named tms. Add a console script tms = "ruff_sync:main".
cfgsync Config Sync – generic enough to cover any future config‑syncing features. No widely‑used command named cfgsync. Add cfgsync = "ruff_sync:main".
syncup Implies “synchronise upstream config”. No conflict with standard tools. Add syncup = "ruff_sync:main".
upsync Emphasises pulling upstream configuration. No conflict. Add upsync = "ruff_sync:main".
tomlsync Directly describes the operation (syncing a TOML file). Might clash with a custom script, but none in the common toolchain. Add tomlsync = "ruff_sync:main".
cfgup Short for “config upstream”. No conflict. Add cfgup = "ruff_sync:main".

Recommended minimal set

To keep the package lightweight while offering clear options, we propose exposing three aliases:

  1. tms – the shortest, still hints at TOML.
  2. cfgsync – a generic, future‑proof name.
  3. syncup – conveys the “pull upstream” semantics.

All four entrypoints (ruff-sync, tms, cfgsync, syncup) will point to the same main() function, so they stay fully compatible.


Implementation Plan

  1. Update pyproject.toml
    Add the new console‑script entries under [project.scripts]:

    [project.scripts]
    ruff-sync = "ruff_sync:main"
    tms       = "ruff_sync:main"
    cfgsync   = "ruff_sync:main"
    syncup    = "ruff_sync:main"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions