Skip to content

Commit 4983961

Browse files
committed
Added choco install recur in root readme
1 parent 933a9d8 commit 4983961

8 files changed

Lines changed: 284 additions & 0 deletions

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@ Both binaries will be installed to Cargo's bin folder. If `recur` is not found,
7474
sudo apt install recur
7575
```
7676

77+
### Windows (Chocolatey)
78+
```powershell
79+
choco install recur
80+
```
81+
7782
### Arch Linux
7883
```bash
7984
# Coming soon (AUR)
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# AUR Packaging Future Plan
2+
3+
Status: `todo.future-plan` (not active yet)
4+
5+
## Intent
6+
7+
Add an Arch User Repository package after the Cargo-first baseline is stable.
8+
9+
## Why Later
10+
11+
- crates.io gives a faster cross-platform win first
12+
- AUR adds another maintenance surface
13+
- it is easier once release/version flow is already repeatable
14+
15+
## Future Steps
16+
17+
1. Publish and verify crates.io first
18+
2. Create a clean PKGBUILD flow
19+
3. Decide whether AUR should build from source or consume release artifacts
20+
4. Document install and update flow
21+
5. Add a recurring maintenance note if the package goes live
22+
23+
## Discovery
24+
25+
```bash
26+
recur files "main.package.aur.**" -d docs/
27+
recur files "main.package.crates-io.**" -d docs/
28+
```
29+
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# main.package.crates-io.recurring
2+
3+
Recurring rediscovery point for publishing and maintaining `recur` on crates.io.
4+
5+
## Why This Lane Matters
6+
7+
Crates.io is the cleanest cross-platform install surface for a Rust CLI.
8+
It gives `recur` one portable install story for both Windows and Linux:
9+
10+
```bash
11+
cargo install recur
12+
```
13+
14+
## Core Goal
15+
16+
Make `recur` easy to install from any machine that already has Rust/Cargo.
17+
18+
## Recurring Checks
19+
20+
- crate metadata in `Cargo.toml` stays accurate
21+
- version stays aligned with `VERSION`
22+
- README install section matches the current recommended Cargo flow
23+
- published crate contents are the files we actually want to ship
24+
- release docs and package docs stay aligned
25+
26+
## When To Revisit
27+
28+
Revisit this lane when:
29+
30+
- preparing a new public release
31+
- changing install instructions
32+
- adding or removing packaged assets
33+
- publishing the crate for the first time
34+
- fixing crates.io metadata or packaging warnings
35+
36+
## Discovery
37+
38+
```bash
39+
recur files "main.package.crates-io.**" -d docs/
40+
cat Cargo.toml
41+
cat VERSION
42+
recur find "cargo install recur" --scope "README.**" -i
43+
```
44+
45+
## Related Docs
46+
47+
- `docs/main.package.readme.md`
48+
- `docs/main.package.crates-io.todo.current.md`
49+
- `docs/main.package.crates-io.todo.trigger.event.md`
50+
- `docs/main.version.readme.md`
51+
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Crates.io Package Setup
2+
3+
Status: `todo.current` (active packaging lane)
4+
5+
## Purpose
6+
7+
Get `recur` into crates.io so the default cross-platform install path becomes:
8+
9+
```bash
10+
cargo install recur
11+
```
12+
13+
## Why This Is Worth Doing
14+
15+
- one install story for Windows and Linux
16+
- lower friction than per-distro packaging
17+
- good baseline before AUR/Homebrew/Nix
18+
- portable workflow for any machine with Rust
19+
20+
## Current Goal
21+
22+
Prepare the repo so crates.io publication is straightforward and repeatable.
23+
24+
## Checklist
25+
26+
1. Verify crate metadata in `Cargo.toml`
27+
2. Confirm version alignment across `Cargo.toml`, `VERSION`, and release docs
28+
3. Recheck README install instructions for Cargo-first workflow
29+
4. Verify the package contents that would ship
30+
5. Publish the crate
31+
6. Verify fresh install from Cargo on this machine
32+
7. Collapse this lane into a stable recurring or complete record once the baseline works
33+
34+
## Likely Files
35+
36+
- `Cargo.toml`
37+
- `VERSION`
38+
- `README.md`
39+
- `docs/main.package.crates-io.recurring.md`
40+
- `docs/main.version.a.X.Y.Z.complete.md`
41+
42+
## Discovery
43+
44+
```bash
45+
recur files "main.package.crates-io.**" -d docs/
46+
cat Cargo.toml
47+
cat VERSION
48+
recur find "cargo install recur" --scope "README.**" -i
49+
cargo package --allow-dirty --list
50+
```
51+
52+
## References
53+
54+
- `docs/main.package.readme.md`
55+
- `docs/main.package.crates-io.recurring.md`
56+
- `docs/main.package.crates-io.todo.trigger.event.md`
57+
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Crates.io Package Trigger Events
2+
3+
Status: `todo.trigger.event` (manual release checklist)
4+
5+
## Use
6+
7+
Run this when opening or closing the active crates.io packaging lane.
8+
9+
## Start Trigger
10+
11+
1. Confirm the active branch/version lane
12+
2. Read `docs/main.package.crates-io.todo.current.md`
13+
3. Check `Cargo.toml`, `VERSION`, and `README.md`
14+
4. Verify what `cargo package` would include
15+
5. Record any blockers before publishing
16+
17+
## Complete Trigger
18+
19+
1. Publish to crates.io
20+
2. Verify `cargo install recur` on a clean path
21+
3. Update version or packaging docs if the real outcome differed
22+
4. Convert active notes into a stable record if needed
23+
5. Remove or collapse `todo.current` when this packaging window closes
24+
25+
## Discovery
26+
27+
```bash
28+
recur files "main.package.crates-io.**" -d docs/
29+
cat Cargo.toml
30+
cargo package --allow-dirty --list
31+
```
32+
33+
## Related
34+
35+
- `docs/main.package.crates-io.todo.current.md`
36+
- `docs/main.package.crates-io.recurring.md`
37+
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Homebrew Packaging Future Plan
2+
3+
Status: `todo.future-plan` (not active yet)
4+
5+
## Intent
6+
7+
Add a Homebrew formula after the Cargo-first baseline is working.
8+
9+
## Why Later
10+
11+
- Homebrew is useful, but not the shortest path to broad installability
12+
- formula maintenance should come after the crate/release story is stable
13+
14+
## Future Steps
15+
16+
1. Stabilize Cargo publication and release artifacts
17+
2. Decide whether to ship bottles later or start with source install
18+
3. Add formula instructions and update path
19+
4. Add a recurring maintenance lane once it is real
20+
21+
## Discovery
22+
23+
```bash
24+
recur files "main.package.homebrew.**" -d docs/
25+
recur files "main.package.crates-io.**" -d docs/
26+
```
27+
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Nix Packaging Future Plan
2+
3+
Status: `todo.future-plan` (not active yet)
4+
5+
## Intent
6+
7+
Add a Nix/Nixpkgs distribution path once the baseline Cargo package is stable.
8+
9+
## Why Later
10+
11+
- Nix is valuable for reproducible installs
12+
- it is still a separate maintenance lane from the first Cargo baseline
13+
14+
## Future Steps
15+
16+
1. Publish and verify crates.io first
17+
2. Decide whether to package from crate source or release source
18+
3. Add Nix expression / package definition
19+
4. Document install and update flow
20+
5. Promote this lane from future-plan when active work begins
21+
22+
## Discovery
23+
24+
```bash
25+
recur files "main.package.nix.**" -d docs/
26+
recur files "main.package.crates-io.**" -d docs/
27+
```

