blob: f3fd5a0ab8f82cbad5ab2c9c599bd428d57c0ff5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
# archforge-git
AI-powered TUI for PKGBUILD generation and AUR management.
## Description
ArchForge is a terminal user interface for generating PKGBUILD files from natural language descriptions and managing Arch User Repository packages.
### Features
- **Natural Language Generation**: Describe what you want in plain English, get a PKGBUILD
- **Interactive TUI**: Vim-like keybindings for efficient package management
- **AUR Integration**: Search, install, and manage AUR packages
- **Deployment**: Deploy to AUR, Docker, Flatpak, or Nix
## Installation
### From AUR (recommended)
```bash
# Using yay
yay -S archforge-git
# Using paru
paru -S archforge-git
```
### From source
```bash
git clone https://github.com/archforge/archforge.git
cd archforge
cargo install --path .
```
## Usage
### Generate PKGBUILD from natural language
```bash
archforge "simple hello world program in C"
archforge "firefox with vaapi support"
archforge "neovim with python and lua plugins"
```
### Interactive TUI
```bash
archforge interactive
```
Or simply:
```bash
archforge
```
### Search AUR
```bash
archforge search neovim
archforge search firefox
```
### Build packages
```bash
archforge build PKGBUILD
archforge build --nodeps PKGBUILD
```
### Deploy to various targets
```bash
archforge deploy aur # Deploy to AUR
archforge deploy docker # Build Docker image
archforge deploy flatpak # Build Flatpak bundle
archforge deploy nix # Generate Nix flake
```
## TUI Keybindings
| Key | Action |
|-----|--------|
| `h` / `j` / `k` / `l` | Navigate |
| `i` | Insert mode |
| `:` | Command mode |
| `/` | Search |
| `?` | Help |
| `q` | Quit |
## Configuration
Config file: `~/.config/archforge/config.toml`
```toml
[general]
verbose = false
cache_dir = "~/.cache/archforge"
[build]
makepkg_flags = ["--noconfirm", "--needed"]
parallel_jobs = 4
[aur]
rpc_url = "https://aur.archlinux.org/rpc"
```
## Requirements
- Rust 1.75+
- cargo
- git
- makepkg (for building)
- paru or yay (optional, for AUR helper features)
## License
MIT License
## Contributing
Issues and pull requests are welcome at:
https://github.com/archforge/archforge
|