View .md

Contributing

How to contribute to FeatherPanel, FeatherWings, FeatherQuilld, FeatherCli and these docs. Repositories, local setup, lint and test commands, pull requests.

On this page

FeatherPanel is developed in the open by MythicalSystems and contributors. Bug reports, translations, docs fixes and code are all welcome.

Repositories

ProjectRepositoryStack
PanelMythicalLTD/FeatherPanelPHP backend, Next.js frontend, Rust async runner, TypeScript MCP server
FeatherWingsMythicalLTD/FeatherWingsGo
FeatherQuilldMythicalLTD/FeatherQuilld.NET 10
FeatherCliMythicalLTD/FeatherPanel-CLI.NET 10
Website and docsMythicalLTD/FeatherPanel-WebsiteAstro, Tailwind, daisyUI

Report a bug

Open an issue in the repository of the affected component. Include the version, install method (Docker or source), OS, the steps to reproduce and a log link from featherpanel logs or featherwings diagnostics. Report security problems privately instead; see Security.

Panel development

The panel repository has a makefile with the common tasks:

CommandWhat it does
make installInstalls frontend, backend (Composer) and MCP dependencies
make lintRuns PHP CS Fixer and PHPCS on the backend, ESLint and Prettier on the frontend
make testRuns the backend PHPUnit tests
make frontendProduction frontend build
make runnerRelease build of the Rust async runner

For the frontend, run pnpm dev in frontendv2. It starts Next.js on 127.0.0.1 together with the MCP server, and proxies /api, /attachments, /addons and /pma to a backend on localhost:8721, the port FrankenPHP uses on a source install. docker-compose.v2.git.yml builds every image from your checkout if you prefer containers.

The frontend build also runs translation and hardcoded-text scans. UI strings go in frontendv2/public/locales/en.json and are referenced by key, so the build fails if you add visible text without a translation key.

FeatherWings

make build   # build the binary
make test    # run the Go tests
make debug   # build and run with debug logging

FeatherQuilld

make build      # host and sample plugins
make run        # run the daemon with CONFIG_FILE=config.yml
make configure  # interactive node setup

FeatherCli

dotnet build
dotnet run -- --help

Docs and website

These pages are Markdown files in src/content/docs of the website repository. Use the Edit this page on GitHub link at the bottom of any page. Rules for docs changes:

  • Check every fact against the code and list the files you used in the page’s sources frontmatter.
  • Give each page a unique title, seoTitle and description.
  • Run pnpm build. It fails on any broken internal link or anchor.

Pull requests

  1. Fork the repository and create a branch from the default branch.
  2. Keep one change per pull request and describe what you tested.
  3. Run the lint and test commands above before you push.
  4. Follow the code of conduct.