docs/main.package.readme.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# main.package.readme
2+
3+
Persistent reference for packaging and distribution lanes in this repo.
4+
5+
## Intent
6+
7+
Use `main.package.*` as the umbrella hierarchy for package-manager setup,
8+
release workflow, and future distribution channels.
9+
10+
Keep version history separate:
11+
12+
- `main.package.*` tracks how packaging works
13+
- `main.version.a.X.Y.Z.*` tracks what shipped in a specific version
14+
15+
## Current Lane Layout
16+
17+
- `docs/main.package.crates-io.recurring.md`
18+
- `docs/main.package.crates-io.todo.current.md`
19+
- `docs/main.package.crates-io.todo.trigger.event.md`
20+
- `docs/main.package.aur.todo.future-plan.md`
21+
- `docs/main.package.homebrew.todo.future-plan.md`
22+
- `docs/main.package.nix.todo.future-plan.md`
23+
24+
Existing adjacent packaging lanes:
25+
26+
- `docs/main.choco.readme.md`
27+
- `docs/main.choco.todo.current.md`
28+
- `docs/main.choco.install.recurring.md`
29+
30+
## Recommended Use
31+
32+
- Use `crates-io` as the cross-platform baseline install lane
33+
- Use `choco` as the Windows package lane
34+
- Use `aur`, `homebrew`, and `nix` as future Linux/macOS distribution lanes
35+
- Keep one active `todo.current` only where real work is live
36+
- Use `future-plan` when a lane matters but is not yet active
37+
38+
## Discovery
39+
40+
```bash
41+
recur files "main.package.**" -d docs/
42+
recur tree "main.package" -d docs/
43+
recur files "main.choco.**" -d docs/
44+
recur files "main.version.**" -d docs/
45+
```
46+
47+
## Related Docs
48+
49+
- `docs/main.choco.readme.md`
50+
- `docs/main.version.readme.md`
51+

0 commit comments

Comments
 (0)