https://github.com/koompi/koompi-cli
https://github.com/koompi/koompi-cli
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/koompi/koompi-cli
- Owner: koompi
- License: gpl-3.0
- Created: 2025-08-01T16:20:48.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-18T07:54:19.000Z (11 months ago)
- Last Synced: 2025-08-18T09:25:32.708Z (11 months ago)
- Language: Rust
- Size: 7.75 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Koompi Cli
User-friendly package manager for KhmerOS - a fork of paru
[](https://github.com/koompi/koompi)
## Description
**Koompi Cli** is a fork of paru with intuitive English commands while maintaining full backward compatibility. Built upon the excellent [paru](https://github.com/Morganamilo/paru) codebase, koompi preserves all of paru's powerful functiokoompity while introducing simple English commands that eliminate the need to memorize cryptic pacman flags.
This project was **initiated by KOOMPI OS** to make Arch Linux package management more accessible to more users and those who prefer intuitive command syntax.
### Key Features
- **Intuitive English Commands**: Use `koompi install firefox` instead of `paru -S firefox`
- **Full Backward Compatibility**: All existing pacman flags continue to work unchanged
- **AUR Support**: Complete AUR helper functiokoompity inherited from paru
- **KhmerOS Integration**: Optimized for KhmerOS distribution
- **Zero Learning Curve**: Simple English verbs for common operations
## English Commands vs Traditional Flags
| English Command | Traditional Flag | Description |
|----------------|------------------|-------------|
| `koompi install pkg` | `paru -S pkg` | Install a package |
| `koompi update` | `paru -Syu` | Update all packages |
| `koompi search pkg` | `paru -Ss pkg` | Search for packages |
| `koompi remove pkg` | `paru -R pkg` | Remove a package |
| `koompi info pkg` | `paru -Si pkg` | Show package information |
| `koompi list` | `paru -Q` | List installed packages |
| `koompi clean` | `paru -Sc` | Clean package cache |
| `koompi upgrade` | `paru -Syu` | Upgrade all packages |
| `koompi download pkg` | `paru -Sw pkg` | Download package only |
| `koompi reinstall pkg` | `paru -S --needed pkg` | Reinstall package |
| `koompi purge pkg` | `paru -Rns pkg` | Remove package with dependencies |
| `koompi autoremove` | `paru -Rns $(pacman -Qtdq)` | Remove orphaned packages |
| `koompi installed` | `paru -Q` | List installed packages |
| `koompi orphans` | `paru -Qtd` | List orphaned packages |
| `koompi foreign` | `paru -Qm` | List foreign packages |
| `koompi explicit` | `paru -Qe` | List explicitly installed packages |
| `koompi files pkg` | `paru -Ql pkg` | List package files |
| `koompi owns file` | `paru -Qo file` | Find package that owns a file |
| `koompi depends pkg` | `paru -Qi pkg` | Show package dependencies |
| `koompi refresh` | `paru -Sy` | Refresh package databases |
| `koompi mirror-update` | `paru -Syy` | Force refresh package databases |
| `koompi check` | `paru -Dk` | Check package integrity |
| `koompi verify` | `paru -Qk` | Verify package files |
| `koompi cache-info` | `paru -Sc --print` | Show cache information |
## Installation
### For KhmerOS Users
```bash
sudo pacman -S koompi
```
### From Source
```bash
sudo pacman -S --needed base-devel git
git clone https://github.com/koompi/koompi.git
cd koompi
makepkg -si
```
### Building for Development
```bash
git clone https://github.com/koompi/koompi.git
cd koompi
cargo build --release
sudo cp target/release/koompi /usr/local/bin/
```
## Quick Start
### Basic Usage
```bash
# Install a package
koompi install firefox
# Update all packages
koompi update
# Search for packages
koompi search libreoffice
# Remove a package
koompi remove firefox
# Show package information
koompi info firefox
# List all installed packages
koompi list
```
### Advanced Usage (All paru features work)
```bash
# Install from AUR
koompi install spotify
# Upgrade AUR packages only
koompi -Sua
# Interactive search and install
koompi libreoffice
# Build and install from local PKGBUILD
koompi -Bi .
# Download PKGBUILD
koompi -G spotify
```
## Examples
### English Commands
```bash
koompi install firefox thunderbird libreoffice
koompi update
koompi search "office suite"
koompi remove firefox
koompi clean
```
### Traditional Flags (still supported)
```bash
koompi -S firefox thunderbird libreoffice
koompi -Syu
koompi -Ss "office suite"
koompi -R firefox
koompi -Sc
```
## Credits
**Koompi** is built upon the excellent [paru](https://github.com/Morganamilo/paru) project by [Morganamilo](https://github.com/Morganamilo) and contributors. We extend our sincere gratitude to the paru development team for creating such a robust AUR helper.
- **Original Project**: [paru](https://github.com/Morganamilo/paru) by Morganamilo
- **Maintainer**: KOOMPI OS Team
- **Purpose**: KhmerOS package management enhancement
- **License**: GPL-3.0 (same as paru)
## Contributing
We welcome contributions from the KhmerOS and Arch Linux communities:
1. **Bug Reports**: Please open issues on our [GitHub repository](https://github.com/koompi/koompi/issues)
2. **Feature Requests**: Suggest new English commands or improvements
3. **Translations**: Help improve Khmer language support
4. **Documentation**: Contribute to user guides and examples
See [CONTRIBUTING.md](./CONTRIBUTING.md) for detailed contribution guidelines.
## Support
- **Documentation**: Available in both English and Khmer
- **Community**: Join our [Telegram group](https://t.me/khmeros) for support
- **Issues**: Report bugs at [GitHub Issues](https://github.com/koompi/koompi/issues)
## Debugging
Koompi is built on paru, so debugging follows similar patterns:
1. **Check if makepkg works**: If koompi can't build a package, first verify `makepkg` can build it
2. **Enable debug mode**: Set `PARU_DEBUG=1` for verbose output
3. **Check logs**: Review `/var/log/pacman.log` for system-level issues
## Development
### Adding New English Commands
To add new English commands, edit `src/translate.rs`:
```rust
// Add new translations in the CommandTranslator::new() method
translations.insert("newcommand".to_string(), vec!["-NewFlag".to_string()]);
```
### Testing
```bash
# Run tests
cargo test
# Test specific command translations
cargo test -- test_install_translation
# Manual testing
./target/debug/koompi install firefox --dry-run
```
## License
This project is licensed under the GPL-3.0 License - see the [LICENSE](LICENSE) file for details, same as the original paru project.
---
**Made with ❤️ by KOOMPI OS for KhmerOS**