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
5 changes: 0 additions & 5 deletions .changeset/cli-glow-up.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/config-schema-cli.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/schema-pull-local-sync.md

This file was deleted.

2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"name": "smooth-agent",
"source": "./claude-plugins/smooth-agent",
"description": "Run a Big Smooth that drives Claude Code worker sessions over tmux, coordinate agents over th-mail, drive the org's Smooth Operator, and track work in pearls. Provides the /smooth command + a windows-build-box skill (throwaway Windows EC2 over SSM). Ships the shared SmooAI repo guardrail hooks (worktree enforcement, th-over-curl nudges, pearls-label reminder, pearl-store read-only-wedge guard).",
"version": "0.39.0",
"version": "0.40.0",
"category": "orchestration",
"keywords": ["orchestration", "tmux", "multi-agent", "th-mail", "pearls", "smooth-operator"],
"author": {
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @smooai/smooth

## 0.40.0

### Minor Changes

- 8f09b67: th-7f1da8: the Presence glow-up + codified CLI spec. Bare `th --help` now renders a branded, grouped map of the surface (wordmark gradient, sections for Platform / Big Smooth / Work / Agent mail / Coding / LLM / System, teal-accent literals, dimmed blurbs) with a two-way sync test pinning it to the clap tree; `th --help-full` keeps the native flat view, and all per-command help is themed via clap styles — everything pipe-safe and NO_COLOR-clean. Appending `ai` to any command path (`smoo org ai`, `th pearls ai`, bare `th ai`) prints a generated markdown guide (about, subcommands, flags, curated examples, house conventions) built for humans and AI agents. The interface contract is codified in docs/Engineering/CLI-Spec.md and partly test-enforced: every platform `list` verb must offer `--json` — the new conformance test found and this change backfills 19 that didn't (orgs, members, crm contacts, knowledge, jobs, products, booking, heypage, auth profiles, admin config).
- 1df7b79: `smoo config schema` — patch the @smooai/config schema straight from the CLI, remote-first. `show` renders every declared key per tier with type/description/default; `add` upserts a key declaration (`--tier secret|public|feature_flag|limit`, with `--type`/`--description`/`--default` and `--min`/`--max` clamp bounds for limits); `rm` removes one. Both write-verbs print the would-be change, support `--dry-run`, POST a new schema version via the same endpoint `push` uses, and keep a pulled local `.smooai-config/schema.json` in sync when one exists. Foot-guns are refused loudly: adding a key already declared in a different tier shows the existing declaration, and `rm` reminds you that values are not deleted.
- fd1077f: `smoo config schema pull` — bring the LOCAL schema representation up to date with the org's remote schema, correctly for both consumer kinds. A plain pulled `schema.json` (no `config.ts`) is overwritten like `smoo config pull --force`; a TypeScript consumer is never rewritten wholesale — remote keys missing locally are emitted as ready-to-paste snippets in the file's own conventions (`BooleanSchema`/`StringSchema`/`NumberSchema`, `defineLimit({ default, min, max, step })`), with `--write` appending them into the right tier block mechanically (all-or-nothing, refusing on an ambiguous block). Local-only keys are reported (push would add them) and never deleted; tier and type drift on shared keys are reported as tables. `--dry-run` prints everything and writes nothing; `--json` emits the structured report.

## 0.39.0

### Minor Changes
Expand Down
28 changes: 14 additions & 14 deletions Cargo.lock

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

26 changes: 13 additions & 13 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ resolver = "2"
members = ["crates/*"]

[workspace.package]
version = "0.39.0"
version = "0.40.0"
edition = "2021"
license = "MIT"
repository = "https://github.com/SmooAI/smooth"
Expand Down Expand Up @@ -223,19 +223,19 @@ smooth-operator-server = { git = "https://github.com/SmooAI/smooth-operator.git"
smooth-operator-svc = { git = "https://github.com/SmooAI/smooth-operator.git", rev = "b6c6b84", package = "smooai-smooth-operator", default-features = false }
# smooth-owned coding-harness extensions to the generic engine (re-homed from
# the engine when it went generic at 0.14.0). See crates/smooth-cast.
smooth-cast = { version = "0.39.0", path = "crates/smooth-cast", package = "smooai-smooth-cast" }
smooth-policy = { path = "crates/smooth-policy", version = "0.39.0", package = "smooai-smooth-policy" }
smooth-web = { version = "0.39.0", path = "crates/smooth-web", package = "smooai-smooth-web" }
smooth-code = { version = "0.39.0", path = "crates/smooth-code", package = "smooai-smooth-code" }
smooth-pearls = { path = "crates/smooth-pearls", version = "0.39.0", package = "smooai-smooth-pearls" }
smooth-diver = { version = "0.39.0", path = "crates/smooth-diver", package = "smooai-smooth-diver" }
smooth-tmux = { version = "0.39.0", path = "crates/smooth-tmux", package = "smooai-smooth-tmux" }
smooth-api-client = { version = "0.39.0", path = "crates/smooth-api-client", package = "smooai-smooth-api-client" }
smooth-cast = { version = "0.40.0", path = "crates/smooth-cast", package = "smooai-smooth-cast" }
smooth-policy = { path = "crates/smooth-policy", version = "0.40.0", package = "smooai-smooth-policy" }
smooth-web = { version = "0.40.0", path = "crates/smooth-web", package = "smooai-smooth-web" }
smooth-code = { version = "0.40.0", path = "crates/smooth-code", package = "smooai-smooth-code" }
smooth-pearls = { path = "crates/smooth-pearls", version = "0.40.0", package = "smooai-smooth-pearls" }
smooth-diver = { version = "0.40.0", path = "crates/smooth-diver", package = "smooai-smooth-diver" }
smooth-tmux = { version = "0.40.0", path = "crates/smooth-tmux", package = "smooai-smooth-tmux" }
smooth-api-client = { version = "0.40.0", path = "crates/smooth-api-client", package = "smooai-smooth-api-client" }
# Chat-first Big Smooth daemon on the smooth-operator LocalServer engine (th-7225f9).
smooth-daemon = { version = "0.39.0", path = "crates/smooth-daemon", package = "smooai-smooth-daemon" }
smooth-tools = { version = "0.39.0", path = "crates/smooth-tools", package = "smooai-smooth-tools" }
smooth-goalie = { version = "0.39.0", path = "crates/smooth-goalie", package = "smooai-smooth-goalie" }
smooth-menubar = { version = "0.39.0", path = "crates/smooth-menubar", package = "smooai-smooth-menubar" }
smooth-daemon = { version = "0.40.0", path = "crates/smooth-daemon", package = "smooai-smooth-daemon" }
smooth-tools = { version = "0.40.0", path = "crates/smooth-tools", package = "smooai-smooth-tools" }
smooth-goalie = { version = "0.40.0", path = "crates/smooth-goalie", package = "smooai-smooth-goalie" }
smooth-menubar = { version = "0.40.0", path = "crates/smooth-menubar", package = "smooai-smooth-menubar" }
# Cross-runtime client shared library (github.com/SmooAI/client-shared).
# SMOODEV-1464: switched from a local `path = "../client-shared/rust"` dep to
# a rev-pinned git dep. The path form only resolved on a dev laptop, so every
Expand Down
2 changes: 1 addition & 1 deletion claude-plugins/smooth-agent/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://anthropic.com/claude-code/plugin.schema.json",
"name": "smooth-agent",
"version": "0.39.0",
"version": "0.40.0",
"description": "Big Smooth orchestration for Claude Code: tmux-supervised worker sessions that run in parallel, coordinate over th-mail, and track work in pearls. Auto-onboards every Claude Code session to the th-mail bus at startup, then nudges it to self-rename to a task-meaningful handle. Ships the `smooth` MCP server (th mcp serve) so agent mail, pearls and memory are tools rather than shell calls, plus a statusline showing your handle and unread count. Provides the /smooth command and a windows-build-box skill (throwaway Windows EC2 over SSM). Also ships the shared SmooAI repo guardrails as hooks (worktree enforcement, th-over-curl nudges, pearls-label reminder, pearl-store read-only-wedge guard, th-attest push hint) so the SmooAI repos stop hand-copying .claude/hooks.",
"mcpServers": {
"smooth": {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@smooai/smooth",
"version": "0.39.0",
"version": "0.40.0",
"description": "Security-first AI agent orchestration platform",
"homepage": "https://github.com/SmooAI/smooth#readme",
"bugs": {
Expand Down
Loading