sigit-code 1.0.3__tar.gz → 1.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. {sigit_code-1.0.3 → sigit_code-1.1.0}/.agents/skills/agent-client-protocol/SKILL.md +6 -1
  2. {sigit_code-1.0.3 → sigit_code-1.1.0}/.agents/skills/ai-assisted-coding/SKILL.md +6 -1
  3. sigit_code-1.1.0/.agents/skills/branding/SKILL.md +203 -0
  4. sigit_code-1.1.0/.agents/skills/sigit-code-release/SKILL.md +57 -0
  5. {sigit_code-1.0.3 → sigit_code-1.1.0}/.agents/skills/tool-calling/SKILL.md +6 -1
  6. sigit_code-1.1.0/.github/workflows/release-crates.yml +70 -0
  7. {sigit_code-1.0.3 → sigit_code-1.1.0}/CHANGELOG.md +21 -1
  8. {sigit_code-1.0.3 → sigit_code-1.1.0}/Cargo.lock +424 -297
  9. {sigit_code-1.0.3 → sigit_code-1.1.0}/Cargo.toml +6 -7
  10. {sigit_code-1.0.3 → sigit_code-1.1.0}/PKG-INFO +4 -4
  11. {sigit_code-1.0.3 → sigit_code-1.1.0}/pypi/pyproject.toml +2 -2
  12. {sigit_code-1.0.3 → sigit_code-1.1.0}/pyproject.toml +2 -2
  13. {sigit_code-1.0.3 → sigit_code-1.1.0}/src/chat.rs +77 -6
  14. {sigit_code-1.0.3 → sigit_code-1.1.0}/src/main.rs +601 -510
  15. sigit_code-1.0.3/.agents/skills/branding/SKILL.md +0 -173
  16. {sigit_code-1.0.3 → sigit_code-1.1.0}/.agents/AGENTS.md +0 -0
  17. {sigit_code-1.0.3 → sigit_code-1.1.0}/.github/workflows/ci.yml +0 -0
  18. {sigit_code-1.0.3 → sigit_code-1.1.0}/.github/workflows/release-github.yml +0 -0
  19. {sigit_code-1.0.3 → sigit_code-1.1.0}/.github/workflows/release-homebrew.yml +0 -0
  20. {sigit_code-1.0.3 → sigit_code-1.1.0}/.github/workflows/release-npm.yml +0 -0
  21. {sigit_code-1.0.3 → sigit_code-1.1.0}/.github/workflows/release-pypi.yml +0 -0
  22. {sigit_code-1.0.3 → sigit_code-1.1.0}/.gitignore +0 -0
  23. {sigit_code-1.0.3 → sigit_code-1.1.0}/.nvmrc +0 -0
  24. {sigit_code-1.0.3 → sigit_code-1.1.0}/LICENSE +0 -0
  25. {sigit_code-1.0.3 → sigit_code-1.1.0}/README.md +0 -0
  26. {sigit_code-1.0.3 → sigit_code-1.1.0}/npm/README.md.tmpl +0 -0
  27. {sigit_code-1.0.3 → sigit_code-1.1.0}/npm/package-main.json.tmpl +0 -0
  28. {sigit_code-1.0.3 → sigit_code-1.1.0}/npm/package.json.tmpl +0 -0
  29. {sigit_code-1.0.3 → sigit_code-1.1.0}/npm/scripts/render-main-package.cjs +0 -0
  30. {sigit_code-1.0.3 → sigit_code-1.1.0}/npm/scripts/render-platform-package.cjs +0 -0
  31. {sigit_code-1.0.3 → sigit_code-1.1.0}/npm/sigit/.gitignore +0 -0
  32. {sigit_code-1.0.3 → sigit_code-1.1.0}/npm/sigit/README.md +0 -0
  33. {sigit_code-1.0.3 → sigit_code-1.1.0}/npm/sigit/package.json +0 -0
  34. {sigit_code-1.0.3 → sigit_code-1.1.0}/npm/sigit/src/index.ts +0 -0
  35. {sigit_code-1.0.3 → sigit_code-1.1.0}/npm/sigit/tsconfig.json +0 -0
  36. {sigit_code-1.0.3 → sigit_code-1.1.0}/pypi/README.md +0 -0
  37. {sigit_code-1.0.3 → sigit_code-1.1.0}/rust-toolchain.toml +0 -0
  38. {sigit_code-1.0.3 → sigit_code-1.1.0}/src/models.rs +0 -0
  39. {sigit_code-1.0.3 → sigit_code-1.1.0}/src/setup.rs +0 -0
  40. {sigit_code-1.0.3 → sigit_code-1.1.0}/src/tools.rs +0 -0
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: agent-client-protocol
3
+ description: Implement or debug Agent Client Protocol (ACP) support in Rust for siGit Code. Use when working on ACP JSON-RPC over stdio, the agent-client-protocol crate, session or prompt handlers, streaming notifications, or editor integration.
4
+ ---
5
+
1
6
  # Skill: Agent Client Protocol (ACP) — Rust Implementation
