Skip to content

Latest commit

 

History

History
48 lines (41 loc) · 2.36 KB

File metadata and controls

48 lines (41 loc) · 2.36 KB

Contributing Configs

Thanks for contributing to the xfetch config collection. This repository holds presets, layouts and example configs for the core (xfetch/) and for plugins (plugins/).

Workflow

  1. Fork the repository and create a feature branch.
  2. Add or update your config in the right folder:
    • xfetch/defaults/ — the default config reference.
    • xfetch/presets/layouts/ — layout presets (layout_<name>[_full].jsonc).
    • xfetch/presets/showcase/ — showcase configs demonstrating modules, colors and options.
    • plugins/<plugin-name>/ — configs that require a plugin binary.
  3. Run the validation CI locally before opening the PR: bash scripts/ci.sh (Linux/macOS) or ./scripts/ci.ps1 (Windows). It parses every .jsonc/.json file.
  4. Test the config end-to-end: xfetch --config <path>.
  5. Add an entry to CHANGELOG.md.
  6. Open a pull request. PRs that fail validation are rejected.

Config Rules

  • Files are JSONC: valid JSON plus // and /* */ comments and trailing commas. They must parse cleanly.
  • Only reference config keys the installed xfetch version supports (see the configuration guide).
  • Layout presets must use a valid layout name and follow the existing layout_<name>.jsonc naming.
  • Plugin configs live under plugins/<plugin-name>/ and must declare the plugin in info_plugins with its binary name.
  • Keep the collection portable: no machine-specific paths, usernames or absolute paths in committed files.
  • Prefer colors and icons from the supported names (colors: BlackWhite plus dark variants; icons: any text, including Nerd Font glyphs).

Code of Conduct

Be respectful, constructive, and collaborative. Harassment, trolling, and personal attacks are not tolerated.