How notchapplez/unin works
unin is a Linux-oriented universal project builder and installer. The main workflow is a user CLI request, project/build-file detection, dispatch to a language or build-system backend, and—unless --noinstall is used—installation and package registration. Separate CLI branches set up toolchains, clean build artifacts, fetch Git URLs, and inspect or uninstall registered packages. The README documents broader language support than the sampled backend excerpts; those backends are included by their exact paths, but uncertain internal steps are not expanded.
Main entry points: tools.rs Detect and route · main.rs Command entry · registry.rs Package registry · cmake.rs CMake builder
Components 19
CLI and dispatch
- Command entry
src/main.rs - Detect and route
src/tools.rs - Git fetch
src/git.rs
Build backends
- CMake builder
src/cmake.rs - Make builder
src/make.rs - Configure builder
src/confidcure.rs - Meson builder
src/meson.rs - Rust builder
src/rust.rs - Go builder
src/go.rs - Zig builder
src/zig.rs - Gleam builder
src/gleam.rs - Haskell builder
src/haskell.rs
System and registry
- Toolchain setup
src/installer.rs - Binary installation
src/tools.rs - Package registry
src/registry.rs - Build logs
src/logging.rs
Other components
- CLI user
- Linux system
- Package managers
Connections 36
- CLI user → Command entry: invokes
- Command entry → Package registry: checks registry
- Command entry → Detect and route: detects project
- Command entry → Git fetch: fetches URL
- Command entry → Toolchain setup: sets up tools
- Command entry → Detect and route: dispatches clean
- Command entry → Package registry: lists or uninstalls
- Detect and route → CMake builder: dispatches
- Detect and route → Make builder: dispatches
- Detect and route → Configure builder: dispatches
- Detect and route → Meson builder: dispatches
- Detect and route → Rust builder: dispatches
- Detect and route → Go builder: dispatches
- Detect and route → Zig builder: dispatches
- Detect and route → Gleam builder: dispatches
- Detect and route → Haskell builder: dispatches
- Detect and route → CMake builder: cleans
- Detect and route → Make builder: cleans
- Detect and route → Configure builder: cleans
- Detect and route → Meson builder: cleans
- Detect and route → Rust builder: cleans
- Detect and route → Go builder: cleans
- Detect and route → Zig builder: cleans
- Detect and route → Gleam builder: cleans
- Detect and route → Haskell builder: cleans
- Rust builder → Binary installation: installs binaries
- CMake builder → Package registry: registers binaries
- Configure builder → Package registry: registers binaries
- Meson builder → Package registry: registers binaries
- Gleam builder → Package registry: registers package
- Make builder → Package registry: registers installs
- Binary installation → Linux system: copies to bin
- Package registry → Linux system: reads and writes files
- Package registry → Linux system: deletes package files
- Command entry → Build logs: logs
- Toolchain setup → Package managers: installs packages