Skip to content
全部文档

贡献指南

INFO

本指南部分内容改编自 Laravel 贡献指南,并受其启发。

报告缺陷

若在 Filament 中发现缺陷,请在我们的 GitHub 仓库 提交 issue。提交前请先搜索现有 issue,确认是否已被报告。

请尽可能提供完整信息,尤其是应用中各包的版本号。可在应用中使用下列 Artisan 命令打开新 issue,并自动预填正确版本:

bash
php artisan make:filament-issue

创建 issue 时必须提供「复现仓库」。请勿链接你的真实项目。我们需要的是在全新项目中的_最小_复现,不含无关代码。因此即便真实项目私有/涉密也没关系——我们要的是独立、隔离的复现链接,这样才能更快修复。若缺少复现仓库,issue 会自动关闭且不予审阅,以节省维护者时间,并对认真报告者公平。若你认为该问题确实不适合提供复现仓库(极少见),请 @danharrin 并说明原因。以「问题很简单」为由不建仓库不可接受!需要起步模板?这里有 Filament 项目模板。

请记住:提交缺陷报告是希望有相同问题的人能与你协作解决。不要期望报告会自动获得关注或立刻有人修复。创建报告是为了帮助你自己和他人开始走上修复之路。

开发新功能

若想为 Filament 提议新功能或改进,可使用 GitHub 上的讨论区。若打算自己用 Pull Request 实现,建议先在功能讨论中 @danharrin(Filament 核心维护者),确认是否适合纳入框架,以免浪费时间。

开发插件

若想开发 Filament 插件,请参阅文档中的插件开发。我们的 Discord 也适合提问与求助,可在 #plugin-developers-chat 频道开始讨论。

使用本地 Filament 副本开发

若要为 Filament 包做贡献,可在真实 Laravel 项目中测试:

  • 将 [GitHub 仓库](https://github.com/filamentphp/filament) fork 到你的账号。
  • 本地创建 Laravel 应用。
  • 把 fork 克隆到 Laravel 应用根目录。
  • 在 `/filament` 目录为修复创建分支,例如 `fix/error-message`。

在应用的 composer.json 中安装这些包:

jsonc
{
    // ...
    "require": {
        "filament/filament": "*",
    },
    "minimum-stability": "dev",
    "repositories": [
        {
            "type": "path",
            "url": "filament/packages/*"
        }
    ],
    // ...
}

然后运行 composer update

改完后提交变更,并向 GitHub 仓库 发起 Pull Request。

检查过期翻译

可用 Translation Tool 检查过期翻译。克隆 Filament 仓库,安装命令依赖后运行工具。

bash
# Clone
git clone git@github.com:filamentphp/filament.git

# Install dependencies
composer install

# Run the tool  
./bin/translation-tool.php

先选择「List outdated translations」命令,再选择要检查的 locale。该命令会列出指定语言缺失的翻译,然后你可将缺失翻译以 Pull Request 提交到 GitHub 仓库

安全漏洞

若发现 Filament 安全漏洞,请通过 GitHub 报告。所有安全问题都会尽快处理。当前维护中的版本见版本支持策略

行为准则

Filament 发布时附带贡献者行为准则。参与本项目即表示你同意遵守其条款。