Releases: totte-dev/bsctl
Releases · totte-dev/bsctl
v0.2.0
bsctl v0.2.0
Highlights
- Service layer extraction — MCP and CLI share common logic, reducing duplication
- Server-side pagination —
--limitand--offsetnow use Backstage API parameters - Structured error messages — Backstage JSON errors are parsed into readable messages
- "Why bsctl?" positioning — README explains differentiation vs official tools
Changes
- Extract shared service layer (
src/service.rs) - Server-side pagination via Backstage API
limit/offset - Parse Backstage structured error responses (
error.name,error.message) - Split
plugin.rsintoplugin/config.rs,plugin/executor.rs,plugin/help.rs - Reduce OAuth callback polling from 100ms to 1s intervals
- Add 7 MCP integration tests (41 total)
- Add
homepage,documentation,readmeto Cargo.toml - Document
${VAR}security warning for config files - Note
serde_yaml_neofork rationale
v0.1.1
Fix package metadata (repository URL, keywords, description).
v0.1.0
bsctl v0.1.0
A CLI client and MCP server for Backstage, built in Rust.
Features
- Catalog — list, get, register, unregister, refresh, facets with filtering, sorting, and pagination
- Search — full-text search across the catalog
- Templates — describe parameter schemas, run with
--wait, cancel tasks - Auth — guest login, OAuth browser flow, static tokens, JWT expiry detection
- Plugins — extend with custom commands via
.bsctl/plugins.yaml - Custom Columns — per-type column views with
.bsctl/columns/, auto-generated from entities - MCP Server — 14 tools for AI agent integration
- Output — table (terminal-width-aware), JSON, jsonpath
Install
cargo install bsctl