2
7
 
3
8
  ## Overview
@@ -311,4 +316,4 @@ Editor Agent
311
316
  10. **Never write to stdout except JSON-RPC** — any library that prints to
312
317
  stdout (`mistralrs` model metadata, stray `println!`, whatever) will
313
318
  corrupt the wire. Redirect diagnostics to stderr. If a dependency writes
314
- to stdout internally, fix it or suppress it before shipping.
319
+ to stdout internally, fix it or suppress it before shipping.
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: ai-assisted-coding
3
+ description: Build or maintain AI-assisted coding features in Rust using Onde Inference. Use when working on ChatEngine integration, model loading, streaming inference, history management, sampling config, or local coding-agent architecture.
4
+ ---
5
+
1
6
  # Skill: AI-Assisted Coding Agents — Onde Inference Integration
2
7
 
3
8
  ## Overview
@@ -358,4 +363,4 @@ For sandboxed environments (iOS, tvOS, Android):
358
363
  6. **Forgetting that `generate()` doesn't update history** — use it for
359
364
  one-shot enhancements (prompt expansion, code review) that shouldn't pollute
360
365
  the main conversation. Use `send_message()` / `stream_message()` for the
361
- primary turn loop.
366
+ primary turn loop.
@@ -0,0 +1,203 @@
1
+ ---
2
+ name: branding
3
+ description: Keep siGit Code branding, naming, and package references consistent. Use when editing docs, release notes, UI copy, package metadata, setup guides, or any prose that mentions the product, CLI, company, or Onde Inference.
4
+ ---
5
+
6
+ # Branding
7
+
8
+ ## Overview
9
+
10
+ Use this file when writing docs, release notes, UI copy, package metadata, or setup guides for this repository.
11
+
12
+ The short version:
13
+
14
+ - **Product / brand name:** `siGit Code`
15
+ - **CLI command:** `sigit`
16
+ - **Rust crate:** `sigit`
17
+ - **npm package:** `@smbcloud/sigit`
18
+ - **PyPI package:** `sigit-code`
19
+ - **Company name:** `smbCloud`
20
+ - **LLM backend name:** `Onde Inference`
21
+
22
+ The most common mistake is mixing the product name with the command name.
23
+
24
+
25
+ ---
26
+
27
+ # Branding: siGit Code naming and voice
28
+
29
+ Use this skill when you are writing docs, release notes, UI copy, package descriptions, setup guides, or anything else user-facing in this repo.
30
+
31
+ The main job is simple: keep the names straight.
32
+
33
+ ## The name map
34
+
35
+ These names are case-sensitive.
36
+
37
+ - **Product / brand:** `siGit Code`
38
+ - **CLI command:** `sigit`
39
+ - **Rust crate:** `sigit`
40
+ - **Repository slug:** `getsigit/sigit`
41
+ - **npm package:** `@smbcloud/sigit`
42
+ - **PyPI package:** `sigit-code`
43
+ - **Company:** `smbCloud`
44
+ - **LLM backend in prose:** `Onde Inference`
45
+ - **Rust crate for the backend:** `onde`
46
+ - **Protocol acronym:** `ACP`
47
+ - **Long form when needed:** `Agent Client Protocol (ACP)`
48
+
49
+ ## First rule
50
+
51
+ When you mean the product, write **`siGit Code`** exactly like that.
52
+
53
+ Correct:
54
+
55
+ - `siGit Code is a local coding agent.`
56
+ - `siGit Code works in Zed over ACP.`
57
+ - `siGit Code shares its model cache with the desktop app on macOS.`
58
+
59
+ Wrong:
60
+
61
+ - `Sigit Code`
62
+ - `SiGit Code`
63
+ - `siGit`
64
+ - `sigit Code`
65
+ - `SIGIT`
66
+
67
+ Do not shorten the product name to just `siGit` in docs or marketing copy unless there is a very specific reason and the sentence still reads clearly.
68
+
69
+ ## Second rule
70
+
71
+ When you mean something users type, install, import, or clone, use the literal lowercase name.
72
+
73
+ That means:
74
+
75
+ - `sigit` for the command, crate, and repo slug
76
+ - `@smbcloud/sigit` for npm
77
+ - `sigit-code` for PyPI
78
+ - `onde` for the Rust crate
79
+
80
+ Examples:
81
+
82
+ - Run `sigit` in a terminal.
83
+ - Install with `cargo install sigit`.
84
+ - Install with `npm install -g @smbcloud/sigit`.
85
+ - Install with `pip install sigit-code`.
86
+ - The repository is `getsigit/sigit`.
87
+
88
+ A good gut-check:
89
+
90
+ > If this is the thing a user types or installs, keep the literal package or command name.
91
+ > If this is the thing you are describing, use the branded product name.
92
+
93
+ ## Preferred wording
94
+
95
+ Keep the prose plain and direct.
96
+
97
+ Prefer:
98
+
99
+ - `siGit Code is a local coding agent.`
100
+ - `siGit Code runs on your machine.`
101
+ - `siGit Code works with any codebase.`
102
+ - `Install siGit Code with Cargo:`
103
+ - `To start siGit Code, run `sigit`.`
104
+
105
+ Avoid:
106
+
107
+ - `siGit is a local coding agent.`
108
+ - `sigit is a coding assistant.`
109
+ - `The siGit product...`
110
+ - inflated marketing language that makes the copy sound generic
111
+
112
+ If a sentence feels awkward because of the brand name, rewrite the sentence. Do not change the name.
113
+
114
+ ## Editor setup rules
115
+
116
+ In UI-facing examples, the visible label should stay `siGit Code`.
117
+ The executable should stay `sigit`.
118
+
119
+ Example:
120
+
121
+ ```/dev/null/branding-example.json#L1-8
122
+ {
123
+ "agent_servers": {
124
+ "siGit Code": {
125
+ "type": "custom",
126
+ "command": "/absolute/path/to/sigit"
127
+ }
128
+ }
129
+ }
130
+ ```
131
+
132
+ The same rule applies in VS Code ACP examples, screenshots, panel labels, and release notes.
133
+
134
+ ## Other names that must stay exact
135
+
136
+ ### smbCloud
137
+
138
+ Always write `smbCloud` with lowercase `smb` and uppercase `C`.
139
+
140
+ Wrong:
141
+
142
+ - `SMBCloud`
143
+ - `SmbCloud`
144
+ - `smbcloud`
145
+
146
+ ### Onde Inference
147
+
148
+ Use `Onde Inference` when you mean the product or project.
149
+ Use `onde` when you mean the Rust crate.
150
+
151
+ Examples:
152
+
153
+ - `siGit Code uses Onde Inference as its local LLM backend.`
154
+ - `The Rust dependency is `onde`.`
155
+
156
+ ### ACP
157
+
158
+ Use `ACP` for the acronym.
159
+ Use `Agent Client Protocol (ACP)` on first mention when the long form helps.
160
+
161
+ ## Humanizing without breaking branding
162
+
163
+ If you are also cleaning up AI-ish writing, preserve every case-sensitive name exactly as written.
164
+
165
+ That includes:
166
+
167
+ - `siGit Code`
168
+ - `smbCloud`
169
+ - `Onde Inference`
170
+ - `ACP`
171
+ - `sigit`
172
+ - `@smbcloud/sigit`
173
+ - `sigit-code`
174
+ - `onde`
175
+
176
+ Do not "smooth out" a brand name. Do not re-case package names to make a sentence look nicer. Rewrite around them.
177
+
178
+ ## Quick checklist
179
+
180
+ Before you finish any doc or release-note edit, check these:
181
+
182
+ 1. Did you use `siGit Code` when referring to the product?
183
+ 2. Did you keep `sigit` lowercase for commands, crates, and repo references?
184
+ 3. Did you keep `@smbcloud/sigit` and `sigit-code` exact?
185
+ 4. Did you keep `smbCloud` and `Onde Inference` cased correctly?
186
+ 5. In setup examples, does the visible editor label say `siGit Code` while the command stays `sigit`?
187
+
188
+ ## Fast replacements
189
+
190
+ Common fixes:
191
+
192
+ - `siGit is` -> `siGit Code is`
193
+ - `siGit works` -> `siGit Code works`
194
+ - `siGit knows` -> `siGit Code knows`
195
+ - `On macOS, siGit` -> `On macOS, siGit Code`
196
+ - `Sigit` -> usually `siGit Code` or `sigit`, depending on context
197
+
198
+ When in doubt, ask one question:
199
+
200
+ > Am I talking about the product, or the literal thing a user types?
201
+
202
+ If it is the product, use `siGit Code`.
203
+ If it is the command or package, use the exact lowercase name.
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: sigit-code-release
3
+ description: Prepare and verify siGit Code releases. Use when bumping versions, checking Cargo, npm, or PyPI package metadata, validating release notes, confirming CI readiness, or assembling a release checklist for a new siGit Code version.
4
+ ---
5
+
6
+ # siGit Code Release
7
+
8
+ Use this skill when preparing a release for this repository.
9
+
10
+ ## Focus areas
11
+
12
+ - Keep the branded product name as `siGit Code` in prose and `sigit` for commands, crate names, repo paths, and package identifiers.
13
+ - Verify version consistency across release surfaces, but respect which files are real sources of truth versus generated or release-time rewritten artifacts.
14
+ - Check release-facing docs such as `README.md`, `CHANGELOG.md`, workflow notes, and package metadata for stale version references or incorrect naming.
15
+ - Validate the local release path pragmatically: formatting, linting, targeted tests, and any repo-specific release checks that matter for the requested version.
16
+
17
+ ## Working approach
18
+
19
+ 1. Read the files that define the release version and distribution metadata before proposing any changes.
20
+ 2. Treat `Cargo.toml` as the primary release version source for the Rust crate and the PyPI package in this repository.
21
+ 3. Check how the release workflows rewrite or derive versions before editing checked-in npm or Python metadata.
22
+ 4. Prefer targeted verification commands that match CI or packaging workflows already present in the repository.
23
+ 5. Report blockers clearly: failed checks, version mismatches, missing changelog entries, or unpublished packaging changes.
24
+
25
+ ## Repo-specific release rules
26
+
27
+ - Bump the crate version in `Cargo.toml`.
28
+ - Update the root `sigit` package entry in `Cargo.lock` when the crate version changes.
29
+ - Add or update the top changelog entry in `CHANGELOG.md` for the release being cut.
30
+ - Do not treat `npm/sigit/package.json` `0.0.0-dev` as a bug by default. The npm release workflow rewrites it at publish time using `npm/scripts/render-main-package.cjs` and the release tag.
31
+ - Do not add a hardcoded version to `pypi/pyproject.toml` for normal releases. PyPI uses `maturin` with `dynamic = ["version"]` and derives the published package version from `Cargo.toml`.
32
+ - Release workflows are tag-driven. `release-github.yml`, `release-npm.yml`, and `release-pypi.yml` all derive `RELEASE_VERSION` from a `v*.*.*` tag or a manually supplied tag input.
33
+
34
+ ## Typical files to inspect
35
+
36
+ - `Cargo.toml`
37
+ - `Cargo.lock`
38
+ - `CHANGELOG.md`
39
+ - `README.md`
40
+ - `npm/sigit/package.json`
41
+ - `npm/scripts/render-main-package.cjs`
42
+ - `npm/`
43
+ - `pypi/`
44
+ - `.github/workflows/`
45
+
46
+ ## Release checklist
47
+
48
+ - Version bump is applied everywhere it needs to be.
49
+ - `Cargo.toml` and the root crate entry in `Cargo.lock` match.
50
+ - `CHANGELOG.md` has a correct top entry for the new release.
51
+ - `npm/sigit/package.json` is left at `0.0.0-dev` unless the packaging flow itself changed.
52
+ - `pypi/pyproject.toml` still uses dynamic versioning unless there is a deliberate packaging change.
53
+ - Release workflows still derive their version from the tag as expected.
54
+ - Release notes or changelog entries match the actual changes.
55
+ - CI-equivalent local checks pass for the relevant platform or target.
56
+ - Package names, install commands, and branding stay consistent.
57
+ - Any known release limitations are called out explicitly.
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: tool-calling
3
+ description: Implement or debug tool calling in siGit Code across the app, Onde Inference, and mistral.rs. Use when working on tool schemas, execution loops, model support, session cwd handling, or tool-call troubleshooting.
4
+ ---
5
+
1
6
  # Skill: Tool Calling in siGit Code
