Skip to content
adolfousierPublic

About

Terminal-based tool to track and manage build artifacts from multiple programming languages. Built with Ratatui

Topics

Resources

Contributing

Stars

91 stars

Watchers

0 watching

Forks

Latest commit

 

History

16 Commits

Folders and files

Repository files navigation

Rust Ratatui Docker Just SQLite PostgreSQL

Ratifact Powered by Neura AI

Ratifact

Track and manage build artifacts from multiple programming languages.

This TUI app runs in your terminal and helps you monitor build processes, track artifacts, and clean up old builds. Built with Ratatui.

Demo

Table of Contents

What Does This Do?

  • Tracks build artifacts - Monitors directories for build outputs from Rust, JavaScript, Python, Go, C/C++, Java, PHP, Ruby, Swift, Kotlin, Scala, Haskell, Elixir, and more.
  • Shows artifact details - Displays size, modification time, and language type in a table.
  • Selective deletion - Choose individual or bulk delete with confirmations.
  • Timeframe cleanup - Set rules to auto-remove old artifacts.
  • Rebuild integration - Trigger rebuilds for tracked projects.
  • Works everywhere - Fully supported on Linux, macOS, and Windows with easy one-liner installation.

Quick Start (Easiest Way)

Linux

Copy and paste this into your terminal:

sudo apt update && sudo apt install -y curl git && curl -fsSL https://raw.githubusercontent.com/adolfousier/ratifact/main/src/scripts/linux/install.sh | bash

That's it! The app will build and start automatically.

macOS

  1. Install Docker Desktop first (or the script will install it)
  2. Then paste this into Terminal:
curl -fsSL https://raw.githubusercontent.com/adolfousier/ratifact/main/src/scripts/macos/install.sh | bash

Windows

Open PowerShell as Administrator and run:

powershell -Command "iwr -useb https://raw.githubusercontent.com/adolfousier/ratifact/main/src/scripts/windows/install.ps1 | iex"

Already Have Rust and Docker?

If you already have the prerequisites installed:

git clone https://github.com/adolfousier/ratifact.git && cd ratifact && cargo build && ./target/debug/ratifact

Build with Just

Use the provided justfile for common tasks:

just build    # Build the project
just run      # Build and run
just test     # Run tests
just release  # Build release version
just clean    # Clean artifacts
just help     # Show all targets

How to Use It

Once the app is running:

  • Tab - Switch between views (artifacts, history, charts, settings, summary)
  • ↑↓ - Navigate within panels
  • Enter - Select/rebuild in artifacts, edit settings in settings panel
  • s - Start scanning for artifacts
  • d - Delete selected artifacts
  • r - Rebuild a project
  • h - Load history
  • q - Quit

In settings panel, use Enter to open popup for editing retention days, scan path, or toggling automatic removal. For scan path, browse directories with ↑↓ and Enter.

The app detects languages automatically and tracks builds once scanned.

Settings

Customize the app behavior:

  • Retention Days: Set how long to keep artifacts (default: 30 days)
  • Scan Path: Choose the directory to scan for builds (default: current directory)
  • Automatic Removal: Enable/disable auto-cleanup of old artifacts

Use Enter in the settings panel to edit these options via popups.

What You Need

  • Computer: Linux, macOS, or Windows
  • Rust: Latest stable version
  • Space: Minimal, depends on your build artifacts

Special Notes

Database: Ratifact ships with SQLite as the default backend — no server, no Docker, no setup. The first run creates ratifact.db in the working directory and applies the schema automatically.

PostgreSQL builds: Compile with cargo build --no-default-features --features postgres to target a Postgres server instead. The sqlite and postgres features are mutually exclusive; enabling both (or neither) fails the build with an explicit message.

Override: Set DATABASE_URL (e.g. postgres://user:pass@host:port/db or sqlite://./custom.db?mode=rwc) to bypass the compiled-in default.

Permissions: Ensure read/write access to project directories and, for Postgres builds, database access.

Uninstall

To uninstall Ratifact and remove all associated components, use the uninstall scripts:

Linux

curl -fsSL https://raw.githubusercontent.com/adolfousier/ratifact/main/src/scripts/linux/uninstall.sh | bash

Or locally:

bash src/scripts/linux/uninstall.sh

Or using Make:

make uninstall

macOS

curl -fsSL https://raw.githubusercontent.com/adolfousier/ratifact/main/src/scripts/macos/uninstall.sh | bash

Or locally:

bash src/scripts/macos/uninstall.sh

Or using Make:

make uninstall

Windows

Open PowerShell as Administrator and run:

powershell -Command "iwr -useb https://raw.githubusercontent.com/adolfousier/ratifact/main/src/scripts/windows/uninstall.ps1 | iex"

Or locally:

powershell -ExecutionPolicy Bypass -File src/scripts/windows/uninstall.ps1

What the Uninstall Script Does

The uninstall process will:

  1. Stop database services - Stops the PostgreSQL container for Postgres deployments (the default SQLite build needs no server)
  2. Remove database storage (optional) - You'll be prompted to confirm deletion of the Postgres volume or the local ratifact.db file
  3. Clean build artifacts - Removes compiled binaries and intermediate build files
  4. Remove installation directory (optional) - You can choose to keep the source code or remove it completely

The script logs all actions to a file (e.g., /tmp/ratifact-uninstall-*.log) for reference.

Contributing

Found a bug or want to add something? Check CONTRIBUTING.md.

License

See LICENSE file for details.

Star History Chart

Star History Chart

Built with ❤️ by the Neura AI team | Website | Issues

About

Terminal-based tool to track and manage build artifacts from multiple programming languages. Built with Ratatui

Topics

Resources

Contributing

Stars

91 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages