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"