2
7
 
3
8
  ## Overview
@@ -287,4 +292,4 @@ The `qwen3_8b()` constructor only exists in the local Onde SDK until it's pushed
287
292
  | `sigit/src/setup.rs` | HF cache setup pointing to shared App Group container |
288
293
  | `onde/src/inference/types.rs` | `ToolDefinition`, `ToolCallRequest`, `ToolResult`, `ToolAwareResult` |
289
294
  | `onde/src/inference/engine.rs` | `send_message_with_tools()`, `send_tool_results()`, `attach_tools()`, `parse_tool_calls()`, `replay_history_with_tools()`, `GgufModelConfig::qwen3_8b()` |
290
- | `onde/src/inference/models.rs` | Model constants and `SUPPORTED_MODELS` array |
295
+ | `onde/src/inference/models.rs` | Model constants and `SUPPORTED_MODELS` array |
@@ -0,0 +1,70 @@
1
+ name: Crates.io Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*.*.*"
7
+ workflow_dispatch:
8
+ inputs:
9
+ tag:
10
+ description: "Release tag (e.g. v1.0.2)"
11
+ required: true
12
+
13
+ permissions:
14
+ contents: read
15
+
16
+ env:
17
+ CARGO_TERM_COLOR: always
18
+
19
+ jobs:
20
+ publish:
21
+ name: Publish to crates.io
22
+ runs-on: ubuntu-latest
23
+
24
+ steps:
25
+ - name: Checkout
26
+ uses: actions/checkout@v6
27
+ with:
28
+ ref: ${{ github.event.inputs.tag || github.ref }}
29
+
30
+ - name: Read Rust toolchain
31
+ shell: bash
32
+ run: |
33
+ rust_toolchain="$(sed -n 's/^channel = "\(.*\)"/\1/p' rust-toolchain.toml | head -n 1)"
34
+ if [ -z "$rust_toolchain" ]; then
35
+ echo "Failed to read Rust toolchain from rust-toolchain.toml" >&2
36
+ exit 1
37
+ fi
38
+ echo "RUST_TOOLCHAIN=${rust_toolchain}" >> "$GITHUB_ENV"
39
+
40
+ - name: Install Rust toolchain
41
+ uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9
42
+ with:
43
+ toolchain: ${{ env.RUST_TOOLCHAIN }}
44
+
45
+ - name: Setup Rust cache
46
+ uses: Swatinem/rust-cache@v2
47
+ with:
48
+ key: crates-publish
49
+
50
+ - name: Check whether version already exists on crates.io
51
+ id: crates-check
52
+ shell: bash
53
+ run: |
54
+ VERSION=$(cargo metadata --no-deps --format-version 1 | \
55
+ python3 -c "import sys,json; pkgs=json.load(sys.stdin)['packages']; \
56
+ print(next(p['version'] for p in pkgs if p['name']=='sigit'))")
57
+ echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
58
+
59
+ if curl -fsS "https://crates.io/api/v1/crates/sigit/${VERSION}" >/dev/null 2>&1; then
60
+ echo "sigit ${VERSION} already exists on crates.io, skipping publish"
61
+ echo "exists=true" >> "$GITHUB_OUTPUT"
62
+ else
63
+ echo "exists=false" >> "$GITHUB_OUTPUT"
64
+ fi
65
+
66
+ - name: Publish to crates.io
67
+ if: steps.crates-check.outputs.exists != 'true'
68
+ env:
69
+ CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
70
+ run: cargo publish --locked
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.1.0
4
+
5
+ Bumps the ACP SDK to v0.13 and pulls in updated dependencies.
6
+
7
+ ### What changed
8
+
9
+ - Updated `agent-client-protocol` from v0.11 to v0.13
10
+ - Updated `onde` to 1.1.2
11
+ - Refreshed branding and skill metadata
12
+
13
+ ## 1.0.4
14
+
15
+ This release tightens up the terminal experience and finishes a few release-facing cleanup items.
16
+
17
+ ### What changed
18
+
19
+ - Added bold rich-text rendering in the TUI for assistant replies, so `**text**` now displays with terminal styling instead of raw markdown markers
20
+ - Refreshed the bundled skill metadata to follow the current Agent Skills `SKILL.md` format
21
+ - Synced the crate release metadata for the `1.0.4` cut
22
+
3
23
  ## 1.0.3
4
24
 
5
25
  This is the cleanup release for the editor-side startup problems.
@@ -143,4 +163,4 @@ ACP and editor mode work on Windows. The part that is still missing is the inter
143
163
 
144
164
  ---
145
165
 
146
- *© 2026 [smbCloud](https://smbcloud.xyz/) (Splitfire AB).*
166
+ *© 2026 [smbCloud](https://smbcloud.xyz/) (Splitfire AB).*