Local-first codebase intelligence with semantic search, multi-hop research, and 12-language AST support
Project description
Sia Code
Local-first codebase intelligence for CLI workflows.
Sia Code helps you:
- search and research code with lexical, semantic, or hybrid retrieval
- run multi-hop architecture research across files, symbols, and repos
- trace historical file and behavior changes (
memory trace,memory git-context) - inspect blast radius before refactors
- work across big repos, multi-repo workspaces, and git worktrees
Why use it
- Local index. No hosted service required.
- Works well on big repos (think ~5,000 files, not only small projects).
- Aggregates
search,research, andstatusacross multiple repos in one workspace. - Handles both architecture questions and history-aware change questions.
- Good fit for MCP clients and skill-based CLI agents.
Install
# MCP + CLI
uv tool install "sia-code[mcp]"
# CLI only
uv tool install sia-code
If you prefer pip, pip install sia-code and pip install "sia-code[mcp]" also work.
Quick start
1) Skill first
Source skill file:
skills/sia-code/SKILL.md
Ask your agent to install from the file link.
2) MCP
uv tool install "sia-code[mcp]"
sia-code-mcp
Simple JSON reference:
{
"mcpServers": {
"sia-code": {
"command": "uvx",
"args": ["--from", "sia-code[mcp]", "sia-code-mcp"]
}
}
}
Then point your MCP client at sia-code-mcp.
See docs/MCP_INTEGRATION.md and docs/LLM_CLI_INTEGRATION.md.
3) Direct CLI
# initialize + index
uvx sia-code init
uvx sia-code index .
# lexical search for exact symbols
uvx sia-code search --regex "AuthService|token"
# hybrid / semantic-style research
uvx sia-code research "how does authentication work?"
# historical change research
uvx sia-code memory trace "why did auth behavior change" --format table
uvx sia-code memory git-context src/auth.py
Big repos, multiple repos, worktrees
- Big repo: built for real codebases with thousands of files, including ~5,000-file projects
- Multi-repo workspace: run
index .from parent folder; Sia Code auto-detects git sub-repos, indexes each, then aggregatessearch,research, andstatus - Git worktrees / multi-agent sessions: use shared or isolated indexes with
SIA_CODE_INDEX_SCOPE=shared|worktree
# shared index across worktrees/agents
export SIA_CODE_INDEX_SCOPE=shared
# isolated index per worktree
export SIA_CODE_INDEX_SCOPE=worktree
History-aware understanding
Use Sia Code for both code lookup and change understanding:
search-> lexical, semantic, or hybrid retrievalresearch-> multi-hop architecture tracing across related files and symbolsmemory sync-git-> imports merges/tags as searchable timeline + changelog contextmemory trace-> explains likely causal history for behavior or symbol changesmemory git-context <file>-> shows effective file history, likely owners, reverts, evolution narrative, and co-change blast radiusmemory working-set "query"-> emits compact shared JSON context for agent handoff
More docs
docs/CLI_FEATURES.mddocs/INDEXING.mddocs/QUERYING.mddocs/MEMORY_FEATURES.mddocs/MCP_INTEGRATION.mddocs/LLM_CLI_INTEGRATION.mddocs/ARCHITECTURE.md
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sia_code-0.8.1.tar.gz.
File metadata
- Download URL: sia_code-0.8.1.tar.gz
- Upload date:
- Size: 167.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f310a3ec1ec19573f4569f4183e2c4dd0b5d7467f6102b632cf78a8f6f63478
|
|
| MD5 |
ea7fa4016f8c077d0dff7d2d7a1a6f60
|
|
| BLAKE2b-256 |
8304eb6656819b6afd8da08e309282a5bbcd281a38cbe25f94c81ce0b72c66ca
|
Provenance
The following attestation bundles were made for sia_code-0.8.1.tar.gz:
Publisher:
release.yml on DxTa/sia-code
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sia_code-0.8.1.tar.gz -
Subject digest:
3f310a3ec1ec19573f4569f4183e2c4dd0b5d7467f6102b632cf78a8f6f63478 - Sigstore transparency entry: 2050295368
- Sigstore integration time:
-
Permalink:
DxTa/sia-code@231b6efbb762b01442c47fbde89edba1639ad53e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/DxTa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@231b6efbb762b01442c47fbde89edba1639ad53e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file sia_code-0.8.1-py3-none-any.whl.
File metadata
- Download URL: sia_code-0.8.1-py3-none-any.whl
- Upload date:
- Size: 175.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffe3df6a0bf6bcf96d6d80f701b6e72db0b1b3f3d41c2a65eebf932549eea136
|
|
| MD5 |
19a6f7aace6b4cf1d77da8df945ef892
|
|
| BLAKE2b-256 |
9c39db6029303c703150751ed9e230172bc1134838634d28262310f5baf3502f
|
Provenance
The following attestation bundles were made for sia_code-0.8.1-py3-none-any.whl:
Publisher:
release.yml on DxTa/sia-code
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sia_code-0.8.1-py3-none-any.whl -
Subject digest:
ffe3df6a0bf6bcf96d6d80f701b6e72db0b1b3f3d41c2a65eebf932549eea136 - Sigstore transparency entry: 2050295770
- Sigstore integration time:
-
Permalink:
DxTa/sia-code@231b6efbb762b01442c47fbde89edba1639ad53e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/DxTa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@231b6efbb762b01442c47fbde89edba1639ad53e -
Trigger Event:
workflow_dispatch
-
Statement type: