1+ ---
2+
3+ <h2 align="center">🎯 Open Source Programmes ⭐</h2>
4+ <p align="center">
5+ <b>This project is now OFFICIALLY accepted for:</b>
6+ </p>
7+
8+ <div align="center">
9+
10+ 
11+
12+ </div>
13+
14+
115# archpkg-helper
216
317A cross-distro command-line utility that helps you search for packages and generate install commands for native package managers (pacman, AUR, apt, dnf, flatpak, snap). It aims to make discovering and installing software on Linux simpler, regardless of your distribution.
@@ -21,8 +35,10 @@ archpkg-helper is designed to work across Linux distributions. While originally
2135
2236# # Features
2337
38+ - **Purpose-based App Suggestions**: Get app recommendations based on what you want to do (e.g., "video editing", "office work", "programming")
39+ - **Intelligent Query Matching**: Natural language processing to understand user intent (e.g., "apps to edit videos" → video editing)
2440- Search for packages and generate install commands for :
25- - pacman (Arch), AUR, apt (Debian/Ubuntu), dnf (Fedora), flatpak, snap
41+ - pacman (Arch), AUR, apt (Debian/Ubuntu), dnf (Fedora), zypper (openSUSE), flatpak, snap
2642- Cross-distro support (not limited to Arch)
2743- Clear, readable output and errors
2844- One-command setup via `install.sh`
@@ -72,6 +88,11 @@ On Arch and many other distros, system Python may be “externally managed” (P
7288 sudo dnf install pipx
7389 pipx ensurepath
7490 ` ` `
91+ - openSUSE :
92+ ` ` ` sh
93+ sudo zypper install python3-pipx
94+ pipx ensurepath
95+ ` ` `
7596
76972) Install archpkg-helper with pipx
7798- Directly from GitHub :
@@ -136,7 +157,30 @@ This starts a web server at `http://localhost:5000` where you can:
136157
137158Here are some common commands for using the archpkg tool:
138159
139- #### 1. Search for a Package
160+ #### 1. Purpose-based App Suggestions (NEW!)
161+
162+ Get app recommendations based on what you want to do:
163+
164+ ``` sh
165+ # Get video editing apps
166+ archpkg suggest " video editing"
167+
168+ # Get office applications
169+ archpkg suggest " office"
170+
171+ # Get programming tools
172+ archpkg suggest " coding"
173+
174+ # Natural language queries work too!
175+ archpkg suggest " apps to edit videos"
176+ archpkg suggest " programming tools"
177+ archpkg suggest " photo editing"
178+
179+ # List all available purposes
180+ archpkg suggest --list
181+ ```
182+
183+ #### 2. Search for a Package
140184
141185Search for a package across all supported package managers:
142186
@@ -148,6 +192,7 @@ archpkg search firefox
148192This command will search for the ` firefox ` package across multiple package managers (e.g., pacman, AUR, apt).
149193
150194#### 2. Install Multiple Packages (Batch Installation)
195+ #### 3. Install a Package
151196
152197Install multiple packages at once with automatic validation and progress tracking:
153198
@@ -163,7 +208,7 @@ This command will:
163208
164209Batch installation validates all packages first, then proceeds with installation. If any package fails validation, the entire batch is cancelled.
165210
166- #### 3 . Install a Package from AUR (Arch User Repository)
211+ #### 4 . Install a Package from AUR (Arch User Repository)
167212
168213To install from the AUR specifically:
169214
@@ -174,7 +219,7 @@ archpkg install vscode --source aur
174219
175220This installs ` vscode ` from the AUR.
176221
177- #### 4 . Install a Package from Pacman
222+ #### 5 . Install a Package from Pacman
178223
179224To install a package directly using pacman (e.g., on Arch Linux):
180225
@@ -184,6 +229,7 @@ archpkg install firefox --source pacman
184229
185230
186231#### 5. Install from GitHub
232+ #### 6. Remove a Package
187233
188234Install software directly from GitHub repositories:
189235
@@ -245,6 +291,7 @@ You can specify the package manager source using the `--source` flag. Supported
245291- aur (AUR)
246292- apt (Debian/Ubuntu)
247293- dnf (Fedora)
294+ - zypper (openSUSE)
248295- flatpak (Flatpak)
249296- snap (Snap)
250297
@@ -422,6 +469,7 @@ The tool is structured as a **modular Python CLI** with:
422469 - ` aur ` (Arch User Repository)
423470 - ` apt ` (Debian/Ubuntu)
424471 - ` dnf ` (Fedora)
472+ - ` zypper ` (openSUSE)
425473 - ` flatpak `
426474 - ` snap `
427475
@@ -476,6 +524,11 @@ Top-level layout of this repository:
476524archpkg-helper/
477525├── .github/ # issue templates and pull request template
478526├── archpkg/ # Core Python package code (CLI and logic)
527+ │ ├── suggest.py # Purpose-based app suggestions module
528+ │ ├── cli.py # Main CLI interface
529+ │ └── ... # Other modules
530+ ├── data/ # Data files for suggestions
531+ │ └── purpose_mapping.yaml # Purpose-to-apps mapping (community-driven)
479532├── install.sh # One-command installer script (uses pipx)
480533├── pyproject.toml # Build/metadata configuration
481534├── setup.py # Packaging configuration (entry points, deps)
@@ -504,14 +557,39 @@ Contributions are welcome! Please:
5045575 . Open a Pull Request
505558
506559Report bugs or request features via the [ issue tracker] ( https://github.com/AdmGenSameer/archpkg-helper/issues ) .
560+
561+ ### Contributing to Purpose Mappings
562+
563+ The purpose-based suggestions are powered by a community-driven mapping file at ` data/purpose_mapping.yaml ` . You can help improve the suggestions by:
564+
565+ 1 . ** Adding new purposes** : Add new categories of applications (e.g., "security", "education", "gaming")
566+ 2 . ** Adding more apps** : Suggest additional applications for existing purposes
567+ 3 . ** Improving descriptions** : Add better descriptions for applications
568+ 4 . ** Adding synonyms** : Help improve the natural language processing by adding more phrase mappings
569+
570+ To contribute:
571+ 1 . Edit ` data/purpose_mapping.yaml ` to add your suggestions
572+ 2 . Test your changes with ` python -m archpkg.cli suggest "your-purpose" `
573+ 3 . Submit a Pull Request with your improvements
574+
575+ Example contribution:
576+ ``` yaml
577+ # Add to data/purpose_mapping.yaml
578+ security :
579+ - firejail
580+ - tor
581+ - keepassxc
582+ - veracrypt
583+ - wireshark
584+ ` ` `
507585---
508586
509587## 🛣️ Roadmap
510588
511589Here’s what’s planned for future releases of **archpkg-helper**:
512590
513- - 🔧 ** Add support for ` zypper ` (openSUSE)**
514- Extend backend adapters to cover openSUSE users.
591+ - ✅ **Add support for ` zypper` (openSUSE)** - COMPLETED
592+ Extended backend adapters to cover openSUSE users.
515593
516594- ⚡ **Caching layer for faster searches**
517595 Improve performance by reducing repeated lookups across package managers.
@@ -523,7 +601,16 @@ Here’s what’s planned for future releases of **archpkg-helper**:
523601 Build a graphical user interface on top of the CLI for desktop users who prefer point-and-click.
524602
525603---
604+ <h2 align="center">💬 Join Our Community on Discord</h2>
605+
606+
607+ <p align="center">
608+ <a href="https://discord.gg/bN7ycNdCR">
609+ <img src="assets/joinDiscordIcon.png" alt="Admin Discord" width="500"/>
610+ </a>
611+ </p>
612+
526613
527614# # License
528615
529- This project is licensed under the [ Apache License 2.0] ( ./LICENSE ) .
616+ This project is licensed under the [Apache License 2.0](./LICENSE).
0 commit comments