Letsmake Version-0120.0.09.1-SDK-18+
A+

ApmCC+
AUR Package Manager

A smart, minimal AUR helper coded in C and Ruby for Arch Linux. Lightweight, fast, and dead-simple — because "I Use Arch, BTW!"

View on GitHub Explore Commands See It Live
apm — bash — 80×24
arch@user ~ $ apm install google-chrome --noconfirm
  :: Searching AUR for google-chrome...
  [1] google-chrome 125.0.6422.60-1 (AUR)
  :: Cloning PKGBUILD from aur.archlinux.org...
  ✔ Clone complete
  :: Running makepkg -si...
  ✔ google-chrome installed successfully
 
arch@user ~ $ apm update
  :: Updating native packages via pacman...
  :: Checking 3 AUR packages for updates...
  ✔ System is up to date
 
arch@user ~ $ apm -V
  ApmCC+ Letsmake Version-0120.0.09.1-SDK-18+
 
arch@user ~ $
C
Core Language — 80.5%
Ruby
API Layer — 13.4%
10+
CLI Commands
MIT
Open Source License
Why ApmCC+?
Built for Arch Linux users who want a clean, minimal, and fast AUR helper — no bloat, no overhead.
Blazing Fast
Core written in C — no runtime overhead. Direct HTTP calls with libcurl to the AUR RPC v5 API. Zero Python startup lag.
🪶
Lightweight
Smaller footprint than yay or paru. Minimal dependencies: just gcc, libcurl, git, and ruby. Ships as a single binary.
💎
Ruby-Powered Search
Smart AUR search helper and recursive dependency resolver written in Ruby — decoupled and callable independently.
📦
Full Package Lifecycle
Install, update, remove, search, info, list, and clean — everything you need without switching tools.
🔧
Native Makepkg Integration
Wraps makepkg -si properly. Handles PKGBUILD cloning, building, and privileged installation through sudo.
📝
Install Tracking
Records every AUR package installed by APM to /var/lib/apm/installed.db for accurate version comparison and updates.
Full CLI Reference
Every command and flag ApmCC+ supports, straight from the README.

Commands

CommandDescription
apmShow info banner
apm install <pkg>Search AUR & install package
apm updateUpdate all packages (native + AUR)
apm remove <pkg>Remove an installed package
apm search <query>Search AUR for packages
apm info <pkg>Show detailed package info
apm listList AUR packages installed by APM
apm cleanClean build cache
apm -VPrint version string
apm -HShow help page

Flags

FlagDescription
--noconfirmSkip all confirmation prompts
--verbosePrint extra diagnostic output
--quietSuppress non-essential output
--dry-runShow what would happen, do nothing
--aur-onlyOnly touch AUR packages
--forceReinstall even if up to date
--skippgpcheckPass --skippgpcheck to makepkg
--nocolorDisable ANSI colour output
See It In Action
Live terminal previews showing ApmCC+ doing its thing on Arch Linux.
$ apm search visual-studio-code
  :: Querying AUR RPC v5...
  [1] visual-studio-code-bin
     1.89.1-1 | Votes: 3,241
  [2] vscodium-bin
     1.89.1.24131-1 | Votes: 812
  [3] code-git
     git-r54321 | Votes: 211
 
  Enter number to install (or q):
apm search
$ apm info spotify
  :: Package: spotify
   Version: 1:1.2.35.576-1
   Maintainer: osleg
   Votes: 4,198
   Popularity: 11.8
   License: custom
   URL: https://spotify.com
   Out of Date: No
apm info
$ apm install yay --noconfirm
  :: Cloning yay...
  ✔ Cloned
  :: Resolving dependencies...
   go >= 1.21
  :: Building with makepkg...
  :: Compiling yay (go build)...
  ✔ yay 12.3.5 installed!
  :: Logged to /var/lib/apm/installed.db
apm install
$ apm list
  :: Packages installed via APM:
   spotify
     ↳ 1:1.2.35.576-1
   google-chrome
     ↳ 125.0.6422.60-1
   visual-studio-code-bin
     ↳ 1.89.1-1
  ✔ 3 AUR packages tracked
