You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DEVELOPMENT_PLAN.md
+45-4Lines changed: 45 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,45 @@
1
1
# Smart Tree Development Plan
2
2
3
+
## Version Management
4
+
5
+
Smart Tree uses a versioning system with the following components:
6
+
7
+
-**Single Source of Truth**: The version is stored in `Cargo.toml` and accessed via `env!("CARGO_PKG_VERSION")`
8
+
-**Version Display**: The current version can be displayed with `smart-tree -v`
9
+
-**Release Management**: The `release.sh` script manages version bumping and release creation
10
+
11
+
### Using the Release Script
12
+
13
+
The `release.sh` script provides a convenient way to manage versions:
14
+
15
+
```bash
16
+
# Show current version
17
+
./release.sh current
18
+
19
+
# Bump major version (x.0.0)
20
+
./release.sh major
21
+
22
+
# Bump minor version (0.x.0)
23
+
./release.sh minor
24
+
25
+
# Bump patch version (0.0.x)
26
+
./release.sh patch
27
+
```
28
+
29
+
The script will:
30
+
1. Update the version in `Cargo.toml`
31
+
2. Create a Jujutsu bookmark for the version (acts as a tag)
32
+
3. Offer to push changes to the remote repository
33
+
34
+
### Release Workflow
35
+
36
+
1. Make your changes to the codebase
37
+
2. Run tests and lint checks: `cargo test && cargo clippy`
38
+
3. Bump the version: `./release.sh [major|minor|patch]`
39
+
4. Push to GitHub when prompted by the script
40
+
5. The GitHub Action will automatically build binaries for all platforms
41
+
6. The GitHub Release will be created from the tag
42
+
3
43
## Current Project Status
4
44
5
45
Smart Tree is a modern directory tree viewer that intelligently displays file hierarchies with an emphasis on readability. Unlike traditional `tree` commands that output everything (often producing thousands of lines), Smart Tree makes smart decisions about what to show and what to fold.
@@ -123,10 +163,11 @@ Smart Tree is a modern directory tree viewer that intelligently displays file hi
123
163
### Phase 4: Distribution and Integration (Medium Term)
124
164
125
165
1.**Package and Distribution**
126
-
- Create installation script (install.sh) for simple cross-platform installation
127
-
- Package for Homebrew (brew) installation on macOS
0 commit comments