Textor Nexuum ??
Weave AI clarity into every GitHub issue.
Textor Nexuum is a production-minded Python CLI named nexuum. It triages GitHub issues with Grok, OpenAI-compatible APIs, and now Anthropic Claude via the same structured JSON contract. Output stays safe by default (dry-run first; writes only with --apply).
- Repository: FratresMedAI/TextorNexuum
- PyPI:
textor-nexuum - Python: 3.11+
- License: MIT
Install
python -m pip install textor-nexuum
From source:
git clone https://github.com/FratresMedAI/TextorNexuum.git
cd TextorNexuum
python -m pip install -e ".[dev]"
Quick start
nexuum --version
nexuum analyze octocat/Hello-World --limit 3 --verbose
nexuum config init
Without GITHUB_TOKEN, built-in mock issues are used so the CLI still demos cleanly.
New in v1.0 line
- Anthropic support: if
base_urlcontainsanthropic, Nexuum uses/messages+x-api-key+anthropic-version. - Configurable duplicate threshold:
duplicate_thresholdin.nexuum.yaml(default0.82). - Better duplicate detection: weighted score on title + first 200 chars of body.
- Verbose mode:
--verboseprints issue-level reasoning and token usage. - API resilience: retry/backoff (3 attempts) for LLM calls with explicit fallback message.
Environment variables
| Name | Role |
|---|---|
GITHUB_TOKEN |
Real issue data + enables --apply writes. |
GROK_API_KEY |
Key for xAI/OpenAI-compatible style calls. |
OPENAI_API_KEY |
Key for OpenAI-compatible base URLs. |
ANTHROPIC_API_KEY |
Use with --base-url https://api.anthropic.com/v1 and Claude models. |
Commands
nexuum analyze owner/repo --limit 10
nexuum analyze owner/repo --issue 42
nexuum analyze owner/repo --format json
nexuum analyze owner/repo --verbose
nexuum analyze owner/repo --apply --yes
nexuum config init
nexuum version
Typer completion is enabled. Install completion with your shell profile if desired (e.g. --install-completion).
Configuration
Resolution order:
.nexuum.yaml.weaver.yaml(legacy)~/.config/nexuum/config.yaml
Example .nexuum.yaml:
model: claude-3-5-sonnet-latest
base_url: https://api.anthropic.com/v1
max_issues: 30
duplicate_threshold: 0.82
allowed_labels: [bug, feature, documentation, question, enhancement]
custom_labels: [needs-triage, good-first-issue]
prompt_additions: ""
Real-world examples
Grok / OpenAI-compatible
nexuum analyze owner/repo --limit 15 --model grok-4.1-fast --base-url https://api.x.ai/v1
Anthropic Claude
set ANTHROPIC_API_KEY=your-key
nexuum analyze owner/repo --limit 15 --model claude-3-5-sonnet-latest --base-url https://api.anthropic.com/v1
Single issue with detailed diagnostics
nexuum analyze owner/repo --issue 123 --verbose
How it works
- Load config + CLI flags into
NexuumConfig. - Fetch issues from GitHub (or mock fixtures when unauthenticated).
- Build prompt from
src/nexuum/prompts.py. - Call selected LLM provider (OpenAI-compatible or Anthropic).
- Parse strict JSON into
TriageResult; fallback to heuristics on failures. - Run duplicate checks with configurable threshold and confidence.
- Render Rich table + exports (
md,json); optional guarded apply flow.
Comparison to other tools
- GitHub native triage: Great for manual workflows, but no deterministic structured AI output or local automation.
- Dosu: Strong hosted assistant model, less local CLI control over provider routing/fallback behavior.
- PR-Agent: PR-focused automation; Textor Nexuum is issue-triage focused with explicit duplicate heuristics.
- Sweep: Strong coding automation path; Nexuum is intentionally lightweight triage-first with safe dry-run defaults.
GitHub Action (summary-only)
Use .github/workflows/nexuum.yml: analyze + post one summary comment. It does not run --apply.
Quality gate
ruff check . --fix && ruff format .
mypy src/nexuum --strict
pytest tests/ -q
Support
Issues and PRs: github.com/FratresMedAI/TextorNexuum/issues
Metadata
Release files for textor-nexuum 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| textor_nexuum-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / textor_nexuum-1.0.1-py3-none-any.whl
| Download URL | textor_nexuum-1.0.1-py3-none-any.whl |
|---|---|
| Size | 25.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
933c0d1d5bdf3e96e8c67e03662d38c9d9784a4da61d7f21a7012787de5043de
|
|
BLAKE2b-256 checksum How to use checksums |
eba0d4223d7977ebfe2f16fe1e82ad0cdd916550b371719dd7ce6517be08795a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|