2fcd7cf878
* 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>
3.1 KiB
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
- Fork the repository on GitHub
- 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 runto test your changes locally - Ensure everything works as expected before submitting
4. Adding a New Script
If you're adding a new shell script:
- Place it in the appropriate subdirectory under
tabs/ - Fill out all fields in
tab_data.tomlfor your script - Run
cargo xtask docgento 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!