个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Documentation
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Free, open-source, self-hostable digital forms for small and medium-sized businesses. Office staff design structured forms in an admin dashboard; field workers fill them on a phone or tablet (also offline) to produce reports, invoices, checklists and other documents.
/admin: form builders, designs, workflows,
submissions inbox, review tasks, reports and dashboards, team, SSO, audit log and privacy tools/app: fill (also offline), sign, photograph, submit, review, send the PDFspec/, MIT) with PHP and
JavaScript SDKs (packages/, MIT)Status: 2.0 — distributed as signed Docker images and installed, configured, backed up and upgraded with one command-line tool,
fieldset. See CHANGELOG.md and the guides. 1.0 installs from a clone of the repository move to 2.0 withfieldset adopt.
audit:verify
against chain heads kept outside the database, filters, CSV export, a history on key records,
retention (365 days by default)./api/v1 with OpenAPI docs; personal API tokens with abilities and their
own rate limit./platform operator panel with health checks and audited impersonation, scheduled and encrypted backups,
restore drills, upgrades with automatic rollback.On a server or your own computer with Docker:
curl --proto '=https' --tlsv1.2 -fsSL https://github.com/beyerenrico/fieldset/releases/latest/download/install.sh | sh -s -- --org "Example Ltd" --owner-email [email protected]
This verifies the release signature, installs a local instance and prints its URL and a one-time sign-in link for the
owner. Add --domain forms.example.com --acme-email [email protected] for a public instance with HTTPS, or --demo
for sample data. The install guide covers every mode; AI agents and scripts follow the
agent guide. Afterwards:
./fieldset status # in the instance directory (or <dir>/fieldset, or fieldset once linked into PATH)
./fieldset login-link [email protected] # a new sign-in link
./fieldset config set mail smtp … # deliver mail instead of capturing it
./fieldset backup # a backup now (daily backups run by themselves)
./fieldset upgrade # to the newest release, with automatic rollback
Try the source locally with Docker (development settings, Mailpit catches all mail):
cp .env.example .env
sed -i.bak "s|^APP_KEY=.*|APP_KEY=base64:$(openssl rand -base64 32)|" .env # once
docker compose up -d --build --wait # app on http://localhost:8080
docker compose exec app php artisan app:install # first organization + owner
Development with PHP 8.4 on the host:
cp .env.example .env && composer install && php artisan key:generate
docker compose up -d postgres redis gotenberg mailpit # services on non-default host ports
php artisan migrate --seed # demo data, password "password"
php artisan serve --port=8080
php artisan horizon # queue workers: `default` and `exports` (report exports, one at a time)
php artisan test --compact
Demo users (seeded with php artisan db:seed, password password): [email protected],
[email protected], [email protected], [email protected], [email protected],
[email protected], [email protected] and [email protected] (more field workers), [email protected]. The demo organization has a published service report and a
"review, then email the PDF to the customer" workflow. Mailpit UI: http://localhost:18025.
| URL | What |
|---|---|
| http://localhost:8080/admin | Admin dashboard |
| http://localhost:8080/app | Field App (use a phone-sized window) |
| http://localhost:8080/docs/api | OpenAPI documentation (admins) |
| http://localhost:8080/platform | Operator panel (after php artisan app:platform-admin <email>) |
Checks: vendor/bin/pint --test, vendor/bin/phpstan analyse --memory-limit=1G,
vendor/bin/rector --dry-run, ./scripts/coverage.sh, npm run typecheck lint test,
npm run conformance, npm run e2e (against the Docker stack). Releases: RELEASING.md.
The docs site beyerenrico.github.io/fieldset publishes the guides of each
release with search, the interactive API reference and Fieldset Spec 1.0 (ADR 0094). The same guides are in
docs/guide/:
One Laravel monolith organized by domain (app/Domain/*). Row-level multi-tenancy by
organization_id; the tenant travels in Laravel's Context, so queued jobs restore it before
models are unserialized. See docs/adr/ for every decision.
LICENSE)spec/) and SDK packages (packages/fieldset-php, packages/fieldset-js, packages/fieldset-react): MITSee SECURITY.md for how to report vulnerabilities.