apm list
$ apm update --verbose
  :: Syncing pacman databases...
  ✔ Core, Extra, Community OK
  :: Checking AUR versions...
  ⬆ spotify 1.2.35 → 1.2.36
  :: Rebuilding spotify...
  ✔ spotify updated!
  ✔ All other packages current
apm update
$ apm --dry-run install discord
  :: [DRY RUN] No changes will be made
  :: Would clone: discord.git
  :: Would install deps:
   - libpulse, nss, gtk3
  :: Would run: makepkg -si
  :: Would log to: /var/lib/apm/
  :: [DRY RUN] Done. Nothing changed.
apm --dry-run
What is ApmCC+?

ApmCC+ (also just apm) is a command-line AUR helper built from the ground up for Arch Linux. Unlike heavier helpers, ApmCC+ keeps the core in C for raw speed, while delegating smart search and dependency resolution to a Ruby layer.

Created by Francesco12o on GitHub — born from the classic Arch motto: "I Use Arch, BTW!"

  • Uses AUR RPC v5 API via libcurl
  • Hand-written JSON parser — zero extra deps
  • Wraps makepkg -si for seamless PKGBUILD builds
  • Tracks installed packages in /var/lib/apm/installed.db
  • MIT Licensed — fully open source
  • Developed on Replit, published on GitHub
C 80.5%
Ruby 13.4%
Makefile 3.1%
Shell 3.0%
Project Info
Repository Francesco12o/ApmCC-
Version 0120.0.09.1-SDK-18+
License MIT
Language C + Ruby
Platform Arch Linux (AUR)
Author Francesco12o
INSTALL QUICK START
sudo pacman -S --needed base-devel git curl ruby
git clone https://github.com/Francesco12o/ApmCC-
cd ApmCC- && chmod +x build.sh && ./build.sh
Codebase Layout
Clean and modular — every component has a clear responsibility.
ApmCC+/
├── src/
│ ├── apm.h // Main header — types, constants, prototypes
│ ├── main.c // Entry point, argument parsing, dispatch
│ ├── utils.c // Terminal output, prompts, string helpers
│ ├── aur.c // AUR RPC API, HTTP, JSON parsing, URL encode
│ ├── install.c // Package install, AUR clone, makepkg, deps
│ └── update.c // Update native + AUR, version compare
├── scripts/
│ ├── aur_search.rb // Ruby AUR search helper (standalone / called by C)
│ └── deps.rb // Recursive dependency resolver in Ruby
├── obj/ // Compiled object files (.o)
├── Makefile // Build system
├── PKGBUILD // Arch makepkg package descriptor
├── README.md
├── LICENSE.md // MIT License
└── requirementsinst.sh
Runtime Settings
ApmCC+ runtime behaviour can be tuned with flags and environment-level config.
🎨
Color Output
--nocolor
Disable ANSI terminal colors for scripts or minimalist setups.
🔇
Quiet Mode
--quiet
Suppress all non-essential output. Great for automated scripts.
🔍
Verbose Mode
--verbose
Print extra diagnostics — useful when debugging AUR cloning or builds.
🧪
Dry Run
--dry-run
Simulate any command without making changes. Safe testing mode.
🔑
Skip PGP
--skippgpcheck
Pass --skippgpcheck to makepkg. Use when PGP key isn't in keyring.
🏹
AUR Only
--aur-only
Skip pacman native packages and only operate on AUR packages.
💾
Install DB
/var/lib/apm/installed.db
Where APM records installed packages for version tracking and update checks.
Force Reinstall
--force
Reinstall a package even if the version is already current.
Support ApmCC+
If ApmCC+ saves you time on Arch Linux, give it a star on GitHub! It helps the project grow and shows Francesco12o that the work matters. Open issues, submit PRs, or just spread the word to fellow Arch users. 🐧
Install Command
$ git clone https://github.com/Francesco12o/ApmCC- && cd ApmCC- && ./build.sh