scud 0.5.0

A secret library atm, woo woo.
# scud

_move fast because or as if driven by the wind._

The all-in-one tool for streamlining the many version control processes of your development workflow. Agnostic to your codebase’s internals, it just works.

- 🏎️ Fast (Rust-powered)
- 🧩 Extensible
- ⚙️ Configurable
- ✨ Feature-rich
- 🍱 Sane defaults

Features

- Need the best of git, baked-in?
  - We’ve got you covered.
  - scud setup worktrees (scud s w)
- How about source control providers?

  - We’ve got that too.
    1. First setup source control provider.
       1. scud setup source-control
          1. Source-control provider
       2. scud setup github (scud s gh)
    2. Then use to your heart’s content
       1. scud repo create

- Like the sound of configurable, extensible, and declarative branching strategies? Done fast?

  - No problem.
  - scud feature feature_0
  - branch-types

    - feature
    - develop
    - main
    - fix

  - Sensible defaults that can be configured to your liking
  - follows the pattern of branch-type\_

- Want to configure each any every part of how scud works for you?
  - You guessed it! We thought about that too.
  - scud config source-control
    - to change the defaults of how scud works for you
  - scud c sc (minified) TODO maybe different word here

Other options in the space

- While there are plenty of other tools currently available for this usecase. Namely,
  - commitizen
  - cz-cli
- These tools force you the user to deal with the performance burden that comes from being written in a higher level language.
- Additionally, the api surfaces for these tools cover only a subset of the features that scud provides out-of-the-box.

Built on top of other well-established tools in the ecosystem.

- GitHub CLI
- GitLab CLI

Eliminates various amounts of context-switching and the need to learn a whole new set of tools. Familiar, with git, you can try Mercurial, as all you need to do is continue using scud's commands which provide a declarative approach to version control.

The same goes for source control providers. Using GitHub, and want to try hosting a new project on GitLab? No problem. It's very easy to mix and match.

Performance comparison via hyperfine

- scud healthcheck
  - ensures git, gh, and glab are installed locally on your system
  - if one is not installed, asks you if you wish to download the appropriate corresponding cli