Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1810 commits
Select commit Hold shift + click to select a range
d4c2a0c
Latest
ProfessorManhattan Jan 8, 2025
5adbae4
Latest
ProfessorManhattan Jan 8, 2025
5f20798
Latest
ProfessorManhattan Jan 8, 2025
9cca180
Latest
ProfessorManhattan Jan 8, 2025
ed21aa2
Latest
ProfessorManhattan Jan 8, 2025
3e93482
Latest
ProfessorManhattan Jan 8, 2025
26e7cc4
Latest
ProfessorManhattan Jan 9, 2025
c0de0aa
Latest
ProfessorManhattan Jan 9, 2025
68b8344
Latest
ProfessorManhattan Jan 9, 2025
b828549
Latest
ProfessorManhattan Jan 9, 2025
1624c42
Latest
ProfessorManhattan Jan 9, 2025
5746ecc
Latest
ProfessorManhattan Jan 9, 2025
3ca9cc1
Latest
ProfessorManhattan Jan 9, 2025
d08119d
Latest
ProfessorManhattan Jan 9, 2025
877774a
Latest
ProfessorManhattan Jan 9, 2025
2de78a8
Latest
ProfessorManhattan Jan 9, 2025
1bff313
Latest
ProfessorManhattan Jan 9, 2025
da4f024
Latest
ProfessorManhattan Jan 9, 2025
e7642cf
Latest
ProfessorManhattan Jan 13, 2025
9d07b26
Latest
ProfessorManhattan Jan 13, 2025
666e8ff
Latest
ProfessorManhattan Jan 13, 2025
03104ca
Latest
ProfessorManhattan Jan 13, 2025
8dd8008
Latest
ProfessorManhattan Jan 14, 2025
f89459b
Latest
ProfessorManhattan Jan 14, 2025
f990379
Latest
ProfessorManhattan Jan 14, 2025
5018fcf
Latest
ProfessorManhattan Jan 14, 2025
4c022de
rclone-mount AI improvements
ProfessorManhattan Jan 14, 2025
a9ab13a
Latest
ProfessorManhattan Jan 14, 2025
c7cd9d2
Added improve-code executable
ProfessorManhattan Jan 14, 2025
8fe9fb0
Fixed sgpt improve-code bug
ProfessorManhattan Jan 14, 2025
a43be03
Fixed gpt issue
ProfessorManhattan Jan 14, 2025
5f62c8b
Latest
ProfessorManhattan Jan 14, 2025
72b3793
Latest
ProfessorManhattan Jan 14, 2025
53a3136
improve-code template
ProfessorManhattan Jan 14, 2025
7d3df60
ChatGPT function
ProfessorManhattan Jan 14, 2025
d4746ea
Latest
ProfessorManhattan Jan 14, 2025
ae829ce
Latest
ProfessorManhattan Jan 14, 2025
2bb781e
Latest
ProfessorManhattan Jan 14, 2025
ca301da
Added homeassistant-cli
ProfessorManhattan Jan 15, 2025
88bea6d
s3 mount updates
ProfessorManhattan Jan 15, 2025
0ccd626
Latest
ProfessorManhattan Jan 15, 2025
2d71564
Latest
ProfessorManhattan Jan 15, 2025
f57d4b6
Latest
ProfessorManhattan Jan 15, 2025
bac789e
Latest
ProfessorManhattan Jan 15, 2025
0187d87
Latest
ProfessorManhattan Jan 15, 2025
5d80a4c
Latest
ProfessorManhattan Jan 15, 2025
bc993b2
Latest
ProfessorManhattan Jan 16, 2025
fe645f1
Latest
ProfessorManhattan Jan 16, 2025
b22f269
Latest
ProfessorManhattan Jan 16, 2025
b4c6f24
Added Homebrew bin to /etc/profile
ProfessorManhattan Jan 16, 2025
22a9d73
Latest
ProfessorManhattan Jan 16, 2025
e624c89
Latest
ProfessorManhattan Jan 16, 2025
d85a367
Latest
ProfessorManhattan Jan 16, 2025
d5fc1f0
Latest
ProfessorManhattan Jan 16, 2025
4a97d9f
Latest
ProfessorManhattan Jan 16, 2025
a345ddb
Latest
ProfessorManhattan Jan 17, 2025
478f38f
Update executable_rclone-mount
ProfessorManhattan Jan 17, 2025
c05aba9
Added AIHawk executable for AI job searches
ProfessorManhattan Jan 18, 2025
7b205a7
Added aihawk run script.
ProfessorManhattan Jan 18, 2025
4ae943b
Added aihawk
ProfessorManhattan Jan 19, 2025
10377b7
Update private_config.tmpl
ProfessorManhattan Jan 19, 2025
6e4376e
Merge branch 'master' of github.com:megabyte-labs/install.doctor
ProfessorManhattan Jan 19, 2025
a2dcb77
Latest
ProfessorManhattan Jan 19, 2025
742849c
Minor fixarino
ProfessorManhattan Jan 28, 2025
ebce5da
Latest
ProfessorManhattan Jan 28, 2025
01f83a2
Merge branch 'master' of https://github.com/megabyte-labs/install.doctor
ProfessorManhattan Jan 28, 2025
6b0dd52
Latest
ProfessorManhattan Jan 28, 2025
11f0b7f
Latest
ProfessorManhattan Jan 28, 2025
20b43b2
Latest
ProfessorManhattan Jan 28, 2025
80b3717
Latest
ProfessorManhattan Jan 28, 2025
3c2b60f
Latest
ProfessorManhattan Jan 29, 2025
db4fe09
Handle case where root user is deploying script
ProfessorManhattan Jan 29, 2025
bdbaa87
Pruned TODO, added some software
ProfessorManhattan Jan 29, 2025
ad8c46a
Pruned TODO.md
ProfessorManhattan Jan 29, 2025
8b5b0b4
Latest
ProfessorManhattan Jan 29, 2025
77c3320
Added host-specific secrets
ProfessorManhattan Jan 29, 2025
f092225
Added TODO.md back in
ProfessorManhattan Jan 29, 2025
9649677
Removed some items from TODO.md
ProfessorManhattan Jan 29, 2025
700652c
Latest
ProfessorManhattan Jan 29, 2025
0eef0ce
Updated root user restart logic
ProfessorManhattan Jan 29, 2025
1139969
Updated apple call
ProfessorManhattan Jan 29, 2025
4ce1cf6
Latest
ProfessorManhattan Jan 29, 2025
a6c124b
Bug fix
ProfessorManhattan Jan 29, 2025
d39dc39
Fixed root user flow
ProfessorManhattan Jan 29, 2025
0985d71
Linuxbrew fix
ProfessorManhattan Jan 29, 2025
b6e0f06
Fixed SSH config error
ProfessorManhattan Jan 29, 2025
d11f7a7
Changed to hostname-specific secrets
ProfessorManhattan Jan 29, 2025
a92e5d5
Updated secrets location
ProfessorManhattan Jan 29, 2025
194bbc2
Latest
ProfessorManhattan Jan 29, 2025
3788445
Latest
ProfessorManhattan Jan 29, 2025
921c82d
Latest
ProfessorManhattan Jan 29, 2025
f8d7fa5
Latest
ProfessorManhattan Jan 29, 2025
57dde68
Latest
ProfessorManhattan Jan 29, 2025
39f3563
Latest
ProfessorManhattan Jan 29, 2025
17f0cf7
Latest
ProfessorManhattan Jan 29, 2025
99634cd
Latest
ProfessorManhattan Jan 29, 2025
b790ffa
Latest
ProfessorManhattan Jan 29, 2025
bf2c159
Latest
ProfessorManhattan Jan 29, 2025
314454d
Latest
ProfessorManhattan Jan 29, 2025
5c8195e
Latest
ProfessorManhattan Jan 29, 2025
71d2bd8
Latest
ProfessorManhattan Jan 29, 2025
2167459
Latest
ProfessorManhattan Jan 29, 2025
ff8e8d9
Latest
ProfessorManhattan Jan 29, 2025
ecbc318
Latest
ProfessorManhattan Jan 29, 2025
a70241e
Latest
ProfessorManhattan Jan 29, 2025
68ffa98
Latest
ProfessorManhattan Jan 29, 2025
03c7e5a
Latest
ProfessorManhattan Jan 29, 2025
29838ff
Latest
ProfessorManhattan Jan 29, 2025
3fdcbf6
Latest
ProfessorManhattan Jan 29, 2025
945bb8c
Latest
ProfessorManhattan Jan 29, 2025
4359725
Latest
ProfessorManhattan Jan 29, 2025
3d52f40
Latest
ProfessorManhattan Jan 29, 2025
95426a3
Latest
ProfessorManhattan Jan 29, 2025
2af38df
Latest
ProfessorManhattan Jan 29, 2025
abc443b
Latest
ProfessorManhattan Jan 29, 2025
baa8018
Latest
ProfessorManhattan Jan 29, 2025
35314b5
Latest
ProfessorManhattan Jan 29, 2025
20cef4a
Latest
ProfessorManhattan Jan 29, 2025
c7b3d85
Latest
ProfessorManhattan Jan 29, 2025
fc7a701
Latest
ProfessorManhattan Jan 29, 2025
344c302
Latest
ProfessorManhattan Jan 29, 2025
0537c70
Latest
ProfessorManhattan Jan 29, 2025
e4ffbc5
Added package.jsons for app
ProfessorManhattan Jan 30, 2025
ce419e2
Latest
ProfessorManhattan Jan 30, 2025
8326538
Latest
ProfessorManhattan Jan 30, 2025
748ec4f
Latest
ProfessorManhattan Jan 30, 2025
748829a
Latest
ProfessorManhattan Jan 30, 2025
f5ca732
Latest
ProfessorManhattan Jan 30, 2025
30737da
Latest
ProfessorManhattan Jan 30, 2025
e405943
Latest
ProfessorManhattan Jan 30, 2025
bb50cc1
Latest
ProfessorManhattan Jan 30, 2025
54c185a
Latest
ProfessorManhattan Jan 30, 2025
de7a46c
Latest
ProfessorManhattan Jan 30, 2025
1e7e95a
Latest
ProfessorManhattan Jan 30, 2025
a1d68e3
Latest
ProfessorManhattan Jan 30, 2025
ddc25bb
Latest
ProfessorManhattan Jan 30, 2025
a34b515
Fixed various errors on Ubuntu
ProfessorManhattan Jan 31, 2025
16ac1b6
Latest
ProfessorManhattan Jan 31, 2025
5518dc9
Latest
ProfessorManhattan Jan 31, 2025
3b7a894
Latest
ProfessorManhattan Jan 31, 2025
cf09e29
Latest
ProfessorManhattan Jan 31, 2025
2be57ab
Latest
ProfessorManhattan Jan 31, 2025
e31b3fb
Latest
ProfessorManhattan Jan 31, 2025
59650a4
Latest
ProfessorManhattan Jan 31, 2025
c051118
Latest
ProfessorManhattan Jan 31, 2025
3ba5e66
Latest
ProfessorManhattan Feb 1, 2025
40def24
Latest
ProfessorManhattan Feb 1, 2025
24c283b
Latest
ProfessorManhattan Feb 1, 2025
557186a
Latest
ProfessorManhattan Feb 1, 2025
2e413da
Latest
ProfessorManhattan Feb 2, 2025
0ba1ff5
Latest
ProfessorManhattan Feb 4, 2025
1615c27
Latest
ProfessorManhattan Feb 4, 2025
ae0eb09
Latest
ProfessorManhattan Feb 4, 2025
382a8fb
Latest
ProfessorManhattan Feb 7, 2025
bf5c079
Latest
ProfessorManhattan Feb 7, 2025
680048b
Latest
ProfessorManhattan Feb 7, 2025
d926c5e
Latest
ProfessorManhattan Feb 7, 2025
67c4a81
Latest
ProfessorManhattan Feb 7, 2025
73e0dc3
Added Arc browser to default installs
ProfessorManhattan Feb 8, 2025
2ba6fe6
Fixed post-scripts
ProfessorManhattan Feb 8, 2025
485e922
Added DEBUG log statements
ProfessorManhattan Feb 8, 2025
bdb8af4
Added better handling of warpify
ProfessorManhattan Feb 8, 2025
520b361
Latest
ProfessorManhattan Feb 8, 2025
c761e72
Fixed ownership issue
ProfessorManhattan Feb 8, 2025
7eb5187
Fixed unbound variable issue
ProfessorManhattan Feb 8, 2025
cd9b907
Latest
ProfessorManhattan Feb 8, 2025
ec33275
Fixed debug statement
ProfessorManhattan Feb 8, 2025
33726c0
Latest
ProfessorManhattan Feb 8, 2025
dea15e3
Latest
ProfessorManhattan Feb 8, 2025
5a053c4
Latest
ProfessorManhattan Feb 8, 2025
459d06e
Latest
ProfessorManhattan Feb 9, 2025
38ed61a
Latest
ProfessorManhattan Feb 9, 2025
26aa6c3
Latest
ProfessorManhattan Feb 9, 2025
601498b
⚙️ chore(config) remove shellcheck extension from list
ProfessorManhattan Feb 9, 2025
5cb0f6e
fix: latest
ProfessorManhattan Feb 9, 2025
99d4a04
✨ feat(ssh): add ssh permissions function
ProfessorManhattan Feb 12, 2025
9b2e85f
Latest
ProfessorManhattan Feb 12, 2025
7d8a91c
Latest
ProfessorManhattan Feb 12, 2025
1136912
Latest
ProfessorManhattan Feb 12, 2025
3fae990
Latest
ProfessorManhattan Feb 13, 2025
c61f420
Latest
ProfessorManhattan Feb 14, 2025
d77ea08
Latest
ProfessorManhattan Feb 24, 2025
75deecc
Merge branch 'master' of https://github.com/megabyte-labs/install.doctor
ProfessorManhattan Feb 24, 2025
bb69ed8
Latest
ProfessorManhattan Feb 26, 2025
79c87a0
┌ open-commit
ProfessorManhattan Feb 26, 2025
657bb06
Add home/Library/Preferences/com.lowtechguys.Clop.plist
ProfessorManhattan Feb 28, 2025
d8595bd
┌ open-commit
ProfessorManhattan Feb 28, 2025
9ddadba
Latest
ProfessorManhattan Feb 28, 2025
5a4d5b4
┌ open-commit
ProfessorManhattan Feb 28, 2025
8b5fbe9
Latest
ProfessorManhattan Mar 2, 2025
121cebd
┌ open-commit
ProfessorManhattan Mar 2, 2025
0cec6b6
Latest
ProfessorManhattan Mar 7, 2025
1a4783c
┌ open-commit
ProfessorManhattan Mar 7, 2025
6c88282
Add NixOS installation script and new Figma plugin
ProfessorManhattan Mar 27, 2025
d231485
┌ open-commit
ProfessorManhattan Mar 27, 2025
4c1f6b5
Remove outdated CLI and website links- Remove outdated links from CLI…
ProfessorManhattan Mar 27, 2025
48314f0
┌ open-commit
ProfessorManhattan Mar 27, 2025
bca2031
Remove outdated website links in INSPIRATION.md
ProfessorManhattan Mar 27, 2025
4fdedd8
┌ open-commit
ProfessorManhattan Mar 27, 2025
f7979fa
Latest
ProfessorManhattan Apr 8, 2025
e84208d
┌ open-commit
ProfessorManhattan Apr 8, 2025
d74f2d1
Latest
ProfessorManhattan Apr 8, 2025
b385d17
┌ open-commit
ProfessorManhattan Apr 8, 2025
47e14e7
Latest
ProfessorManhattan May 10, 2025
afa6ef2
Merge branch 'master' of https://github.com/HeyMegabyte/install.doctor
ProfessorManhattan May 10, 2025
4468db4
Latest
ProfessorManhattan May 12, 2025
8ee1864
Latest
ProfessorManhattan May 16, 2025
f8ea632
Adding bash_profile.
ProfessorManhattan Mar 11, 2022
9a1ff6d
Latest
ProfessorManhattan May 17, 2025
173c596
Latest
ProfessorManhattan Jun 3, 2025
c9ab8cf
Quit rclone-mount if macFUSE not available.
ProfessorManhattan Jul 5, 2025
65495e6
Merge branch 'master' of github.com:megabyte-labs/install.doctor
ProfessorManhattan Jul 9, 2025
28ce475
Latest
ProfessorManhattan Jul 9, 2025
12081e0
Merge branch 'master' of github.com:megabyte-labs/install.doctor
ProfessorManhattan Jul 22, 2025
8f7bb8a
Latest
ProfessorManhattan Aug 17, 2025
1feec6c
Add new box images for various websites
ProfessorManhattan Aug 18, 2025
80cc061
Latest
ProfessorManhattan Aug 21, 2025
b2374db
Merge branch 'master' of https://github.com/HeyMegabyte/install.doctor
ProfessorManhattan Aug 21, 2025
f029700
Latest
ProfessorManhattan Aug 31, 2025
c6fcb4e
Update executable_zfs-disk-restore
ProfessorManhattan Sep 2, 2025
56a23b7
Create executable_pve9-post-install
ProfessorManhattan Sep 2, 2025
7d768d8
Create executable_prep-pve9-optane
ProfessorManhattan Sep 2, 2025
820d1e9
Update executable_prep-pve9-optane
ProfessorManhattan Sep 2, 2025
b80e492
Update executable_zfs-disk-backup
ProfessorManhattan Sep 2, 2025
2ce2b7d
Create executable_pve-git-sync
ProfessorManhattan Sep 2, 2025
7c55d56
Update executable_zfs-disk-restore
ProfessorManhattan Sep 2, 2025
d26a9f1
Update executable_zfs-disk-restore
ProfessorManhattan Sep 2, 2025
9589bb2
Update executable_pve-git-sync
ProfessorManhattan Sep 2, 2025
c4929cc
Update executable_zfs-r2
ProfessorManhattan Sep 2, 2025
89cdf06
Latest
ProfessorManhattan Sep 4, 2025
4d16b42
Merge branch 'master' of https://github.com/HeyMegabyte/install.doctor
ProfessorManhattan Sep 4, 2025
8762d1b
Latest
ProfessorManhattan Sep 5, 2025
3f6fa75
Latest
ProfessorManhattan Sep 5, 2025
45565ff
Latest
ProfessorManhattan Sep 7, 2025
55feb30
Added Bash script prompts
ProfessorManhattan Sep 7, 2025
d5f8887
Latest
ProfessorManhattan Sep 7, 2025
46c52fd
Latest
ProfessorManhattan Sep 25, 2025
c6265e0
Latest
ProfessorManhattan Sep 25, 2025
9a20e9b
Update extensions.json
ProfessorManhattan Oct 3, 2025
2294843
Create cloudflared-opnsense.sh
ProfessorManhattan Oct 4, 2025
b877ae3
Latest
ProfessorManhattan Oct 6, 2025
6031f50
Remove app folder
openhands-agent Oct 13, 2025
b95de42
Fix multiple install.doctor script errors
openhands-agent Oct 13, 2025
5185f3d
Configure rclone S3 mounts for user access without sudo
openhands-agent Oct 13, 2025
e394d9e
Merge branch 'master' of https://github.com/HeyMegabyte/install.doctor
ProfessorManhattan Oct 13, 2025
ef6b5f7
Update .bash_profile
ProfessorManhattan Oct 13, 2025
b162363
Latest
ProfessorManhattan Oct 13, 2025
46878e7
Merge branch 'master' of https://github.com/HeyMegabyte/install.doctor
ProfessorManhattan Oct 13, 2025
374a41a
Latest
ProfessorManhattan Oct 13, 2025
ceeb0ee
Fix issue #159: Pre-populate Navi Cheatsheets
openhands-agent Oct 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .bash_profile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
test
Binary file added .config/assets/box/bestwebapps.net-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/enviedsolutions.com-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/gitl.ink-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/gitsync.org-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/install.doctor-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/jumpusb.com-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/linkbl.ink-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/lovewebsites.org-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/megabyte.space-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/musicblobs.com-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/strictlint.com-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/thebestsites.com-box.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .config/assets/box/videoblobs.com-box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion .config/docs/common/contributing/header.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
<center><h1 align="center">Contributing Guide</h1></center>
</div>

