Skip to main content

Deterministic, state-aware DevOps orchestration engine for Linux, Git, GitHub, Docker

Project description

FixShell v0.1.2 - Deterministic DevOps Orchestration Engine

FixShell is a state-aware orchestration engine that transforms cryptic terminal failures into guided, self-healing workflows. It prioritizes deterministic logic (regex/rules) to ensure speed and reliability, with an optional LLM layer for complex edge cases.

🌟 Key Features

🐳 Docker Lifecycle Management

  • Smart Installation: Automatically detects missing Docker environments and provides tailored installation guides for:
    • Ubuntu/Debian (APT repository setup)
    • Fedora (DNF repository setup)
    • Arch Linux (Pacman)
    • CentOS/RHEL (Yum)
    • Windows (WSL) (Docker Desktop integration)
  • Auto-Healing: Intercepts permission denied, daemon not running, port conflicts, and name collisions.

🐙 Git & GitHub Workflow

  • State-Aware Sync: Deterministic Pull → Commit → Push pipeline.
  • Auto-Upstream: Detects and fixes missing tracking information or upstream branches automatically.
  • GitHub CLI Integration: Unified authentication and repository management.

🔍 Proactive Linux Diagnosis

  • Evidence Scoring: Probes system metrics (df, ss, ls) to identify root causes like disk exhaustion or port conflicts before they crash your session.
  • AI Toggle: Run with --ai to activate local LLM diagnosis (Ollama) when deterministic rules aren't enough.

🛠️ Installation

pip install fixshell

📖 Usage

Entrypoints

FixShell provides the fixshell command.

1. Docker Guided Mode

fixshell docker

Follow the on-screen menu to install Docker, build images, or manage containers safely.

2. Git/GitHub Mode

fixshell git
fixshell github

3. Diagnosis Mode

# Deterministic (default)
fixshell diagnosis apt install git

# AI-Powered
fixshell diagnosis --ai python app.py

🏗️ Architecture

  • Classifier: Multi-layered regex engine with priority metadata.
  • Retry Engine: Implements the recursive recovery loop (Execute → Classify → Resolve → Retry).
  • StateMachine: Tracks global system state (OS_STATE, DISTRO_STATE, AUTH_STATE).
  • Renderer: Professional TUI using rich.

📦 Publishing (DevOps)

FixShell uses Trusted Publishing via GitHub Actions.

  1. Bump version in src/fixshell/config.py.
  2. Push a tag: git tag v0.1.2 && git push --tags.
  3. GitHub Actions builds the wheel/sdist and publishes to PyPI via OIDC.

🛡️ Security

  • Every command is previewed in a PLAN block before execution.
  • Destructive operations require explicit confirmation.
  • Safe-by-default environment variables (e.g., GIT_TERMINAL_PROMPT=0).

Maintainer: FIXMAN_404 (Thilak Divyadharshan) License: MIT

Project details


Download files

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

Source Distribution

fixshell-0.1.2.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

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

fixshell-0.1.2-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file fixshell-0.1.2.tar.gz.

File metadata

  • Download URL: fixshell-0.1.2.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fixshell-0.1.2.tar.gz
Algorithm Hash digest
SHA256 10b0c69f00f8a2c282ae40fb0be3ae2a42d3e67203a27268291eadfeacaf0987
MD5 fe2c306bf0d0056ed86b9149e306116b
BLAKE2b-256 5fa7062340214ccb495815d42cf076f3603c30671ac1971cc21a0acc98aa376f

See more details on using hashes here.

Provenance

The following attestation bundles were made for fixshell-0.1.2.tar.gz:

Publisher: publish.yml on FixMan-dev/fixshell

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fixshell-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: fixshell-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 34.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fixshell-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3181c7750373df99734e96f0a5cc98dc532a384c73b988b0f3364999bee1cabf
MD5 97e4e164c339a3e5c278f94dfc9b9b1e
BLAKE2b-256 a6607716a78c4c612a343ef811ea40fc9fb9592735f8c794a0f48bd9480a71d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for fixshell-0.1.2-py3-none-any.whl:

Publisher: publish.yml on FixMan-dev/fixshell

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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