Skip to content

Commit 50b9922

Browse files
committed
Add commands
1 parent 301cf24 commit 50b9922

8 files changed

Lines changed: 802 additions & 0 deletions

File tree

‎assets/commands/arch-update.md‎

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
# TAGLINE
2+
3+
Interactive Arch Linux update notifier and applier
4+
5+
# TLDR
6+
7+
Run a **full system update**, including news, orphans, pacnew files, and reboot checks
8+
9+
```arch-update```
10+
11+
**List pending updates** without applying them
12+
13+
```arch-update --list```
14+
15+
Include **AUR development packages** (-git, -svn, and similar) in the update
16+
17+
```arch-update --devel```
18+
19+
Show the latest **Arch Linux news** (default 5 items)
20+
21+
```arch-update --news```
22+
23+
Show the last **10 news posts**
24+
25+
```arch-update --news 10```
26+
27+
Start the **systray applet** and enable it at login
28+
29+
```arch-update --tray --enable```
30+
31+
Enable **periodic update checks** (at boot, then every 6 hours)
32+
33+
```arch-update --check --enable```
34+
35+
Generate a default **configuration file**
36+
37+
```arch-update --gen-config```
38+
39+
# SYNOPSIS
40+
41+
**arch-update** [_OPTION_]
42+
43+
# PARAMETERS
44+
45+
**-c**, **--check**
46+
> Check for available updates, send a desktop notification if any exist, and refresh the systray icon. Combine with **--enable** to start the user systemd timer for periodic checks.
47+
48+
**-l**, **--list**
49+
> Print the list of pending updates and exit.
50+
51+
**-d**, **--devel**
52+
> Include AUR development packages when checking and applying updates.
53+
54+
**-n**, **--news** [_count_]
55+
> Display recent Arch Linux news. _count_ defaults to 5 (or to **NewsNum** in the configuration file).
56+
57+
**-s**, **--services**
58+
> Check for systemd services that need a restart after an upgrade.
59+
60+
**--gen-config**
61+
> Write a default **arch-update.conf**. Add **--force** to overwrite an existing file.
62+
63+
**--show-config**
64+
> Print the current configuration file.
65+
66+
**--edit-config**
67+
> Open the configuration file in the configured editor.
68+
69+
**--tray**
70+
> Start the systray applet. Combine with **--enable** to install an XDG Autostart desktop file so it starts at login.
71+
72+
**-D**, **--debug**
73+
> Print debug traces.
74+
75+
**-V**, **--version**
76+
> Print version information.
77+
78+
**-h**, **--help**
79+
> Print the help message.
80+
81+
# DESCRIPTION
82+
83+
**arch-update** is an interactive update notifier and applier for Arch Linux. With no options it walks through the usual system-maintenance steps from the Arch Wiki: pending news, package upgrades (official repositories, and optionally AUR and Flatpak), orphan packages, old packages in the pacman cache, **pacnew**/**pacsave** files, a pending kernel that needs a reboot, and services that should be restarted after the upgrade.
84+
85+
On a desktop it is typically used through the systray applet: **arch-update --tray --enable** starts the icon and autostarts it at login; **arch-update --check --enable** turns on the user systemd timer (boot, then every 6 hours by default). Clicking the icon runs the full update in a terminal. On a headless machine the same CLI covers listing, checking, and applying updates without the tray.
86+
87+
Privilege elevation is done with **sudo**, **sudo-rs**, **doas**, or **run0**. AUR support uses **paru**, **yay**, or **pikaur** when installed. Desktop notifications require **libnotify**.
88+
89+
# CONFIGURATION
90+
91+
Optional file, read from **$XDG_CONFIG_HOME/arch-update/arch-update.conf** or **~/.config/arch-update/arch-update.conf**. Generate an example with **arch-update --gen-config**. Option names are case-sensitive.
92+
93+
**NoColor**
94+
> Do not colorize output.
95+
96+
**NoVersion**
97+
> Hide version changes when listing pending updates.
98+
99+
**NoAUR**
100+
> Ignore AUR packages.
101+
102+
**NoFlatpak**
103+
> Ignore Flatpak packages.
104+
105+
**NoNotification**
106+
> Do not send desktop notifications.
107+
108+
**NewsNum=**_n_
109+
> How many Arch news items to show (default 5).
110+
111+
**AURHelper=**_paru_|_yay_|_pikaur_
112+
> AUR helper to use. If unset, the first of paru, yay, pikaur found on PATH is used.
113+
114+
**PrivilegeElevationCommand=**_sudo_|_sudo-rs_|_doas_|_run0_
115+
> Privilege-elevation command. If unset, the first of those found on PATH is used.
116+
117+
**KeepOldPackages=**_n_
118+
> Old package versions to keep in the pacman cache (default 3).
119+
120+
**KeepUninstalledPackages=**_n_
121+
> Uninstalled package versions to keep in the cache (default 0).
122+
123+
**DiffProg=**_editor_
124+
> Editor used when processing pacnew files (default **$DIFFPROG**, else **vimdiff**).
125+
126+
The check interval is not in this file: edit the user timer with **systemctl --user edit --full arch-update.timer** and change **OnUnitActiveSec**.
127+
128+
# CAVEATS
129+
130+
Arch Linux (and derivatives that use pacman) only. Applying updates needs a working privilege-elevation command; none installed is a hard error. GNOME Shell has no native systray, so the applet needs an AppIndicator extension. Clicking the tray icon uses **gio** to open a terminal; if no known emulator is installed, install **xdg-terminal-exec** and list one in **~/.config/xdg-terminals.list**. Two instances cannot run at once.
131+
132+
# HISTORY
133+
134+
**arch-update** is written by Robin Candau and released under GPL-3.0-or-later. It is packaged on the AUR as **arch-update**, with **arch-update-bin**, **arch-update-cli**, and **arch-update-git** variants.
135+
136+
# INSTALL
137+
138+
```aur: yay -S arch-update```
139+
140+
<!-- packages: 2026-09-15 -->
141+
142+
# SEE ALSO
143+
144+
[checkupdates](/man/checkupdates)(8), [pacman](/man/pacman)(8), [pacdiff](/man/pacdiff)(8), [paccache](/man/paccache)(8), [paru](/man/paru)(8), [yay](/man/yay)(8), [flatpak](/man/flatpak)(1)
145+
146+
# RESOURCES
147+
148+
```[Source code](https://github.com/Antiz96/arch-update)```
149+
150+
```[Documentation](https://github.com/Antiz96/arch-update/blob/main/README.md)```
151+
152+
<!-- verified: 2026-09-15 -->

‎assets/commands/bough.md‎

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
# TAGLINE
2+
3+
Terminal coding agent that acts by running one JavaScript program per turn
4+
5+
# TLDR
6+
7+
**Start the terminal UI** in a git checkout
8+
9+
```bough```
10+
11+
**Resume** the most recent session
12+
13+
```bough -c```
14+
15+
Run **headless** (stdin in, events out) with no API key, using the echo provider
16+
17+
```printf 'say hello\n' | bough --headless --set llm.plugin=llm-echo```
18+
19+
Start the **web control room**
20+
21+
```bough serve```
22+
23+
Override the **model plugin** for this run
24+
25+
```bough --set llm.plugin=llm-openrouter```
26+
27+
Show the live **plugin row** table
28+
29+
```bough rows```
30+
31+
Print **version**
32+
33+
```bough --version```
34+
35+
# SYNOPSIS
36+
37+
**bough** [_options_]
38+
39+
**bough** _command_ [_args_]
40+
41+
# PARAMETERS
42+
43+
**-c**, **--continue**
44+
> Resume the most recent session.
45+
46+
**-r**, **--resume** [_id_]
47+
> Resume a session by id, or pick from a list.
48+
49+
**--headless**
50+
> Read prompts from stdin and print events on stdout. **--json** emits machine-readable events.
51+
52+
**--set** _key_=_value_
53+
> Override a plugin-row field for this run (for example **llm.plugin=llm-echo** or **llm.model=...**).
54+
55+
**--project** _slug_
56+
> Start a project session whose shell runs in that project's container (macOS / Apple container today).
57+
58+
**--local**
59+
> Local session (default): file tools may write only inside the git checkout **bough** was started in.
60+
61+
**--config** _path_
62+
> Config file (otherwise **./bough.yml**, else **~/.bough/bough.yml**, else the embedded default).
63+
64+
**--web** [_addr_]
65+
> Browser UI (alternative to **bough serve**).
66+
67+
**--verbose**
68+
> Kernel, MCP, and config diagnostics on stderr (also **BOUGH_VERBOSE=1**).
69+
70+
**--version**
71+
> Print **bough** and the version.
72+
73+
**--help**
74+
> Flags, subcommands, and config locations.
75+
76+
# COMMANDS
77+
78+
**serve**
79+
> Web control room for sessions. First visit walks through an API key and a folder.
80+
81+
**rows**
82+
> Print the live plugin-row state table and exit.
83+
84+
**log** [_file_]
85+
> Pretty-print the latest session history. **--raw** prints JSONL.
86+
87+
**sessions**
88+
> List sessions, newest first.
89+
90+
**search** _query_
91+
> Find sessions by content. Prefixes **repo:**, **branch:**, and **since:** narrow results.
92+
93+
**mcp list** | **tools** | **status** | **call**
94+
> Inspect and invoke configured MCP servers.
95+
96+
**wiki install** | **run** | **pending** | **digest** | **check**
97+
> Compile session logs into a local markdown wiki under **~/.bough/wiki**.
98+
99+
**update**
100+
> Pull/rebuild the binary in place and bounce a running web session.
101+
102+
**restart**
103+
> Restart a recorded **--web** session.
104+
105+
# DESCRIPTION
106+
107+
**bough** is a terminal coding agent. Each model turn is one JavaScript program, not a list of single tool calls. The program runs in-process; **tools.view**, **tools.patch**, **tools.bash**, **tools.spawn**, and every MCP tool are ordinary functions, so a patch and the tests that check it can be one step, and the model can branch on results in code.
108+
109+
The provider, loop, tools, TUI, web UI, MCP, hooks, and skills are rows in **bough.yml**. Saving that file mid-session remounts only what changed. Sessions are append-only JSONL under **~/.bough/history**. There is no telemetry; the binary talks to the LLM provider you configure, the MCP servers you add, the public models.dev price list, and GitHub when you run **bough update**.
110+
111+
Started inside a git checkout, file tools may write only under that checkout. Started anywhere else, the session is read-only. Skills use the same **SKILL.md** layout as Claude Code (**~/.claude/skills** and **./.claude/skills**). API keys go in **~/.bough/env** (**ANTHROPIC_API_KEY**, **OPENAI_API_KEY**, **OPENROUTER_API_KEY**, or **CEREBRAS_API_KEY**).
112+
113+
# CONFIGURATION
114+
115+
**./bough.yml** or **~/.bough/bough.yml**
116+
> Plugin rows. Each row has **id**, **plugin**, and optional **config**. Example: set **id: llm** to **plugin: llm-openrouter** and **config.model**.
117+
118+
**~/.bough/env**
119+
> Environment file for provider API keys.
120+
121+
**~/.bough/init.js**
122+
> Startup script that can add tools, commands, and providers.
123+
124+
**~/.bough/hooks/**_event_**/**
125+
> JavaScript hooks for **session-start**, **user-prompt-submit**, **pre-code-exec**, **post-result**, and **stop**. Re-read on every fire.
126+
127+
**~/.bough/history/**
128+
> Append-only session logs.
129+
130+
# CAVEATS
131+
132+
macOS and Linux only; no Windows build. **tools.bash** is not sandboxed: it runs as you, with your files, credentials, and network. File tools refuse paths outside the checkout (including via symlinks), but the shell is not similarly confined. Project-session containers currently need macOS. Local sessions have no per-turn file checkpoints, so rewinding the conversation does not undo edits; use git. Headless unknown subcommands exit 2; a turn error exits 1.
133+
134+
# HISTORY
135+
136+
**bough** is a one-person project by Andrey Lukin, written in Go, licensed Apache-2.0. The name is the word for a tree branch (pronounced like "now", **/baʊ/**): a conversation can fork and the old line stays as a branch.
137+
138+
# SEE ALSO
139+
140+
[claude](/man/claude)(1), [opencode](/man/opencode)(1), [aider](/man/aider)(1), [git](/man/git)(1)
141+
142+
# RESOURCES
143+
144+
```[Source code](https://github.com/andreylukin/bough)```
145+
146+
```[Documentation](https://github.com/andreylukin/bough/blob/main/README.md)```
147+
148+
<!-- verified: 2026-09-15 -->

‎assets/commands/index.txt‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,7 @@ ar.md
307307
arandr.md
308308
arc.md
309309
arch-chroot.md
310+
arch-update.md
310311
arch-wiki.md
311312
arch.md
312313
archdetect.md
@@ -798,6 +799,7 @@ borg.md
798799
borgbackup.md
799800
bosh.md
800801
bottom.md
802+
bough.md
801803
boundary.md
802804
bower.md
803805
bowtie2.md
@@ -8660,15 +8662,20 @@ wikifuse.md
86608662
wikiman.md
86618663
wikit.md
86628664
windres.md
8665+
wine-net.md
86638666
wine-reg-add.md
86648667
wine-reg-copy.md
86658668
wine-reg-delete.md
86668669
wine-reg-query.md
86678670
wine-reg.md
8671+
wine-sc.md
8672+
wine-start.md
8673+
wine-uninstaller.md
86688674
wine.md
86698675
wineboot.md
86708676
winecfg.md
86718677
winedbg.md
8678+
winepath.md
86728679
wineserver.md
86738680
winetricks.md
86748681
winicontopam.md

0 commit comments

Comments
 (0)