v1.5.0

Seto Elkahfi committed Jul 22, 2026 at 23:19 UTC d4b8b0f338cc88be848840e57acdf788625e8ad0
3 files changed +61 -2
CHANGELOG.md
+59
@@ -1,5 +1,64 @@
1 # Changelog
2
3 +## 1.5.0
4 +
5 +Opens the agent up to user extension: lifecycle hooks, custom slash commands,
6 +and configurable subagent types. Also adds web search, a Repo tab in the TUI,
7 +and a baked-in smbCloud MCP server.
8 +
9 +### What changed
10 +
11 +- Hooks let you run shell commands at three points in the agent's lifecycle:
12 + `session_start`, `pre_tool_use`, and `post_tool_use`, configured under
13 + `[hooks]` in `settings.toml`. Commands get context through variable
14 + substitution (`{cwd}`, `{tool_name}`, `{tool_result_len}`) and run in the
15 + session working directory. A hook that fails is logged and the session
16 + continues; a hook that hangs is killed on a timeout, along with its whole
17 + process group
18 +- User-defined slash commands: drop a Markdown file in `.sigit/commands/` or
19 + `.claude/commands/` (or the personal `$SIGIT_CONFIG_DIR/commands/` and
20 + `~/.claude/commands/`) with optional `description` and `argument-hint`
21 + frontmatter, and the body becomes a prompt template. `$ARGUMENTS` takes the
22 + whole argument string and `$1`..`$9` the positional words. A subdirectory
23 + namespaces the command with `:`, so `.sigit/commands/git/commit.md` becomes
24 + `/git:commit`. They run as ordinary agent turns through the usual tools and
25 + permission checks, and are advertised to ACP clients like Zed. `/commands`
26 + lists what was discovered
27 +- Configurable subagent types for the `task` tool: a Markdown file in
28 + `.sigit/agents/` or `.claude/agents/` with `name`, `description`, and an
29 + optional `tools:` allow-list, whose body becomes that subagent's system
30 + prompt. Pass its name as `subagent_type` to swap the prompt in. The
31 + `tools:` list can only narrow the subagent's read-only ceiling, never widen
32 + it, so a config file cannot grant itself `edit_file` or `run_command` and
33 + route around the permission system. `/agents` lists the discovered types
34 +- New `web_search` tool, backed by the Brave-Search-backed search on siGit
35 + Code Cloud's MCP server. It is offered only when you are signed in, and it
36 + is classified read-only, so searching never triggers a permission prompt
37 +- The TUI gains a Repo tab, shown when the session's `origin` remote points at
38 + the sigit.si host. It lists issues and pull requests fetched through the
39 + official MCP server: Up and Down select, Enter opens a scrollable detail,
40 + `i`, `p`, Left and Right switch sections, `r` refreshes. The tab is hidden
41 + and skipped in the cycle for any other remote
42 +- The smbCloud CLI's stdio MCP server (`smb --mcp`) is now baked in, so
43 + smbCloud project and deployment tools work with no `mcp.toml` setup. It is
44 + added only when the `smb` binary is on `PATH`, its read-only tools (`me`,
45 + `deployments`, `project_list`, `project_show`) skip permission prompts, and
46 + you can opt out with `smbcloud = false` in `mcp.toml` or
47 + `SIGIT_MCP_SMBCLOUD=off`
48 +- siGit Code Cloud's MCP server is now listed in the public MCP Registry as
49 + `si.sigit/sigit`, published from `server.json` at the repository root
50 +
51 +### Fixes
52 +
53 +- An explicit `deny` rule now applies to read-only first-party tools instead
54 + of being skipped
55 +- A subagent type whose `tools:` list resolves to an empty set is rejected
56 + rather than producing a subagent with no tools
57 +- Command templates render in a single substitution pass, so an argument that
58 + contains something like `$1` is no longer re-substituted
59 +- Frontmatter is stripped with the same leniency it is parsed with
60 +- The Repo tab's detail view no longer shows stale data after a refresh
61 +
62 ## 1.4.1
63
64 Two small fixes: correct co-author attribution and a Homebrew tap fix.
Cargo.lock
+1 -1
@@ -5200,7 +5200,7 @@ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
5200
5201 [[package]]
5202 name = "sigit"
5203 -version = "1.4.1"
5203 +version = "1.5.0"
5204 dependencies = [
5205 "agent-client-protocol",
5206 "anyhow",
Cargo.toml
+1 -1
@@ -1,6 +1,6 @@
1 [package]
2 name = "sigit"
3 -version = "1.4.1"
3 +version = "1.5.0"
4 edition = "2024"
5 description = "siGit Code — ACP-compatible AI coding agent. Sí, git."
6 documentation = "https://github.com/getsigit/sigit"