First of all, thanks for visiting this page 😊 ❤️ ! We are *stoked* that you may be considering contributing to this project. You should read this guide if you are considering creating a pull request or plan to modify the code for your own purposes.
First of all, thanks for visiting this page 😊 ❤️ ! We are _stoked_ that you may be considering contributing to this project. You should read this guide if you are considering creating a pull request or plan to modify the code for your own purposes.
10 changes: 5 additions & 5 deletions .config/docs/common/contributing/styleguides.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ All code projects have their own style. Coding style will vary from coder to cod

Style guides are generally written for a specific language but a great place to start learning about the best coding practices is on [Google Style Guides](https://google.github.io/styleguide/). Follow the link and you will see style guides for most popular languages. We also recommend that you look through the following style guides, depending on what language you are coding with:

* [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript)
* [Angular Style Guide](https://angular.io/guide/styleguide)
* [Effective Go](https://go.dev/doc/effective_go)
* [PEP 8 Python Style Guide](https://www.python.org/dev/peps/pep-0008/)
* [Git Style Guide](https://github.com/agis/git-style-guide)
- [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript)
- [Angular Style Guide](https://angular.io/guide/styleguide)
- [Effective Go](https://go.dev/doc/effective_go)
- [PEP 8 Python Style Guide](https://www.python.org/dev/peps/pep-0008/)
- [Git Style Guide](https://github.com/agis/git-style-guide)

For more informative links, refer to the [GitHub Awesome Guidelines List](https://github.com/Kristories/awesome-guidelines).

Expand Down
10,636 changes: 10,635 additions & 1 deletion .config/docs/local/package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .config/docs/readme-playbook/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Welcome to a new way of doing things. Born out of complete paranoia and a relent

Gas Station a collection of Ansible playbooks, configurations, scripts, and roles meant to provision computers and networks with the "best of GitHub". By leveraging Ansible, you can provision your whole network relatively fast in the event of a disaster or scheduled network reset. This project is also intended to increase the security of your network by allowing you to frequently wipe, reinstall, and re-provision your network, bringing it back to its original state. This is done by backing up container storage volumes (like database files and Docker volumes) to encrypted S3 buckets, storing configurations in encrypted git repositories, and leveraging GitHub-sourced power tools to make the job easy-peasy.

This project started when a certain somebody changed their desktop wallpaper to an _cute_ picture of a cat 🐱 when, all of a sudden, their computer meowed. Well, it actually started before that but no one believes someone who claims that time travelers hacked them on a regular basis. *Tip: If you are stuck in spiritual darkness involving time travelers, save yourself some headaches by adopting an other-people first mentality that may include volunteering, tithing, and surrendering to Jesus Christ.* Anyway, enough preaching!
This project started when a certain somebody changed their desktop wallpaper to an _cute_ picture of a cat 🐱 when, all of a sudden, their computer meowed. Well, it actually started before that but no one believes someone who claims that time travelers hacked them on a regular basis. _Tip: If you are stuck in spiritual darkness involving time travelers, save yourself some headaches by adopting an other-people first mentality that may include volunteering, tithing, and surrendering to Jesus Christ._ Anyway, enough preaching!

Gas Station is:

Expand Down
2 changes: 1 addition & 1 deletion .config/docs/readme-playbook/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ To setup Qubes, run the following on a fresh install in dom0:

```shell
qvm-run --pass-io sys-firewall "curl -sSL https://install.doctor/qubes" > ./setup.sh && bash ./setup.sh
```
```
4 changes: 2 additions & 2 deletions .config/flake8.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[flake8]
exclude = .autodoc, .cache, .common, .config, .git, .modules, .npm, .pnpm-store, .shared, .task, .venv, .vscode, build, dist, node_modules, roles, venv
ignore = E402
exclude = ".autodoc, .cache, .common, .config, .git, .modules, .npm, .pnpm-store, .shared, .task, .venv, .vscode, build, dist, node_modules, roles, venv"
ignore = "E402"
max-line-length = 120
4 changes: 2 additions & 2 deletions .config/husky/prepare-commit-msg
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ if [ -f "$(dirname "$0")/_/husky.sh" ]; then
logger info 'This git hook is configured to run even when --no-verify is used. In order to bypass this prompt, use the -n flag instead.'
logger info 'Opening a `git commit` dialog'
if ! type pnpx > /dev/null && type npm > /dev/null; then
npm install -g pnpm
npm install --no-progress -g pnpm

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The npm install command is being run with the --no-progress flag, which suppresses the progress bar. This might not be ideal for all users as it could make it harder to understand what's happening during the installation process. Consider removing this flag or making its usage configurable.

- npm install --no-progress -g pnpm
+ npm install -g pnpm

elif ! type pnpx > /dev/null; then
logger error '`pnpm` or `npm` must be installed'
fi
if ! type git-cz &> /dev/null; then
pnpm install -g commitizen
pnpm install --no-progress -g commitizen

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

Similar to the previous comment, the pnpm install command is also being run with the --no-progress flag. Consider removing this flag or making its usage configurable.

- pnpm install --no-progress -g commitizen
+ pnpm install -g commitizen

fi
exec < /dev/tty && (git-cz --hook || true)
fi
Expand Down
31 changes: 10 additions & 21 deletions .config/log
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
# If the `docker` environment variable is not set, the script / library will ensure both Gum and Glow are installed.

# @description Installs glow (a markdown renderer) from GitHub releases
# @example installGlow
installGlow() {
# TODO: Add support for other architecture types
if [ -d '/Applications' ] && [ -d '/Library' ] && [ -d '/Users' ]; then
Expand Down Expand Up @@ -57,13 +56,20 @@ installGlow() {
}

# @description Installs gum (a logging CLI) from GitHub releases
# @example installGum
installGum() {
# TODO: Add support for other architecture types
if [ -d '/Applications' ] && [ -d '/Library' ] && [ -d '/Users' ]; then
GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.4.0/gum_0.4.0_Darwin_x86_64.tar.gz"
if [ "$(uname -r)" == "arm64" ]; then
GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.14.5/gum_0.14.5_Darwin_arm64.tar.gz"
else
GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.14.5/gum_0.14.5_Darwin_x86_64.tar.gz"
fi
elif [ -f '/etc/ubuntu-release' ] || [ -f '/etc/debian_version' ] || [ -f '/etc/redhat-release' ] || [ -f '/etc/SuSE-release' ] || [ -f '/etc/arch-release' ] || [ -f '/etc/alpine-release' ]; then
GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.4.0/gum_0.4.0_linux_x86_64.tar.gz"
if [ "$(uname -r)" == "arm64" ]; then
GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.14.5/gum_0.14.5_Linux_arm64.tar.gz"
else
GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.14.5/gum_0.14.5_Linux_x86_64.tar.gz"
fi
Comment on lines 59 to +72

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The code checks for the architecture of the system and downloads the appropriate version of Gum. However, it assumes that only arm64 and x86_64 architectures are possible. This could lead to issues if run on a different architecture. Consider adding a default case or error handling for unsupported architectures.

  if [ "$(uname -r)" == "arm64" ]; then
    GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.14.5/gum_0.14.5_Darwin_arm64.tar.gz"
  else
+   if [ "$(uname -r)" == "x86_64" ]; then
      GUM_DOWNLOAD_URL="https://github.com/charmbracelet/gum/releases/download/v0.14.5/gum_0.14.5_Darwin_x86_64.tar.gz"
+   else
+     echo "Unsupported architecture: $(uname -r)"
+     exit 1
+   fi
  fi

fi
if type curl &> /dev/null; then
if { [ -d '/Applications' ] && [ -d '/Library' ] && [ -d '/Users' ]; } || [ -f '/etc/ubuntu-release' ] || [ -f '/etc/debian_version' ] || [ -f '/etc/redhat-release' ] || [ -f '/etc/SuSE-release' ] || [ -f '/etc/arch-release' ] || [ -f '/etc/alpine-release' ]; then
Expand Down Expand Up @@ -117,7 +123,6 @@ if [ -n "$SEMANTIC_RELEASE" ]; then
fi

# @description Logs using Node.js
# @example logger info "An informative log"
logger() {
if [ "$1" == 'error' ]; then
"$GUM_PATH" style --border="thick" "$("$GUM_PATH" style --foreground="#ff0000" "✖") $("$GUM_PATH" style --bold --background="#ff0000" --foreground="#ffffff" " ERROR ") $("$GUM_PATH" style --bold "$(format "$2")")"
Expand Down Expand Up @@ -171,7 +176,6 @@ format() {
}

# @description Display prompt that allows you to choose between options
# @example RESPONSE="$(.config/log choose "file.png" "another-file.jpg")"
choose() {
if type gum &> /dev/null; then
CHOOSE_ARGS="gum choose"
Expand All @@ -185,7 +189,6 @@ choose() {
}

# @description Display a confirmation prompt that returns an exit code if "No" is selected
# @example RESPONSE="$(.config/log confirm "Are you sure?" "Yeah" "Naa")"
confirm() {
if type gum &> /dev/null; then
GUM_OPTS=""
Expand All @@ -211,7 +214,6 @@ confirm() {
}

# @description Logs an error message
# @example .config/log error "Something happened!"
error() {
if [ -z "$NO_LOGGING" ]; then
if [ -n "$ENHANCED_LOGGING" ]; then
Expand All @@ -223,7 +225,6 @@ error() {
}

# @description Display a filterable prompt that is populated with options from a text file
# @example echo Strawberry >> flavors.text && echo Banana >> flavors.text && RESPONSE="$(.config/log filter flavors.txt)"
filter() {
if type gum &> /dev/null; then
TMP="$(mktemp)"
Expand All @@ -234,7 +235,6 @@ filter() {
}

# @description Logs an info message
# @example .config/log info "Here is some information"
info() {
if [ -z "$NO_LOGGING" ]; then
if [ -n "$ENHANCED_LOGGING" ]; then
Expand All @@ -246,7 +246,6 @@ info() {
}

# @description Displays an input with masked characters
# @example INPUT="$(.config/log input 'Enter the value..')"
input() {
if type gum &> /dev/null; then
if [ -n "$1" ]; then
Expand All @@ -260,8 +259,6 @@ input() {
}

# @description Logs a message written in markdown
# @example .config/log md "[styled_link](https://google.com)"
# @example .config/log md mymarkdown/file.md
md() {
if [ ! -f "$1" ]; then
echo "ERROR: A markdown file must be passed in as the parameter" && exit 1
Expand All @@ -272,7 +269,6 @@ md() {
}

# @description Displays an input with masked characters
# @example PASSWORD="$(.config/log password 'Enter the Ansible vault password')"
password() {
if type gum &> /dev/null; then
if [ -n "$1" ]; then
Expand All @@ -286,7 +282,6 @@ password() {
}

# @description Logs a message that describes a prompt
# @example .config/log prompt "Enter text into the following prompt"
prompt() {
if [ -z "$NO_LOGGING" ]; then
if [ -n "$ENHANCED_LOGGING" ]; then
Expand All @@ -298,7 +293,6 @@ prompt() {
}

# @description Display a spinner that stays until a command is completed
# @example .config/log spin "brew install yq" "Installing yq..")"
spin() {
if type gum &> /dev/null; then
if [ -n "$1" ] && [ -n "$2" ]; then
Expand All @@ -314,7 +308,6 @@ spin() {
}

# @description Logs a message that starts with a star emoji
# @example .config/log star "Congratulations"
star() {
if [ -z "$NO_LOGGING" ]; then
if [ -n "$ENHANCED_LOGGING" ]; then
Expand All @@ -326,7 +319,6 @@ star() {
}

# @description Logs a message at the beginning of a task
# @example .config/log start "Starting the process.."
start() {
if [ -z "$NO_LOGGING" ]; then
if [ -n "$ENHANCED_LOGGING" ]; then
Expand All @@ -338,7 +330,6 @@ start() {
}

# @description Logs a success message
# @example .config/log success "Yay!"
success() {
if [ -z "$NO_LOGGING" ]; then
if [ -n "$ENHANCED_LOGGING" ]; then
Expand All @@ -350,7 +341,6 @@ success() {
}

# @description Logs a warning message
# @example .config/log warn "Just so you know.."
warn() {
if [ -z "$NO_LOGGING" ]; then
if [ -n "$ENHANCED_LOGGING" ]; then
Expand All @@ -362,7 +352,6 @@ warn() {
}

# @description Displays a multi-line prompt for text input
# @example .config/log write "Write something..")"
write() {
if type gum &> /dev/null; then
if [ -n "$1" ]; then
Expand Down
2 changes: 1 addition & 1 deletion .config/taskfiles/ansible/Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ tasks:
sh: jq --arg collections "$(yq eval -o=json '.collections' {{.REQUIREMENTS_PATH}})" '.{{.COLLECTION_DEPS}} = ($collections | fromjson) |
.{{.COLLECTION_DEPS}}[] | "<a href=\"" + .source + "/" + (.name | split(".") | join("/")) + "\" title=\"" + .name +
" collection on Ansible Galaxy\" target=\"_blank\"><img alt=\"" + .name + " Ansible Galaxy badge\"
src=\"https://img.shields.io/badge/Ansible%20Galaxy-" + .name + "-000000?logo=ansible&logoColor=white&style=for-the-badge\"></a>"'
src=\"https://img.shields.io/badge/Ansible%20Galaxy-" + .name + "-000000?logo=ansible&logoColor=white&style=for-the-badge\" /></a>"'
-r {{.VARIABLES_PATH}} | jq --raw-input --slurp 'split("\n") | .[0:((. | length) - 1)]'
TMP:
sh: mktemp
Expand Down
5 changes: 5 additions & 0 deletions .config/taskfiles/common/Taskfile-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,11 @@ tasks:
- >
readme generate --headingPrefix '{}' --silent --config .variables.json
--input ".config/docs/{{.README_TEMPLATE}}"
- |
if [ -f docs/img/logo-full.png ]; then
sed -i 's/\/-\/raw\/master\/logo.png/\/-\/raw\/master\/docs\/img\/logo-full.png/' README.md
sed -i 's/width="148" height="148"/height="69"/' README.md
fi
Comment on lines +259 to +263

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The use of sed -i for in-place editing is not portable across all systems. It behaves differently on macOS and Linux. On macOS, sed -i requires an extension to be provided. If you want to make this script more portable, consider using a different approach.

Here's a way to do it that should work on both Linux and macOS:

- sed -i 's/\/-\/raw\/master\/logo.png/\/-\/raw\/master\/docs\/img\/logo-full.png/' README.md
- sed -i 's/width="148" height="148"/height="69"/' README.md
+ sed -i.bak 's/\/-\/raw\/master\/logo.png/\/-\/raw\/master\/docs\/img\/logo-full.png/' README.md && rm README.md.bak
+ sed -i.bak 's/width="148" height="148"/height="69"/' README.md && rm README.md.bak

This change uses the -i.bak option to create a backup file during the operation, which is then immediately removed. This should work on both Linux and macOS.

- task: markdown:scrub
vars:
SCRUB_FILE: README.md
Expand Down
6 changes: 3 additions & 3 deletions .config/taskfiles/common/Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,10 +134,10 @@ tasks:
sh: mktemp
cmds:
- |
curl -sSL '{{.MODEL_TASKFILE}}' > '{{.MODEL_TMP}}'
export ZXXXY="$(yq e '.' {{.MODEL_TMP}})"
curl -sSL '{{.MODEL_TASKFILE}}' > '{{.MODEL_TMP}}.yml'
export ZXXXY="$(yq e '.' {{.MODEL_TMP}}.yml)"
yq e -i '. | .vars = (env(ZXXXY) | .vars) | .env = (env(ZXXXY) | .env)' Taskfile.yml
yq eval-all -i 'select(fileIndex == 0) * select(fileIndex == 1)' '{{.MODEL_TMP}}' Taskfile.yml
yq eval-all -i 'select(fileIndex == 0) * select(fileIndex == 1)' '{{.MODEL_TMP}}.yml' Taskfile.yml
Comment on lines +137 to +140

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The use of yq command here seems to be a bit complex and could potentially lead to issues if the environment variable ZXXXY is not set correctly or if it contains unexpected data. It would be better to handle errors and edge cases more gracefully.

Consider adding error checking after each command execution to ensure that each step is successful before proceeding to the next one. This will make your script more robust and easier to debug in case of failures.

Here's an example of how you might add error checking:

-        curl -sSL '{{.MODEL_TASKFILE}}' > '{{.MODEL_TMP}}.yml'
-        export ZXXXY="$(yq e '.' {{.MODEL_TMP}}.yml)"
-         yq e -i '. | .vars = (env(ZXXXY) | .vars) | .env = (env(ZXXXY) | .env)' Taskfile.yml
-        yq eval-all -i 'select(fileIndex == 0) * select(fileIndex == 1)' '{{.MODEL_TMP}}.yml' Taskfile.yml
+        curl -sSL '{{.MODEL_TASKFILE}}' > '{{.MODEL_TMP}}.yml' || { echo "Failed to download model taskfile"; exit 1; }
+        export ZXXXY="$(yq e '.' {{.MODEL_TMP}}.yml)" || { echo "Failed to parse model taskfile"; exit 1; }
+        yq e -i '. | .vars = (env(ZXXXY) | .vars) | .env = (env(ZXXXY) | .env)' Taskfile.yml || { echo "Failed to update vars and env in Taskfile.yml"; exit 1; }
+        yq eval-all -i 'select(fileIndex == 0) * select(fileIndex == 1)' '{{.MODEL_TMP}}.yml' Taskfile.yml || { echo "Failed to merge model taskfile into Taskfile.yml"; exit 1; }

This way, if any command fails, the script will stop execution and print an error message, making it easier to identify and fix the issue.


requirements:
deps:
Expand Down
4 changes: 2 additions & 2 deletions .config/taskfiles/fix/Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -277,11 +277,11 @@ tasks:
start: Running Prettier on {{if .CLI_ARGS}}`{{.CLI_ARGS}}`{{else}}project{{end}}
cmds:
- cmd: |
prettier --plugin node_modules/prettier-plugin-toml-fixed --ignore-path {{.PRETTIERIGNORE_CONFIG}} \
prettier --ignore-path {{.PRETTIERIGNORE_CONFIG}} \
--write {{if .CLI_ARGS}}{{.CLI_ARGS}}{{else}}.{{end}} || EXIT_CODE=$?
if [ -n "$EXIT_CODE" ]; then
.config/log warn 'Failed to run `prettier` - falling back to `prettier`'
prettier --plugin node_modules/prettier-plugin-toml-fixed --ignore-path {{.PRETTIERIGNORE_CONFIG}} \
prettier --ignore-path {{.PRETTIERIGNORE_CONFIG}} \
Comment on lines +280 to +284

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The fallback prettier command in the error handling block is missing the exit code check. This could lead to silent failures if the fallback command fails. Consider adding an exit code check for the fallback command as well.

       - cmd: |
           prettier --ignore-path {{.PRETTIERIGNORE_CONFIG}} \
            --write {{if .CLI_ARGS}}{{.CLI_ARGS}}{{else}}.{{end}} || EXIT_CODE=$?
            if [ -n "$EXIT_CODE" ]; then
              .config/log warn 'Failed to run `prettier` - falling back to `prettier`'
-             prettier --ignore-path {{.PRETTIERIGNORE_CONFIG}} \
+             prettier --ignore-path {{.PRETTIERIGNORE_CONFIG}} --write {{if .CLI_ARGS}}{{.CLI_ARGS}}{{else}}.{{end}} || FALLBACK_EXIT_CODE=$?
+             if [ -n "$FALLBACK_EXIT_CODE" ]; then
+               .config/log error 'Fallback `prettier` also failed'
+             fi
           fi
         ignore_error: true

This change ensures that if the fallback prettier command also fails, it logs an error message and does not fail silently.

--write {{if .CLI_ARGS}}{{.CLI_ARGS}}{{else}}.{{end}}
fi
ignore_error: true
Expand Down
3 changes: 3 additions & 0 deletions .config/taskfiles/git/Taskfile-hook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@ tasks:
# remote_ref -> refs/heads/master
# remote_sha -> 9901a2eb2f34d5744276a80c4b339a88a92a7b53
REMOTE_BRANCH="$(echo $remote_ref | sed 's/^[^\/]*\/[^\/]*\///')"
if [ "$(echo "$HOST" | cut -c1-8)" == 'https://' ]; then
HOST="$(echo "$HOST" | cut -c8)"
fi
Comment on lines +91 to +93

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

There seems to be a mistake in the way you're trying to remove 'https://' from the HOST variable. The cut command on line 92 will only return the 8th character of the string, not remove the first 8 characters. You should use parameter expansion for this purpose.

-           if [ "$(echo "$HOST" | cut -c1-8)" == 'https://' ]; then
-             HOST="$(echo "$HOST" | cut -c8)"
-           fi
+           if [[ "$HOST" == https://* ]]; then
+             HOST="${HOST#https://}"
+           fi

This change will correctly remove 'https://' from the start of the HOST variable if it exists.

.config/log star "Repository -----> https://$HOST/$ORG/$PROJECT"
if [ "$HOST" == 'gitlab.com' ]; then
if [ "$REMOTE_BRANCH" != 'master' ]; then
Expand Down
6 changes: 3 additions & 3 deletions .config/taskfiles/git/Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,14 +70,14 @@ tasks:
- git init
- git remote add origin "{{.GITLAB_REPO}}"
- git add --all
- git commit --quiet -m "🧐 refactor(submodule): Adding folder/project to its own git repository."
- git commit --quiet -m "🧐 refactor(submodule) Adding folder/project to its own git repository."
- git push --quiet -u --no-progress origin master
- cd .. && rm -rf {{.BASENAME}}
- cd .. && git add {{.BASENAME}}
- cd .. && git commit --quiet -m "🧐 refactor(submodule): Removing folder which will now be a submodule."
- git commit --quiet -m "🧐 refactor(submodule) Removing folder which will now be a submodule."
- cd .. && git submodule add -b master "{{.GITLAB_REPO}}" {{.BASENAME}}
- cd .. && git add {{.BASENAME}}
- cd .. && git commit --quiet -m "🧐 refactor(submodule): Adding new submodule which was previously a directory."
- cd .. && git commit --quiet -m "🧐 refactor(submodule) Adding new submodule which was previously a directory."
- cd .. && git push --quiet -u --no-progress origin HEAD
preconditions:
- sh: '[[ ! $(git rev-parse --git-dir) =~ ".git/modules" ]]'
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/BugReport.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: 🐛 Bug Report
description: Stumbled upon an error? Submit a bug report.
labels: [question]
labels: [bug]
body:
- type: markdown
attributes:
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/chatgpt-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Code Review

permissions:
contents: read
pull-requests: write

on:
pull_request:
pull_request_review_comment:
types: [created]

concurrency:
group:
${{ github.repository }}-${{ github.event.number || github.head_ref ||
github.sha }}-${{ github.workflow }}-${{ github.event_name ==
'pull_request_review_comment' && 'pr_comment' || 'pr' }}
cancel-in-progress: ${{ github.event_name != 'pull_request_review_comment' }}

jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: fluxninja/openai-pr-reviewer@latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
with:
debug: false
review_simple_changes: false
review_comment_lgtm: false
Comment on lines +1 to +30

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The workflow file seems to be well structured and follows the standard GitHub Actions syntax. However, there is a missing newline at the end of the file. It's a common convention to end files with a newline because some tools might not handle or display the last line correctly if it doesn't end with a newline.

          review_comment_lgtm: false
+ \ No newline at end of file

Also, please ensure that the OPENAI_API_KEY secret is properly set in your repository settings. Without this, the OpenAI PR reviewer action will not work as expected.

34 changes: 34 additions & 0 deletions .github/workflows/openhands.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Resolve Issue with OpenHands

on:
issues:
types: [labeled]
pull_request:
types: [labeled]
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
pull_request_review:
types: [submitted]

permissions:
contents: write
pull-requests: write
issues: write

jobs:
call-openhands-resolver:
uses: All-Hands-AI/OpenHands/.github/workflows/openhands-resolver.yml@main
with:
macro: ${{ vars.OPENHANDS_MACRO || '@openhands-agent' }}
max_iterations: ${{ fromJson(vars.OPENHANDS_MAX_ITER || 50) }}
base_container_image: ${{ vars.OPENHANDS_BASE_CONTAINER_IMAGE || '' }}
LLM_MODEL: ${{ vars.LLM_MODEL || 'anthropic/claude-sonnet-4-20250514' }}
target_branch: ${{ vars.TARGET_BRANCH || 'main' }}
runner: ${{ vars.TARGET_RUNNER }}
secrets:
PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
PAT_USERNAME: ${{ secrets.PAT_USERNAME }}
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
LLM_BASE_URL: ${{ secrets.LLM_BASE_URL }}
Comment on lines +1 to +34

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The new GitHub workflow seems to be well configured. However, it's important to ensure that the secrets used in this workflow (PAT_TOKEN, PAT_USERNAME, LLM_API_KEY, LLM_BASE_URL) are properly set up in the repository settings. If these secrets are not set, the workflow will fail. Also, make sure that the permissions granted in lines 15-18 are necessary and minimal for the tasks performed by the workflow to follow the principle of least privilege.

permissions:
  contents: write
  pull-requests: write
  issues: write

In addition, consider adding a failure case or error handling mechanism to this workflow. Currently, if any step fails, the workflow might stop without providing meaningful feedback about what went wrong. This could make debugging more difficult.

Lastly, please ensure that the vars.TARGET_RUNNER on line 29 is correctly set. If it's not set, it may cause the workflow to fail or run on an unintended runner.

      runner: ${{ vars.TARGET_RUNNER }}

Loading
Loading