Skip to content

Commit bde2654

Browse files
authored
Merge pull request #536 from vcs-python/doc-redesign-spring-2026
docs(redesign): restructure documentation to Library Skeleton pattern
2 parents d23a289 + 6163872 commit bde2654

27 files changed

+385
-27
lines changed

docs/api/index.md

Lines changed: 40 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,56 @@
33
# API Reference
44

55
:::{seealso}
6-
For granular control see the [libvcs documentation](https://libvcs.git-pull.com/en/latest/)especially the sections on [commands](https://libvcs.git-pull.com/en/latest/usage/commands.html) and [projects](https://libvcs.git-pull.com/en/latest/usage/projects.html).
6+
For granular control see the [libvcs documentation](https://libvcs.git-pull.com/en/latest/)---especially the sections on [commands](https://libvcs.git-pull.com/en/latest/usage/commands.html) and [projects](https://libvcs.git-pull.com/en/latest/usage/projects.html).
77
:::
88

9-
## Internals
9+
::::{grid} 1 2 3 3
10+
:gutter: 2 2 3 3
1011

11-
:::{warning}
12-
Be careful with these! Internal APIs are **not** covered by version policies. They can break or be removed between minor versions!
12+
:::{grid-item-card} vcspull.config
13+
:link: config
14+
:link-type: doc
15+
Configuration loading and repo extraction.
16+
:::
17+
18+
:::{grid-item-card} vcspull.exc
19+
:link: exc
20+
:link-type: doc
21+
Exception hierarchy.
22+
:::
1323

14-
If you need an internal API stabilized please [file an issue](https://github.com/vcs-python/vcspull/issues).
24+
:::{grid-item-card} vcspull.log
25+
:link: log
26+
:link-type: doc
27+
Logging helpers.
1528
:::
1629

30+
:::{grid-item-card} vcspull.validator
31+
:link: validator
32+
:link-type: doc
33+
Config validation utilities.
34+
:::
35+
36+
:::{grid-item-card} vcspull.util
37+
:link: util
38+
:link-type: doc
39+
General-purpose utilities.
40+
:::
41+
42+
:::{grid-item-card} vcspull.types
43+
:link: types
44+
:link-type: doc
45+
Type definitions and aliases.
46+
:::
47+
48+
::::
49+
1750
```{toctree}
51+
:hidden:
52+
1853
config
19-
cli/index
2054
exc
2155
log
22-
internals/index
2356
validator
2457
util
2558
types

docs/cli/index.md

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,73 @@
11
(cli)=
22

3-
# Commands
3+
(commands)=
4+
5+
# CLI Reference
6+
7+
::::{grid} 1 2 3 3
8+
:gutter: 2 2 3 3
9+
10+
:::{grid-item-card} vcspull sync
11+
:link: sync
12+
:link-type: doc
13+
Pull / clone repositories from config.
14+
:::
15+
16+
:::{grid-item-card} vcspull add
17+
:link: add
18+
:link-type: doc
19+
Add a repository to your config file.
20+
:::
21+
22+
:::{grid-item-card} vcspull list
23+
:link: list
24+
:link-type: doc
25+
List configured repositories.
26+
:::
27+
28+
:::{grid-item-card} vcspull search
29+
:link: search
30+
:link-type: doc
31+
Search repos by name, path, or URL.
32+
:::
33+
34+
:::{grid-item-card} vcspull status
35+
:link: status
36+
:link-type: doc
37+
Show working-tree status for each repo.
38+
:::
39+
40+
:::{grid-item-card} vcspull discover
41+
:link: discover
42+
:link-type: doc
43+
Scan directories for existing repos.
44+
:::
45+
46+
:::{grid-item-card} vcspull fmt
47+
:link: fmt
48+
:link-type: doc
49+
Normalize and format config files.
50+
:::
51+
52+
:::{grid-item-card} vcspull import
53+
:link: import/index
54+
:link-type: doc
55+
Import repos from GitHub, GitLab, and more.
56+
:::
57+
58+
:::{grid-item-card} vcspull worktree
59+
:link: worktree/index
60+
:link-type: doc
61+
Manage git worktrees declaratively.
62+
:::
63+
64+
:::{grid-item-card} Completion
65+
:link: completion
66+
:link-type: doc
67+
Shell completions for bash, zsh, and fish.
68+
:::
69+
70+
::::
471

572
```{toctree}
673
:caption: General commands

docs/conf.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@
4040
"sphinx_copybutton",
4141
"sphinxext.opengraph",
4242
"sphinxext.rediraffe",
43+
"sphinx_design",
4344
"myst_parser",
4445
"linkify_issues",
4546
]
47+
myst_heading_anchors = 4
4648
myst_enable_extensions = [
4749
"colon_fence",
4850
"substitution",

docs/configuration/index.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
# Configuration
44

5+
::::{grid} 1 1 2 2
6+
:gutter: 2 2 3 3
7+
8+
:::{grid-item-card} Config Generation
9+
:link: generation
10+
:link-type: doc
11+
Import repos from forges and generate config automatically.
12+
:::
13+
14+
::::
15+
516
## URL Format
617

718
Repo type and address is [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986) style URLs.
@@ -260,3 +271,9 @@ For git remotes using SSH authorization such as `git+git@github.com:tony/kaptan.
260271
```console
261272
git+ssh://git@github.com/tony/kaptan.git
262273
```
274+
275+
```{toctree}
276+
:hidden:
277+
278+
generation
279+
```

docs/index.md

Lines changed: 75 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,95 @@ hide-toc: true
44

55
(index)=
66

7-
```{include} ../README.md
8-
:end-before: <img
9-
```
7+
# vcspull
108

11-
```{image} _static/vcspull-demo.gif
12-
:width: 100%
9+
CLI workspace manager for VCS repos. Sync, organize, and manage multiple
10+
git (and hg/svn) repositories from a single YAML config.
11+
12+
::::{grid} 1 2 3 3
13+
:gutter: 2 2 3 3
14+
15+
:::{grid-item-card} Quickstart
16+
:link: quickstart
17+
:link-type: doc
18+
Install and sync your first repos.
19+
:::
20+
21+
:::{grid-item-card} CLI Reference
22+
:link: cli/index
23+
:link-type: doc
24+
Every command, flag, and option.
25+
:::
26+
27+
:::{grid-item-card} Configuration
28+
:link: configuration/index
29+
:link-type: doc
30+
Config format, locations, schema, and examples.
31+
:::
32+
33+
::::
34+
35+
::::{grid} 1 1 2 2
36+
:gutter: 2 2 3 3
37+
38+
:::{grid-item-card} Internals
39+
:link: internals/index
40+
:link-type: doc
41+
Internal Python API for contributors.
42+
:::
43+
44+
:::{grid-item-card} Contributing
45+
:link: project/index
46+
:link-type: doc
47+
Development setup, code style, and release process.
48+
:::
49+
50+
::::
51+
52+
## Install
53+
54+
```console
55+
$ pip install vcspull
1356
```
1457

15-
# Donations
58+
```console
59+
$ uv tool install vcspull
60+
```
1661

17-
```{include} ../README.md
18-
:start-after: "# Donations"
62+
```console
63+
$ pipx install vcspull
1964
```
2065

21-
```{toctree}
22-
:maxdepth: 2
23-
:hidden:
66+
See [Quickstart](quickstart.md) for all installation methods and first steps.
2467

25-
quickstart
26-
cli/index
27-
configuration/index
68+
## At a glance
69+
70+
```yaml
71+
~/code/:
72+
flask: "git+https://github.com/pallets/flask.git"
73+
django: "git+https://github.com/django/django.git"
74+
~/study/:
75+
linux: "git+https://github.com/torvalds/linux.git"
76+
```
2877
78+
```console
79+
$ vcspull sync
80+
```
81+
82+
```{image} _static/vcspull-demo.gif
83+
:width: 100%
84+
:loading: lazy
2985
```
3086

3187
```{toctree}
32-
:caption: Project
3388
:hidden:
3489
90+
quickstart
91+
cli/index
92+
configuration/index
3593
api/index
36-
developing
94+
internals/index
95+
project/index
3796
history
3897
migration
39-
GitHub <https://github.com/vcs-python/vcspull>
4098
```
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)