Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
8d90b7e
fix(vscode): require trusted workspace before execution
M9nx Jul 22, 2026
ab1bdd7
feat(vscode): add nonce-based CSP to webviews
M9nx Jul 22, 2026
507df19
fix(vscode): ensure all extension resources are disposed
M9nx Jul 22, 2026
6c546bb
chore(vscode): configure eslint rules and suppressions
M9nx Jul 22, 2026
d877c47
fix(python): replace production assertion with value error
M9nx Jul 22, 2026
f6bd131
test(python): add safety tests for claude config generation
M9nx Jul 22, 2026
487b2a7
style(rust): format code and fix clippy warnings
M9nx Jul 22, 2026
1aaedef
docs: add windows rust build workaround to contributing guide
M9nx Jul 22, 2026
5470830
ci(rust): add cargo audit security step
M9nx Jul 22, 2026
d7ab850
build(python): remove requirements.txt and use pyproject.toml as sing…
M9nx Jul 22, 2026
cbce8d1
ci(python): add pytest coverage gate, bandit, and pip-audit
M9nx Jul 22, 2026
bde62e7
docs: remove unsupported editor and codelens claims from readme
M9nx Jul 22, 2026
c83daa7
docs(site): update roadmap and version for v0.5.1
M9nx Jul 22, 2026
a26e36d
ci: configure bandit to skip tests and deferred R2 finding
M9nx Jul 22, 2026
b62f2d0
docs: mark v0.5.1 as pending release
M9nx Jul 22, 2026
ab13984
ci(security): document narrow B310 waiver
M9nx Jul 22, 2026
65a47a9
fix(rust): resolve cargo fmt failure in scan.rs
M9nx Jul 22, 2026
84006ba
fix(ci): disable faulthandler in pytest to prevent pyo3 abort on exit
M9nx Jul 22, 2026
67790c9
chore: remove generated Rust build artifacts
M9nx Jul 22, 2026
a33541a
fix(ci): update rust ci to use stable matrix and run cargo audit with…
M9nx Jul 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
36 changes: 33 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,16 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
pip install -r requirements.txt
pip install -e ".[dev]"

- name: Run tests
run: pytest --tb=short -q
- name: Run tests with coverage
run: pytest --cov=semantic_code_intelligence --cov-fail-under=70

- name: Run security checks
run: |
pip install bandit pip-audit
bandit -r semantic_code_intelligence -x semantic_code_intelligence/tests -ll
pip-audit

lint:
runs-on: ubuntu-latest
Expand All @@ -42,3 +48,27 @@ jobs:

- name: Check syntax
run: python -m py_compile semantic_code_intelligence/__init__.py

rust-stable:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- name: Check formatting
run: cargo fmt --check --manifest-path codexa-core/Cargo.toml
- name: Run Clippy
run: cargo clippy --manifest-path codexa-core/Cargo.toml --all-targets -- -D warnings
- name: Run tests
run: cargo test --manifest-path codexa-core/Cargo.toml

cargo-audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install cargo-audit
run: cargo install cargo-audit --locked
- name: Run cargo audit
working-directory: codexa-core
run: cargo audit
16 changes: 14 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ source .venv/bin/activate # macOS/Linux

# Install in development mode
pip install -e ".[dev]"
pip install -r requirements.txt


# Run the test suite
pytest
Expand Down Expand Up @@ -56,7 +56,6 @@ CodexA/
│ └── tests/ # All test files (2596+ tests)
├── vscode-extension/ # VS Code sidebar extension
├── pyproject.toml
├── requirements.txt
├── ROADMAP.md
└── CHANGELOG.md
```
Expand Down Expand Up @@ -93,6 +92,19 @@ CodexA/
- Import from `semantic_code_intelligence.utils.logging` for consistent output
- Keep modules focused — one responsibility per file

### Rust Core Development

The `codexa-core` native extension requires Rust and Cargo.
When developing on Windows, the `pyo3-build-config` crate may fail to find your Python interpreter if you are using a virtual environment. To work around this, explicitly set the `PYO3_PYTHON` environment variable:

```powershell
# Windows PowerShell
$env:PYO3_PYTHON = "..\.venv\Scripts\python.exe"
cd codexa-core
cargo clippy -- -D warnings
cargo test
```

## Plugin Development

CodexA has a plugin system with 22 hook points. See `codexa docs --section plugins` for the full reference, or check the [Plugin SDK](semantic_code_intelligence/plugins/__init__.py).
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ structured tool protocol that any AI agent can call over HTTP or CLI.
| **Interactive TUI** | Terminal REPL with mode switching for interactive exploration |
| **Streaming Responses** | Token-by-token streaming for chat and investigation commands |
| **Plugin System** | 22 hooks for extending every layer — from indexing to tool invocation |
| **VS Code Extension** | 4-panel sidebar (Search, Symbols, Quality, Tools), 8 commands, CodeLens, context menus, status bar |
| **Editor Plugins** | Zed, JetBrains (IntelliJ/PyCharm), Neovim (telescope.nvim), Vim, Sublime Text, Emacs, Helix, Eclipse -- all sharing the same MCP/bridge protocol |
| **VS Code Extension** | 4-panel sidebar (Search, Symbols, Quality, Tools), 8 commands, context menus, status bar |
| **Cross-Language Intelligence** | FFI pattern detection, polyglot dependency graphs, language-aware search boosting, universal multi-language call graph |
| **Multi-Agent Sessions** | Concurrent AI agent sessions with shared discovery, semantic diff (rename/move/signature/body detection), RAG code generation |

Expand Down
Loading
Loading