An open API service indexing awesome lists of open source software.

https://github.com/koompi/koompi-cli


https://github.com/koompi/koompi-cli

Last synced: 10 months ago
JSON representation

Awesome Lists containing this project

README

          

# Koompi Cli

User-friendly package manager for KhmerOS - a fork of paru

[![koompi](https://img.shields.io/badge/koompi-v2.1.0-blue.svg)](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**