Skip to main content

Crate wsb

Crate wsb 

Source
Expand description

wsb — tools for every project in the workshop, $PRJ.

The library both the command line and the workbench are built on: git across a main repo and its submodules (fleet), template stamping and versions (state), the test catalogue (catalogue), notes and links (annotations), refactoring, scrap and line diff, and the persisted state of agent sessions.

§Where things are

A repository wsb manages commits its .wsb/ (settings); what wsb keeps about a worktree and never commits is under $PRJ/.state (local_state). roots finds the two roots a command works on: the REPO root that holds .wsb/repo.json, and the WORKTREE root — the outermost repository, the checkout of the project’s main repo. A command that confuses them reads one repository and writes another.

Re-exports§

pub use refactor::cli::Args;
pub use refactor::cli::Mode;
pub use refactor::patterns_file::PatternPair;
pub use refactor::rename_engine::RenameEngine;
pub use scrap::scrap_common::ScrapEntry;
pub use scrap::scrap_common::ScrapMetadata;
pub use scrap::run_scrap;
pub use scrap::run_unscrap;
pub use ldiff::process_stdin as ldiff_process_stdin;
pub use ldiff::run_ldiff;
pub use state::VersionInfo;

Modules§

annotations
Notes and links, committed in projects’ main repos.
app
capped
A directory kept under a size, by removing the oldest things in it.
catalogue
cli
The command lines wsb’s tools read for themselves.
compact
daemon
The daemon, as the command line sees it.
extensions
fleet
git_backend
host
What the machine is doing right now.
ldiff
local_paths
Every local path a manifest declares, and whether it still names anything.
local_state
Where wsb keeps what it knows about a worktree and never commits.
logging
logs
Where the logs go, and what keeps them from filling the disk.
migrate
wsb migrate: bring a machine’s checkouts and state from an older wsb’s layout into this one, once.
omnicode
Code intelligence from omnicode’s omni, an external program wsb runs.
ops
Processes: whether one is alive, how a tree of them is stopped, and the service scope a long-running one is started in.
output
Everything this tool says, and the one place it says it.
peer
Peer worktree continuity: the same unfinished working tree on more than one machine.
persist
platform
What the operating systems disagree about, named once.
plugin
Plugins: programs this machine’s owner installed, which wsb lets use its services.
prelude
pricing
refactor
repo_update
wsb update for one repository, as the daemon runs it: write the version and render every template that is the repository’s or names it.
report
The pre-action analysis table, and the verdict under it.
roots
Finding the roots a command works on, from any folder.
scrap
search_backend
settings
What a repository commits about itself for wsb: everything in its .wsb/.
state
store
The workshop’s one database, $PRJ/.state/wsb.db (wsb_prj::database_path).
test_environment
One process has one environment, so tests that set a variable take turns.
upgrade
Rebuild wsb from its own repository and put the result in place of the installed pair.
utils
Utility functions
worktree
A project’s worktrees, made and removed whole: the superproject and every submodule in it.
worktree_lock
The worktree lock: the tree held still while a snapshot of it is taken.

Macros§

err
Report trouble with no trailing newline. Use exactly as eprint!.
errln
Report trouble. Use exactly as eprintln!.
out
Write for a person with no trailing newline. Use exactly as print!.
outln
Write for a person, or package it. Use exactly as println!.

Structs§

RenameConfig
Configuration for the rename operation
RenameItem
Represents a file or directory that needs to be processed
RenameStats
Statistics about the rename operation

Enums§

ItemType

Functions§

get_version
The version wsb reports: the crate’s own, which the repository’s stamp renders into Cargo.toml from its version.txt.
run_refactor
Main entry point for the refactor operation within the worktree tool suite.