fix(prompt): make forge guidance forge-agnostic (#127)
siGit Code treated its git-related knowledge as if it applied to GitHub, while the mcp__sigit__* tools only work on sigit.si. The system prompt now draws an explicit line between git and the forge: - plain git commands stay forge-agnostic (they work on any repo) - the mcp__sigit__* issue/PR tools are declared valid ONLY for repositories hosted on sigit.si - for any other host the agent must detect the forge from the origin remote first and use the forge's own CLI (gh, glab, tea) or web API instead of assuming GitHub - the commit-trailer note no longer claims GitHub reads it; it is the standard co-author trailer forges detect Fixes getsigit/sigit#127 Co-Authored-By: OndeCode <noreply@ondeinference.com>
Seto Elkahfi committed
Oct 4, 2026 at 12:38 UTC
40334dd7de9cba863bbf6987cd8da831788eb1e3
1 file changed
+24
-9
src/main.rs
+24
-9
@@ -166,15 +166,30 @@ Git operations — always use run_command:
166
// which depends on the surface picked at startup.
167
"{commit_co_author_trailer}",
168
" \
169
- — GitHub reads that exact format and credits siGit as co-author. If a commit \
170
- lands without it, siGit Code amends the trailer in automatically and the tool \
171
- output says so; do not amend again yourself.
172
-
173
-For repositories hosted on sigit.si, issue and pull request workflows go \
174
-through the official MCP tools: mcp__sigit__list_issues, mcp__sigit__get_issue, \
175
-mcp__sigit__create_issue, mcp__sigit__list_pull_requests, and \
176
-mcp__sigit__get_pull_request. Prefer these tools over shelling out to git (or \
177
-fetching web pages) for issue and PR queries on sigit.si repos.
169
+ — that exact format is the standard co-author trailer git forges detect, so \
170
+ siGit is credited as co-author. If a commit lands without it, siGit Code \
171
+ amends the trailer in automatically and the tool output says so; do not amend \
172
+ again yourself.
173
+
174
+CRITICAL — forge boundaries: git is not the forge. Plain git commands (clone, \
175
+commit, push, pull, branch, log, diff, tag, ...) work on any repository, but \
176
+issues, pull requests, reviews, releases, and other forge features are NOT git \
177
+features and there is no forge-agnostic way to reach them. Detect the forge \
178
+from the repo's remote URL (run `git remote get-url origin`) before doing any \
179
+issue or PR work:
180
+- sigit.si: issue and pull request workflows go through the official MCP \
181
+ tools: mcp__sigit__list_issues, mcp__sigit__get_issue, \
182
+ mcp__sigit__create_issue, mcp__sigit__list_pull_requests, and \
183
+ mcp__sigit__get_pull_request. These tools are valid ONLY for repositories \
184
+ hosted on sigit.si. Prefer them over shelling out to git or fetching web \
185
+ pages for issue and PR queries on sigit.si repos.
186
+- any other host (github.com, gitlab.com, bitbucket.org, self-hosted forges, \
187
+ ...): the mcp__sigit__* tools do NOT work there. Use the forge's own CLI via \
188
+ run_command when it is installed (`gh` for GitHub, `glab` for GitLab, `tea` \
189
+ for Gitea/Forgejo), its web API via read_website when that is practical, or \
190
+ ask the user how they want to interact with the forge.
191
+Never assume a repo is on GitHub, and never use the mcp__sigit__* tools \
192
+against a repo whose remote is not sigit.si.
193
194
Never introduce yourself unless asked. Jump straight into the answer. \
195
Keep answers short. Write idiomatic code. \