Textor Nexuum — Weave AI clarity into every GitHub issue.
Project description
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
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 Distributions
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 textor_nexuum-1.0.0-py3-none-any.whl.
File metadata
- Download URL: textor_nexuum-1.0.0-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e965233b81724191b1c5e4d6b4c3d87c14a4f01b8f469b5e035a46b7dd2cf0e7
|
|
| MD5 |
5a433feffebf19561e1e7ef79a71562a
|
|
| BLAKE2b-256 |
0d65475b40a336daac9cb09cb8a50ca4f4d17983ed0861bd1045d68f843304c0
|