Skip to main content

Textor Nexuum — Weave AI clarity into every GitHub issue.

Project description

Textor Nexuum professional branding banner

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).

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_url contains anthropic, Nexuum uses /messages + x-api-key + anthropic-version.
  • Configurable duplicate threshold: duplicate_threshold in .nexuum.yaml (default 0.82).
  • Better duplicate detection: weighted score on title + first 200 chars of body.
  • Verbose mode: --verbose prints 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:

  1. .nexuum.yaml
  2. .weaver.yaml (legacy)
  3. ~/.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

  1. Load config + CLI flags into NexuumConfig.
  2. Fetch issues from GitHub (or mock fixtures when unauthenticated).
  3. Build prompt from src/nexuum/prompts.py.
  4. Call selected LLM provider (OpenAI-compatible or Anthropic).
  5. Parse strict JSON into TriageResult; fallback to heuristics on failures.
  6. Run duplicate checks with configurable threshold and confidence.
  7. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

textor_nexuum-1.0.1-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file textor_nexuum-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: textor_nexuum-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 25.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for textor_nexuum-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 933c0d1d5bdf3e96e8c67e03662d38c9d9784a4da61d7f21a7012787de5043de
MD5 b2b836e4e68a83bc81113468babb69b1
BLAKE2b-256 eba0d4223d7977ebfe2f16fe1e82ad0cdd916550b371719dd7ce6517be08795a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page