diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 0000000..02fcf74 --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,45 @@ +name: Deploy mdBook Documentation + +on: + push: + branches: [ main ] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup mdBook + uses: peaceiris/actions-mdbook@v2 + with: + mdbook-version: 'latest' + + - name: Build book + run: mdbook build + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./book/build + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index 0d049e3..981fbf5 100644 --- a/.gitignore +++ b/.gitignore @@ -30,4 +30,5 @@ $RECYCLE.BIN/ !PULL_REQUEST_TEMPLATE.md !CHANGELOG.md !CONTRIBUTING.md -!docs/* +!book/** +book/build/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d2209b..4329588 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,39 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.1] - 2025-11-17 + +### Added + +- **Package Management Commands**: Integrated package management with environment activation + - `uvup add ` - Add packages to active environment (supports `--group`) + - `uvup remove ` - Remove packages from active environment (supports `--group`) + - `uvup lock` - Update lockfile of active environment (supports `--upgrade`) + - `uvup tree` - Display dependency tree of active environment (supports `--depth`) +- All package commands use `uv --project` internally, allowing management from any directory + +### Changed + +- **Breaking**: Renamed `uvup remove ` to `uvup delete ` for environment deletion + - This clarifies the distinction between deleting environments vs removing packages + - `remove` is now exclusively for package removal + +### Documentation + +- Updated README.md with integrated package management examples +- Updated COMMANDS.md with complete package management command reference +- Updated USE_CASES.md replacing all `uv add`/`uv remove` with `uvup` equivalents +- Added design philosophy explanation for command organization + +### Technical + +- Added `commands/add.rs` for package addition +- Renamed `commands/remove.rs` to `commands/delete.rs` for environment deletion +- Created new `commands/remove.rs` for package removal +- Added `commands/lock.rs` for lockfile management +- Added `commands/tree.rs` for dependency tree display +- Added `NoActiveEnvironment` error type for better error messages + ## [0.2.0] - 2025-11-17 ### Added @@ -133,6 +166,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - clap 4.5 - CLI framework - dirs 6.0 - Cross-platform directory paths +[0.2.1]: https://github.com/KercyDing/uvup/compare/v0.2.0...v0.2.1 [0.2.0]: https://github.com/KercyDing/uvup/compare/v0.1.3...v0.2.0 [0.1.3]: https://github.com/KercyDing/uvup/compare/v0.1.2...v0.1.3 [0.1.2]: https://github.com/KercyDing/uvup/compare/v0.1.1...v0.1.2 diff --git a/README.md b/README.md index 32c5861..dfb1bd2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # uvup -[![DeepWiki](https://img.shields.io/badge/DeepWiki-blue)](https://deepwiki.com/KercyDing/uvup) [![uv](https://img.shields.io/badge/uv-black?logo=github)](https://github.com/astral-sh/uv) +[![Docs](https://img.shields.io/badge/Docs-blue)](https://kercyding.github.io/uvup/) [![DeepWiki](https://img.shields.io/badge/DeepWiki-orange)](https://deepwiki.com/KercyDing/uvup) [![uv](https://img.shields.io/badge/uv-black?logo=github)](https://github.com/astral-sh/uv) A conda-like environment manager for [uv](https://github.com/astral-sh/uv). @@ -27,198 +27,71 @@ curl -fsSL https://raw.githubusercontent.com/KercyDing/uvup/main/scripts/install Invoke-RestMethod https://raw.githubusercontent.com/KercyDing/uvup/main/scripts/install.ps1 | Invoke-Expression ``` -For detailed installation instructions, manual installation, and developer setup, see [Installation Guide](docs/INSTALL.md). +See the [Installation Guide](https://kercyding.github.io/uvup/installation.html) for more details. -## Uninstallation +## Quick Start -**Linux and macOS:** ```bash -curl -fsSL -O https://raw.githubusercontent.com/KercyDing/uvup/main/scripts/uninstall.sh -chmod +x uninstall.sh -./uninstall.sh -``` - -**Windows (PowerShell):** -```powershell -Invoke-WebRequest -Uri https://raw.githubusercontent.com/KercyDing/uvup/main/scripts/uninstall.ps1 -OutFile uninstall.ps1 -.\uninstall.ps1 -``` - -For detailed uninstallation instructions and manual removal, see [Uninstallation Guide](docs/UNINSTALL.md). - -## Planned Features - -### v0.2.0 - Completed - -- [x] `uvup clone ` - Clone environments (1:1 exact copy) -- [x] `uvup new --template