Skip to content

Commit 9f6598f

Browse files
committed
chore(docs): update README.md for v0.2.0 release
1 parent 101f27a commit 9f6598f

1 file changed

Lines changed: 11 additions & 9 deletions

File tree

README.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,19 @@ SPDX-License-Identifier: LicenseRef-PlainMIT OR MIT
1313
[![codecov](https://codecov.io/gh/bashandbone/submod/branch/main/graph/badge.svg?token=MOW92KKK0G)](https://codecov.io/gh/bashandbone/submod)
1414
![Crates.io Downloads (latest version)](https://img.shields.io/crates/dv/submod)
1515

16-
A lightweight, fast CLI tool for managing git submodules with advanced sparse checkout support. Built on top of `gitoxide` and `git2` libraries for maximum performance and reliability.
16+
Git submodules solve a real problem. **Managing submodules is a pain.** You use them infrequently enough that you always forget which command does what — and when something breaks, the recovery steps are a small nightmare. New contributors hit this especially hard: onboarding onto a project that uses submodules is its own obstacle course.
1717

18-
## 🚀 Features
18+
`submod` wraps the whole lifecycle in one consistent CLI. Sixteen commands, including nuke-it-from-orbit for when you're done being reasonable. Built on gitoxide and git2, with automatic fallback so operations don't fail silently.[^1] It's actively used across @knitli and @plainlicense, where submodules handle shared functionality between repos.
1919

20-
- **TOML-based configuration** - Define submodules, sparse-checkout paths, and settings in a simple config file
21-
- **Global defaults with overrides** - Set project-wide submodule settings with per-submodule customization
22-
- **Sparse checkout support** - Efficiently checkout only the parts of submodules you need
23-
- **Fast operations** - Leverages `gitoxide` for high-performance git operations
24-
- **Robust fallbacks** - Automatic fallback to `git2` and CLI when needed
25-
- **Comprehensive commands** - Add, check, init, update, reset, and sync submodules with ease
26-
- **Developer-friendly** - Clear status reporting and error messages
20+
## :rocket: Features
21+
22+
- **TOML config** — define submodules, sparse-checkout paths, and defaults in one file
23+
- **Sparse checkout** — clone only the parts of a submodule you actually need
24+
- **Global defaults with per-submodule overrides** — set it once, customize where it matters
25+
- **Fallback chain** — tries gitoxide first, falls back to git2, then CLI
26+
- **Clear status and errors** — you'll know what broke and why
27+
28+
[^1]: The fallback architecture is more a reflection of the status of `gitoxide` and `git2` submodule support than a stability concern. Their features do not consistently provide the full lifecycle of submodule operations. Together they cover >90%, but sometimes immaturely. The fallbacks architecture handles that gracefully and lets native operations grow with those libraries.
2729

2830
## 📋 Table of Contents
2931

0 commit comments

Comments
 (0)