Files
ChrisTitusTech_linutil/docs/content/CONTRIBUTING.md
T
Sean (ANGRYxScotsman) 2fcd7cf878 New linutil website (#1215)
* Add Hugo build artifacts to .gitignore

Ignore docs/public/, docs/resources/, and docs/.hugo_build.lock so
generated Hugo output is never accidentally committed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add Hugo site infrastructure for Linutil docs

Adds the Hugo configuration, theme module (hextra), layout shortcodes,
i18n strings, static assets (favicons, nav logo), and archetype template
needed to build the documentation site.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add docs site homepage

Adds the root _index.md with badges, the quick-start curl command, and
an important-note callout about frequent updates.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add user guide content pages for Linutil

Rewrites all user guide sections from Winutil (Windows) content to
accurate Linutil (Linux) documentation:

- _index.md: overview, feature summary, quick links
- getting-started.md: how to run, install options, TUI navigation, keyboard shortcuts
- store/_index.md: application installation guide with category tables
- tweaks/_index.md: distro-specific system setup (Arch, Fedora, Debian, Ubuntu, Alpine)
- features/_index.md: security, gaming, emulators, and utilities reference
- updates/_index.md: how to keep Linutil up to date
- automation/_index.md: TOML config file usage and use-case examples

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add FAQ, known issues, and contributing guide pages

- faq.md: answers for general usage, running, scripts, contributing, and updates
- KnownIssues.md: documents terminal size, rendering, distro support, Nvidia, and Cargo update issues
- CONTRIBUTING.md: full contributing guide based on .github/CONTRIBUTING.md, formatted for the docs site

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add developer reference section and architecture docs

- dev/_index.md: landing page for the developer reference section
- dev/architecture.md: comprehensive architecture doc covering workspace
  layout, data model (Tab/ListNode/Command), tab_data.toml format, task
  list flags, preconditions system, script embedding via include_dir!,
  the script execution pipeline (PTY/vt100/tui-term), TUI layout and
  focus state machine, config file parsing, and key dependencies

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docgen: write walkthrough to docs/content/userguide/walkthrough.md

- Rename generated file from userguide.md to walkthrough.md to better
  reflect that it is an auto-generated script reference/walkthrough
- Update USER_GUIDE path to docs/content/userguide/walkthrough.md so
  cargo xtask docgen writes to the correct Hugo content location
- Update automation guide link to point to ../walkthrough/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: remove unused Winutil screenshot assets

All images in docs/assets/images/ were Winutil (Windows) screenshots
copied over from the Winutil docs. None are referenced by any content
file. Keeping only favicon.png and navlogo.png at the assets root,
which are used by hugo.toml.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Update CNAME

* updated hugo configs

* docs: add preview.gif to homepage via Hugo mount

Mount .github/preview.gif directly into Hugo's static pipeline using
includeFiles so only the gif is exposed (no workflows or other .github
files). This means any update to .github/preview.gif is automatically
reflected on the site without any manual copying.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* added workflow

* Delete docs/assets/navlogo.png

can change this to something else

* Delete navlogo.png

* Update docs.yaml

* Update hugo.toml

* Update _index.md

* fix typo

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 16:13:39 -06:00

3.1 KiB

title, toc
title toc
Contributing Guide true

Thank you for considering contributing to Linutil! We appreciate your effort in helping improve this project. Please follow these guidelines to make the contribution process smooth for everyone.

1. Install Rust

Make sure you have Rust installed on your machine:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Or visit rust-lang.org for full instructions.

2. Fork and Clone the Repo

  1. Fork the repository on GitHub
  2. Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/linutil.git
cd linutil

3. Make Your Changes

  • Edit the relevant files
  • Run cargo run to test your changes locally
  • Ensure everything works as expected before submitting

4. Adding a New Script

If you're adding a new shell script:

  1. Place it in the appropriate subdirectory under tabs/
  2. Fill out all fields in tab_data.toml for your script
  3. Run cargo xtask docgen to regenerate the documentation

Without completing tab_data.toml and running docgen, your script will not appear in the TUI or the documentation.

5. Understand the Existing Code

  • Have a clear reason: Don't change the way things are done without a valid reason. Be prepared to explain why a change is necessary and how it improves the project.
  • Respect existing conventions: Changes should align with the existing code style and project philosophy.

6. Learn from Past Pull Requests

  • Check merged PRs: Reviewing accepted contributions gives you a sense of what is welcome.
  • Study rejected PRs: This helps you avoid mistakes and proposals that have already been declined.

7. Write Clean Commit Messages

  • Use the imperative mood: "Add feature X" not "Added feature X"
  • Be descriptive about what changed and why
  • Avoid committing a change and then immediately following it with a fix — amend or squash instead

8. Keep PRs Small and Focused

  • One feature or fix per pull request
  • Avoid combining unrelated changes in a single PR — it makes review harder and may delay merging

9. Test Your Code

  • Review your code for readability and correctness before submitting
  • Do not submit AI-generated code without thoroughly reviewing and testing it first
  • Failure to test after multiple review requests may result in the PR being closed

10. Code Review

  • All PRs go through code review — expect feedback and be open to revisions
  • If you're comfortable, reviewing other contributors' PRs is a great way to give back

11. Contributing Beyond Code

  • Test the tool across different distros and report issues
  • Write clear bug reports with steps to reproduce, distro info, and error output
  • Propose reasonable feature requests that fit the scope and style of the project
  • Improve documentation to help other users

12. License

By contributing to Linutil, you agree that your contributions will be licensed under the project's MIT License.


We look forward to your contributions — thank you for helping make Linutil better for everyone!