wsb 0.212.4542

Workspace - A tool suite for file operations, version management, and development workflow automation
Documentation

wsb

Crates.io Downloads License

Multi-tool CLI suite for file operations, version management, and development workflow automation. All tools accessible through a single wsb binary.

Install

cargo install wsb

Or build from source:

git clone https://github.com/jowharshamshiri/wsb.git
cd wsb
cargo build --release

Core Tools

Command Description
wsb refactor Recursive string replacement in files and directories
wsb scrap Local trash can with .scrap folder
wsb unscrap Restore files from .scrap folder
wsb ldiff Line difference visualization for pattern analysis
wsb status, wsb stage, wsb commit, etc. Git operations over the current repo or fleet root
wsb update Update version file and render all templates
wsb template Tera template management (add, list, show, render, delete)
wsb wstemplate Cross-project version stamping with .wstemplate files
wsb version Version management (show, major, tag, info)
wsb code AST-based code analysis and transformation
wsb test Intelligent test runner based on project type
wsb status Project status with feature metrics and progress
wsb feature Feature management with state machine workflow
wsb task Feature-centric task management
wsb directive Project directive and rule management
wsb note Note management for any entity
wsb serve Web server for Claude AI integration

Quick Start

# Recursive string replacement
wsb refactor ./src "OldClassName" "NewClassName" --verbose

# Safe file disposal and recovery
wsb scrap temp_files/ experimental/
wsb unscrap important_config.toml

# Git operations over the current repo or fleet root
wsb status
wsb checkout feature/my-change

# Cross-project version stamping
wsb wstemplate add /path/to/workspace-root
wsb wstemplate render

# Line difference visualization
tail -f /var/log/app.log | wsb ldiff

# Project management
wsb feature add "User authentication"
wsb task add "Implement login" --feature F00001
wsb status --include-features

Version Management

wsb uses a three-part versioning scheme: {major}.{minor}.{patch}

  • Major: Set via wsb version major (stored in project database)
  • Minor: Total commits in the repository
  • Patch: Total line changes (additions + deletions)

Version can be stamped into project files (Cargo.toml, package.json, pyproject.toml, etc.) via wsb update.

Cross-Project Version Stamping

.wstemplate files are Tera templates that render to the file with the suffix stripped (e.g., Cargo.toml.wstemplate renders to Cargo.toml). Templates can reference any sibling project's version:

[package]
name = "my-app"
version = "{{ project.version }}"

[dependencies]
my-lib = { path = "../my-lib", version = "{{ projects.my_lib.version }}" }

Cross-project references are resolved dynamically by scanning for .wsb/state.json files — no explicit dependency declarations needed.

Documentation

License

MIT