Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,7 @@ When using pixi tasks, prefer `pixi run <task>`. See `pixi task list` for availa
For tools installed as dependencies (like `gh`), you can run them via:
- `pixi run gh <args>` - works in any shell
- `gh <args>` - works in login shells (`bash -l -c '...'`)

## Documentation Maintenance

- **Keep README up to date**: When modifying CLI commands, flags, or usage patterns, update the README.md to reflect the current tool behavior. Run `pixi run dl --help` to see the current help output and ensure the README matches.
72 changes: 37 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,51 +33,53 @@ source ~/.bashrc # or restart your terminal
## Usage

```bash
dl # Interactive workspace selector (fzf)
dl <workspace> # Start workspace and attach shell
dl <workspace> <command> # Run command in workspace
dl owner/repo # Create workspace from GitHub repo
dl owner/repo@branch # Create workspace from specific branch
dl ./path # Create workspace from local path
dl # Interactive workspace selector (fzf)
dl <user/repo> # Start workspace and attach shell
dl <user/repo> <cmd> # Run workspace command (stop, code, etc.)
dl <user/repo> -- <command> # Run shell command in workspace
```

## Commands
## Workspace Sources

```bash
dl myproject # Existing workspace by name
dl user/repo # Create from GitHub repo
dl user/repo@branch # Create from specific branch
dl ./path # Create from local path
```

## Workspace Commands

| Command | Description |
|---------|-------------|
| `dl <user/repo> stop` | Stop the workspace |
| `dl <user/repo> rm, prune` | Delete the workspace |
| `dl <user/repo> code` | Open in VS Code |
| `dl <user/repo> restart` | Stop and start (no rebuild) |
| `dl <user/repo> recreate` | Recreate container |
| `dl <user/repo> reset` | Clean slate (remove all, recreate) |
| `dl <user/repo> -- <command>` | Run shell command in workspace |

## Global Commands

| Command | Description |
|---------|-------------|
| `dl --ls` | List all workspaces |
| `dl --stop <workspace>` | Stop a workspace |
| `dl --rm <workspace>` | Delete a workspace |
| `dl --code <workspace>` | Open workspace in VS Code |
| `dl --status <workspace>` | Show workspace status |
| `dl --recreate <workspace>` | Recreate workspace container |
| `dl --reset <workspace>` | Reset workspace (clean slate) |
| `dl --install` | Install shell completions |
| `dl --help` | Show help |
| `dl --help, -h` | Show this help |
| `dl --version` | Show version |

## Examples

```bash
# Select workspace interactively with fzf
dl

# Open an existing workspace
dl myproject

# Create workspace from GitHub repository
dl loft-sh/devpod

# Create workspace from specific branch
dl blooop/devlaunch@main

# Create workspace from local folder
dl ./my-project

# Open workspace in VS Code
dl --code myproject

# Run a command in workspace
dl myproject 'make test'
dl # Select workspace with fzf
dl devpod # Open existing workspace
dl loft-sh/devpod # Create from GitHub
dl blooop/devlaunch@main # Create from specific branch
dl ./my-project # Create from local folder
dl blooop/devlaunch code # Open in VS Code
dl blooop/devlaunch -- make test # Run command in workspace
dl blooop/devlaunch stop # Stop workspace
```

## Features
Expand All @@ -95,7 +97,7 @@ After running `dl --install`, you get intelligent tab completion:
- Workspace names from your devpod list
- Known GitHub owners and repositories from your workspaces
- File/directory paths when starting with `./`, `/`, or `~`
- All command flags (`--ls`, `--stop`, etc.)
- All global flags (`--ls`, `--install`, etc.) and workspace commands

## Development

Expand Down
4 changes: 2 additions & 2 deletions pixi.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "devlaunch"
version = "0.0.2"
version = "0.0.3"
authors = [{ name = "Austin Gregg-Smith", email = "blooop@gmail.com" }]
description = "DevLaunch - A streamlined CLI for devpod workspaces"
readme = "README.md"
Expand Down