Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
190 commits
Select commit Hold shift + click to select a range
72b03d4
refactor: restructure backend into layered app/ package
chetanr25 May 30, 2026
f4ee6fe
Updated the change of code structure layer in docker, makefile and wo…
chetanr25 May 30, 2026
f6f7180
Merge #520: restructure backend into layered app/ package
abhishek-8081 Jun 2, 2026
e260df9
fix: lint target src/ -> app/ and remove stale electron release workflow
chetanr25 Jun 2, 2026
fa7188f
fix: explicit re-export of templates and forms in routes __init__. Fi…
chetanr25 Jun 2, 2026
93a5b3a
chore: remove frontend directory, as it's migrated to fireform-fronte…
chetanr25 Jun 2, 2026
e26a0ff
chore: move scripts to scripts/ directory, fixes #517
chetanr25 Jun 2, 2026
ddd9aaf
Merge pull request #525 from chetanr25/script_migrate
abhishek-8081 Jun 3, 2026
b6527b7
chore: created docker file and compose for development envirnment
chetanr25 Jun 3, 2026
79a1ce0
chore: docker file and docker compose for prod envirnment
chetanr25 Jun 3, 2026
0bc991a
Updated Makefile: added make init command to run a project initilizat…
chetanr25 Jun 4, 2026
7c40e5f
Merge pull request #528 from chetanr25/mkFile_scripts
abhishek-8081 Jun 5, 2026
e2e0662
remove unwanted html files under docs/ which is already migrated to f…
chetanr25 Jun 5, 2026
6d9d088
Merge pull request #529 from chetanr25/delete_docs
marcvergees Jun 6, 2026
53cd5eb
Merge pull request #524 from chetanr25/rm_frontend
marcvergees Jun 6, 2026
63d176f
Merge pull request #526 from chetanr25/docker_dev
marcvergees Jun 6, 2026
8d9bbc8
Merge pull request #527 from chetanr25/docker_prod
marcvergees Jun 6, 2026
9323606
Merge pull request #523 from chetanr25/ci_cleanup
marcvergees Jun 6, 2026
a318ff9
added entrypoint, readme and updated docker file and compose
chetanr25 Jun 7, 2026
eb20a95
fixed tests, replaced api -> app.api following our current code struc…
chetanr25 Jun 7, 2026
d745498
Merge pull request #531 from chetanr25/docker_endpoint_docs
marcvergees Jun 8, 2026
21a5f08
Merge pull request #533 from chetanr25/test_fail_fix
marcvergees Jun 8, 2026
b4f6c70
added API contracts
chetanr25 Jun 8, 2026
3825322
renamed incident-contract
chetanr25 Jun 9, 2026
7b354ea
updated incident-contracts in all references
chetanr25 Jun 9, 2026
0529cfd
added setup docs, updated contributing.md
chetanr25 Jun 11, 2026
c131ee1
added project structure
chetanr25 Jun 11, 2026
6ea0039
Updated renamed file name
chetanr25 Jun 12, 2026
24e14d9
Merge pull request #536 from chetanr25/setup_docs
marcvergees Jun 14, 2026
c87ab2e
Merge pull request #535 from chetanr25/openapi_contracts
marcvergees Jun 16, 2026
b590069
Fixed whisper and ollama URL in .env.example. Fix #537
chetanr25 Jun 17, 2026
c80717e
Merge pull request #538 from chetanr25/transcribe_fix
marcvergees Jun 17, 2026
86d232f
updated dev-docker compose to pull posgres docker image and updated .…
chetanr25 Jun 18, 2026
3d20567
removed sqlite db path from getting created through entrypoint script
chetanr25 Jun 18, 2026
bd64543
removed unwanted variables in config.py, Updated fallback of database…
chetanr25 Jun 18, 2026
271e4ba
added a seperate docker compose for isolated postgres db instance. Re…
chetanr25 Jun 18, 2026
89239c8
Removed unwanted dockerfile and compose.
chetanr25 Jun 18, 2026
25f426d
Merge pull request #559 from chetanr25/migrate_posgresql
marcvergees Jun 18, 2026
0c94a1a
Merge pull request #560 from chetanr25/prod_posgres_migration
vharkins1 Jun 18, 2026
721833d
Merge pull request #561 from chetanr25/rm_root_doc
marcvergees Jun 18, 2026
d60ce42
feat: :sparkles: first simple approach introducing fetching data
marcvergees Jun 19, 2026
4994cfb
feat: :sparkles: multiple weather fields can be fetched, fetched data…
marcvergees Jun 19, 2026
83cdddd
feat: :sparkles: start and end date
marcvergees Jun 20, 2026
97d98a0
feat: :sparkles: zipcode resolver
marcvergees Jun 20, 2026
7230338
docs: :memo: openapi contracts of the new created endpoints
marcvergees Jun 20, 2026
c6e3a10
Add /api/v1/health and system schema endpoints (#542)
abhishek-8081 Jun 20, 2026
da5da4f
Merge pull request #573 from abhishek-8081/issue-542-fix
marcvergees Jun 20, 2026
61586cd
feat: :sparkles: Coordinate format documented, date format specified,…
marcvergees Jun 20, 2026
6bf87d0
refactor: :recycle: changing outdated prints to logger
marcvergees Jun 20, 2026
1d47b7a
Add common contract schemas and standardized error handling (#543)
abhishek-8081 Jun 21, 2026
83e0ec1
feat: add celery and redis to docker compose to pull celery & redis d…
chetanr25 Jun 20, 2026
2bdc700
configured celery to FireForm
chetanr25 Jun 20, 2026
53f36d9
added required schemas for asuncformfill and to track celery jobs
chetanr25 Jun 20, 2026
436b15c
feat: add universal job tracking with UUID, progress, and structured …
chetanr25 Jun 21, 2026
838b85a
added make command to see logs for workers
chetanr25 Jun 21, 2026
77661fc
added init.py for tasks
chetanr25 Jun 21, 2026
60e1ce5
added tests for celery workers
chetanr25 Jun 21, 2026
c9d8b46
Merge remote-tracking branch 'origin/development' into 564-feat-enric…
marcvergees Jun 21, 2026
9b23056
Merge pull request #572 from fireform-core/564-feat-enrich-ai-input-w…
marcvergees Jun 21, 2026
ae8d8a1
Move retry-after constant to config.py (#543 review)
abhishek-8081 Jun 22, 2026
0e361a2
Merge pull request #575 from abhishek-8081/issue-543-fix
marcvergees Jun 22, 2026
0ec2042
feat: Add Alembic migration infrastructure
chetanr25 Jun 22, 2026
512174a
Add migration tests for upgrade, downgrade, and schema validation
chetanr25 Jun 22, 2026
2ba207d
Add alembic check to CI and migration commands to Makefile
chetanr25 Jun 22, 2026
eba3a8f
Merge branch 'development' into celery_redis_setup
marcvergees Jun 23, 2026
42b141f
Merge pull request #574 from chetanr25/celery_redis_setup
marcvergees Jun 23, 2026
7e934aa
Dockerfiles + compose: perf(docker): faster image builds and contain…
chetanr25 Jun 23, 2026
9f088a8
fast make workflow and runtime dependency sync
chetanr25 Jun 23, 2026
501d837
updated package in ci-cd
chetanr25 Jun 23, 2026
c156224
Merge remote-tracking branch 'upstream/development' into optimisations
chetanr25 Jun 23, 2026
0e3217f
fixed redis late start time
chetanr25 Jun 23, 2026
d31ff2d
refactor: :recycle: replaced Union and Sequence to newer accepted ver…
marcvergees Jun 23, 2026
15d69e4
Merge branch 'development' into alembic_setup
marcvergees Jun 23, 2026
64d2da2
Merge pull request #579 from chetanr25/alembic_setup
marcvergees Jun 23, 2026
8bbb1d2
Merge branch 'development' into optimisations
marcvergees Jun 23, 2026
d74efbc
Merge pull request #585 from chetanr25/optimisations
marcvergees Jun 23, 2026
7f04672
refactor: :recycle: restructuring routing of v1
marcvergees Jun 23, 2026
08eb9f2
feat: :sparkles: introducing analytics and form submission history
marcvergees Jun 23, 2026
2d20143
fix(db): add job table to migration 001 and align schema with models
chetanr25 Jun 23, 2026
e763921
updated teststo include job tables
chetanr25 Jun 23, 2026
ac186a0
Merge pull request #587 from chetanr25/alembic_setup
marcvergees Jun 24, 2026
3bfc5ac
Merge branch 'development' into 586-bug-inconsistent-api-route-struct…
marcvergees Jun 24, 2026
2a110b8
Merge pull request #589 from fireform-core/586-bug-inconsistent-api-r…
marcvergees Jun 24, 2026
6383536
feat: :bug: implement deletes, purges, apikey for security and update…
marcvergees Jun 24, 2026
d99f648
Merge pull request #590 from fireform-core/588-bug-readme-claim-inacc…
marcvergees Jun 24, 2026
a4ad252
Merge branch 'development' into deck-pitch
marcvergees Jun 24, 2026
a11022c
Merge branch 'development' into deck-pitch
marcvergees Jun 24, 2026
b01e316
fix: :bug: missing import
marcvergees Jun 24, 2026
d3d5da4
fix: CI CD test failure. fixes #592
chetanr25 Jun 25, 2026
752d0d2
Merge pull request #593 from chetanr25/ci_failure_fix
marcvergees Jun 25, 2026
7e909a0
Add v1 contract DB models and migration (#544)
abhishek-8081 Jun 25, 2026
7224f68
Merge pull request #594 from abhishek-8081/issue-544-models
marcvergees Jun 26, 2026
dbcbe95
Add text input layer: POST /input/text and GET /input/{input_id} (#546)
abhishek-8081 Jun 26, 2026
3a79a0d
Refactor text input: service layer, repository, reuse validation handler
abhishek-8081 Jun 26, 2026
fccf3a4
Merge pull request #595 from abhishek-8081/issue-546-text-input
marcvergees Jun 27, 2026
84f8ae8
Add voice input + async transcription(#547)
abhishek-8081 Jun 28, 2026
b623461
Address #547 review
abhishek-8081 Jun 29, 2026
1154797
feat: added layout support and accept pdf reference parameter to matc…
chetanr25 Jun 30, 2026
ae550fc
added POST /api/v1/templates/pdf endpoint to upload the pdf first bef…
chetanr25 Jun 30, 2026
1cfddad
fix(contract): align zipcode paths and api tags with backend /docs. R…
chetanr25 Jun 30, 2026
30c71fd
feat: add make docs to render OpenAPI contracts as Swagger
chetanr25 Jun 30, 2026
c0fc959
restricted path to python code and tests workflows. Fixes #602
chetanr25 Jun 30, 2026
e8d7459
Merge pull request #597 from abhishek-8081/issue-547-voice-input
marcvergees Jul 1, 2026
9ee41af
Merge pull request #598 from chetanr25/contract/template-layout
marcvergees Jul 1, 2026
e40a77f
Merge pull request #600 from chetanr25/docs_swagger
marcvergees Jul 1, 2026
be143e7
Merge pull request #601 from chetanr25/mk-cmd-swaggers
marcvergees Jul 1, 2026
18c52ce
Merge pull request #603 from chetanr25/tests_cicd
marcvergees Jul 1, 2026
b1ef2c7
fix: resolve lint error
chetanr25 Jul 2, 2026
de77507
fix: include development branch in lint workflow
chetanr25 Jul 2, 2026
ed4dbda
test: fix template deletion cleanup test
chetanr25 Jul 2, 2026
aae1e37
Merge pull request #606 from chetanr25/lint_fix
marcvergees Jul 2, 2026
66f8da2
Merge branch 'deck-pitch' into development
marcvergees Jul 3, 2026
fd57583
feat: :sparkles: first implementation of the benchmark, including fro…
marcvergees Aug 1, 2026
77304f2
Remove Pipeline C-only contract (extraction, incidents, reporting) fr…
abhishek-8081 Aug 2, 2026
1dfc9fa
Merge pull request #645 from abhishek-8081/issue-b-contract-reshape
marcvergees Aug 2, 2026
edb754a
Reshape templates & forms contract to Pipeline B
abhishek-8081 Aug 3, 2026
08fba68
Merge pull request #646 from abhishek-8081/issue-b-forms-templates-re…
marcvergees Aug 3, 2026
91fd496
fix: :bug: fixing test passing with empty structure of everything
marcvergees Aug 3, 2026
4927d9a
style: :lipstick: adding notes for guys
marcvergees Aug 3, 2026
dd9b88d
Wire fill flow to accept input_id and use stored transcript (#638)
abhishek-8081 Aug 5, 2026
8441182
Merge pull request #649 from abhishek-8081/issue-638-fill-input-id
marcvergees Aug 5, 2026
a3e0601
Updated and pinned ruff latest version. Created ruff.toml
chetanr25 Aug 5, 2026
39ee47e
ci: run lint and tests on development-* PR bases
chetanr25 Aug 5, 2026
5557f03
Link FormSubmission to Input by foreign key (#639)
abhishek-8081 Aug 7, 2026
e7b63a3
Merge pull request #651 from abhishek-8081/issue-639-formsubmission-fk
marcvergees Aug 7, 2026
6f1a6b7
Apply routes->services->repositories layering to forms (#640, part 1)
abhishek-8081 Aug 8, 2026
27c94f9
Merge pull request #652 from abhishek-8081/issue-640-forms-templates-…
marcvergees Aug 8, 2026
56ccc0f
Apply routes->services->repositories layering to templates (#640, par…
abhishek-8081 Aug 8, 2026
c07b7c7
Merge pull request #653 from abhishek-8081/issue-640-templates-layering
marcvergees Aug 8, 2026
0735df5
Route Controller through FormService in the async fill task (#641)
abhishek-8081 Aug 9, 2026
8b7a49b
Merge pull request #655 from abhishek-8081/issue-641-controller-throu…
marcvergees Aug 9, 2026
7d79007
Match PDF fields by name instead of position in Filler (#642)
abhishek-8081 Aug 9, 2026
2923f11
Merge pull request #656 from abhishek-8081/issue-642-filler-name-matc…
marcvergees Aug 9, 2026
73a382c
feat: add large-model reference evaluator
vharkins1 Aug 12, 2026
684ebfa
ics201 & 202
marcvergees Aug 13, 2026
fe000b1
ics203
marcvergees Aug 13, 2026
d9f0499
ics204
marcvergees Aug 13, 2026
a3ab05a
ics205 & ics205a
marcvergees Aug 13, 2026
2f24ff8
ics 206 & ics 213
marcvergees Aug 13, 2026
559030d
ics207 & ics 208
marcvergees Aug 13, 2026
2a6cd2b
ICS dataset generation markdown
marcvergees Aug 13, 2026
ce908a5
Merge pull request #663 from fireform-core/659-dataset-creations
vharkins1 Aug 13, 2026
2dd9e3a
refactor: :recycle: linting errors
marcvergees Aug 13, 2026
157e01a
linter errors 2
marcvergees Aug 13, 2026
86ade1b
Merge pull request #662 from fireform-core/612-feat-benchmark-module-…
marcvergees Aug 13, 2026
cb25b47
feat: :sparkles: add ics201-208 & 213 pdfs
marcvergees Aug 14, 2026
13806d2
refactor: :recycle: delete reference_benchmarks
marcvergees Aug 14, 2026
2378c26
feat: :sparkles: implementation of pdfs in the runner
marcvergees Aug 14, 2026
57d3d3b
Merge pull request #668 from fireform-core/667-add-pdfs-to-benchmark
marcvergees Aug 14, 2026
a419d96
Consolidate duplicated path/PDF helpers into shared leaf modules (#654)
abhishek-8081 Aug 15, 2026
491aa49
Merge pull request #670 from abhishek-8081/issue-654-consolidate-path…
marcvergees Aug 15, 2026
80717d8
feat: :sparkles: trivial approach of something extremely powerful
marcvergees Aug 27, 2026
2717604
style: :lipstick: styling approach D into a class
marcvergees Aug 28, 2026
c51dc3c
Merge branch 'development' into development-approach-d-benchmark
marcvergees Aug 28, 2026
bc2c979
refactor: :recycle: readapt ground_truths and target_json's so that m…
marcvergees Aug 28, 2026
cfadc74
feat: :sparkles: running first good accuracies in the approach D
marcvergees Aug 28, 2026
7ac3267
fix: :bug: fixing a little bug and implementing json formatting
marcvergees Aug 28, 2026
db105ee
refactor: :recycle: cleaning code
marcvergees Aug 31, 2026
dbc9703
docs: :memo: benchmark report json
marcvergees Aug 31, 2026
4a54753
fix: use timezone-aware UTC datetime for template seeding
Aliussman Sep 27, 2026
c6603d9
[REFACTOR] Replaced benchmark with new development oriented approach,…
vharkins1 Sep 27, 2026
9f80282
refactor: :recycle: linter errors
marcvergees Sep 30, 2026
aaa0028
test: :white_check_mark: fixing test errors in PR
marcvergees Sep 30, 2026
803d602
perf: :zap: better performance for the validator
marcvergees Sep 30, 2026
692539e
Merge pull request #695 from fireform-core/development-approach-d-ben…
marcvergees Sep 30, 2026
cd868fb
Merge pull request #700 from fireform-core/development-approach-d-ben…
marcvergees Sep 30, 2026
609272f
Merge pull request #693 from Aliussman/fix/seed-template-utc-datetime
marcvergees Sep 30, 2026
78aa9cd
chore: ignore local VS Code workspace configuration files
marcvergees Oct 2, 2026
929cc65
fix: :bug: wiring up frontend + backend
marcvergees Oct 2, 2026
7060dbf
refactor: :recycle: removing controller and file manipulator
marcvergees Oct 2, 2026
45d04b7
Merge pull request #704 from fireform-core/701-wiring-frontend-backend
marcvergees Oct 2, 2026
58470b9
docs: :memo: migrating documentation stuff into the /doc folder getti…
marcvergees Oct 3, 2026
8503c31
ci: :green_heart: enforce required status checks
marcvergees Oct 3, 2026
4bd872f
ci: :green_heart: blocking force pushes
marcvergees Oct 3, 2026
d302dcb
Merge pull request #707 from fireform-core/ci/enforce-required-status…
marcvergees Oct 3, 2026
17a8c89
docs: align contributor setup with development workflow
Aliussman Oct 3, 2026
4640065
fix: normalize shell script line endings to LF (fixes CRLF issue on W…
jansans04 Oct 3, 2026
b0ba918
Merge branch 'development' into 709-fix-docker-entrypoint-crlf
jansans04 Oct 3, 2026
45c461f
docs: :memo: governance.md
marcvergees Oct 3, 2026
fa2ca82
Add GitHub Sponsors usernames to FUNDING.yml
marcvergees Oct 3, 2026
228c862
Update GitHub funding contributors list
marcvergees Oct 3, 2026
a8fa769
Update funding source from GitHub to Ko-fi
marcvergees Oct 3, 2026
c4979f5
Fix funding key format in FUNDING.yml
marcvergees Oct 3, 2026
f69eeff
Merge branch 'development' into docs/align-contributor-documentation
marcvergees Oct 3, 2026
4cc2172
Merge pull request #708 from Aliussman/docs/align-contributor-documen…
marcvergees Oct 3, 2026
de9db33
fix(forms): validate days query parameter in /forms/purge
vikash7485 Oct 4, 2026
f7edca0
Merge branch 'development' into 709-fix-docker-entrypoint-crlf
marcvergees Oct 4, 2026
aaeeaea
Merge pull request #710 from fireform-core/709-fix-docker-entrypoint-…
marcvergees Oct 4, 2026
dcbc374
Merge branch 'development' into fix/purge-endpoint-days-validation
vikash7485 Oct 4, 2026
901aed0
Merge pull request #712 from vikash7485/fix/purge-endpoint-days-valid…
marcvergees Oct 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.sh text eol=lf
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ko_fi: fireform
2 changes: 2 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,5 @@ Please describe the tests that you ran to verify your changes. Provide instructi
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
- [ ] The **Lint** workflow check passes on this PR ✅
- [ ] The **Tests** workflow check passes on this PR ✅
2 changes: 1 addition & 1 deletion .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ jobs:

- name: Build Docker image
run: |
docker build -t fireform:test .
docker build -t fireform:test -f docker/prod/Dockerfile .
14 changes: 7 additions & 7 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@ name: Lint

on:
push:
branches: [main]
branches: [main, development] # post-merge verification after PRs land
pull_request:
branches: [main]
branches: [main, development, 'development-*'] # gates all PRs

jobs:
lint:
runs-on: ubuntu-latest
continue-on-error: true

steps:
- uses: actions/checkout@v4
Expand All @@ -19,11 +18,12 @@ jobs:
with:
python-version: "3.11"

- name: Install uv
uses: astral-sh/setup-uv@v6

- name: Install linter
run: |
python -m pip install --upgrade pip
pip install ruff
run: uv pip install --system ruff==0.16.1

- name: Run linter
run: |
ruff check src/ --output-format=github
ruff check app/ --output-format=github
59 changes: 0 additions & 59 deletions .github/workflows/release.yml

This file was deleted.

36 changes: 30 additions & 6 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,29 @@ name: Tests

on:
push:
branches: [main]
branches: [main, development] # post-merge verification after PRs land
pull_request:
branches: [main]
branches: [main, development, 'development-*'] # gates all PRs

jobs:
test:
runs-on: ubuntu-latest

services:
postgres:
image: postgres:16
env:
POSTGRES_USER: fireform
POSTGRES_PASSWORD: fireform
POSTGRES_DB: fireform
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U fireform"
--health-interval 10s
--health-timeout 5s
--health-retries 5

steps:
- uses: actions/checkout@v4

Expand All @@ -18,13 +33,22 @@ jobs:
with:
python-version: "3.11"

- name: Install uv
uses: astral-sh/setup-uv@v6

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
run: uv pip install --system -r requirements.txt

- name: Run tests
env:
PYTHONPATH: .
run: |
python -m pytest tests/ -v --tb=short
python -m pytest tests/ -v --tb=short

- name: Check for un-migrated model changes
env:
PYTHONPATH: .
DATABASE_URL: postgresql://fireform:fireform@localhost:5432/fireform
run: |
python -m alembic upgrade head
python -m alembic check
15 changes: 14 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,17 @@ src/inputs/*.pdf
frontend/release/

# Local Claude Code instructions
CLAUDE.md
CLAUDE.md

*temp/
*.env*
!*.env.example

# Local benchmark output
reports/

# Benchmark run output
benchmark/results/

# Local VS Code workspace configuration
*.code-workspace
23 changes: 6 additions & 17 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,25 +39,14 @@ If you have a great idea for FireForm, we'd love to hear it! Please open an issu
4. Make sure your code lints.
5. Issue that pull request!

## 🛠️ Local Development Setup

FireForm uses Docker and Docker Compose for the backend to ensure a consistent environment.
**Issues are not formally assigned.** You are free to pick any open issue, work on it, and raise a PR directly. If multiple PRs address the same issue, the first one that actually fixes it generally gets preference. To avoid duplicating someone else's work, coordinate with other contributors on our [Discord](https://discord.gg/nBv5b6kF68) before starting.

### Prerequisites
## 💬 Community

- [Docker](https://docs.docker.com/get-docker/)
- [Docker Compose](https://docs.docker.com/compose/install/)
- `make` (optional, but recommended)
- [Node.js](https://nodejs.org/) 20+ (only needed for the desktop app)
Join our Discord server to ask questions, discuss issues, and coordinate work with other contributors: https://discord.gg/nBv5b6kF68

### Desktop App Development

The frontend is a vanilla HTML/CSS/JS app wrapped in Electron. To run it locally:
## 🛠️ Local Development Setup

```bash
cd frontend
npm install # one-time setup
npm start # launches the Electron desktop window
```
See the [Setup Guide](docs/1.%20SETUP.md) for the full walkthrough: prerequisites, running the backend with Docker, testing endpoints via Swagger UI, day-to-day commands, and troubleshooting.

The backend (API + Ollama) must be running separately via Docker — see `make fireform`.
Before writing code, read the [Project Structure](docs/2.%20PROJECT_STRUCTURE.md) guide — it explains how the codebase is organized and where new code should go.
28 changes: 0 additions & 28 deletions Dockerfile

This file was deleted.

103 changes: 103 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# FireForm Governance

This document describes how the FireForm project is governed: who does what, how decisions are made, and how contributors can grow within the community.

## Roles

FireForm uses three roles. They are intentionally simple.

### Owners

**Organization administrators — set direction, own accountability.**

- Set the project's strategic direction and governance.
- Manage organization settings, repositories, teams, and permissions.
- Make major architectural and strategic decisions.
- Appoint and remove Maintainers.
- Oversee security and project sustainability.

**GitHub permission:** Organization Owner (full administrative access).

> Every Owner holds the GitHub *Organization Owner* role and therefore has full administrative access. Keep at least two active Owners at all times for continuity.

---

### Maintainers

**Technical leadership — keep the codebase healthy.**

- Review and merge pull requests.
- Maintain code quality, tests, and releases.
- Manage issues and support contributors.
- Lead particular repositories or technical areas.
- Participate in technical planning.

**GitHub permission:** `Maintain` or `Write`, depending on repository responsibilities.

---

### Contributors

**Community participation — anyone who helps FireForm improve.**

- Contribute code, documentation, tests, and designs.
- Report bugs and suggest features.
- Participate in discussions and testing.
- Earn recognition and a path to become Maintainers.

**GitHub permission:** Public contributors submit pull requests from forks without joining the organization. Additional access is granted only when specifically needed.

---

## Permission Matrix

| Action | Owner | Maintainer | Contributor |
| :--- | :---: | :---: | :---: |
| Manage organization settings | ✅ | ❌ | ❌ |
| Manage repository access | ✅ | Generally ❌ | ❌ |
| Review pull requests | ✅ | ✅ | Can participate |
| Merge pull requests | ✅ *(subject to rules)* | ✅ *(subject to rules)* | ❌ |
| Manage releases | ✅ | If authorized | ❌ |
| Submit pull requests | ✅ | ✅ | ✅ |
| Participate in discussions | ✅ | ✅ | ✅ |

> Branch protection rules and required CI checks apply to everyone, including Owners.

---

## Current Maintainers

| Name | GitHub | Area |
| :--- | :--- | :--- |
| Marc Vergés Santiago | [@marcvergees](https://github.com/marcvergees) | Core backend, architecture |
| Vincent Harkins | [@vharkins1](https://github.com/vharkins1) | Core backend, infrastructure |

---

## Promotion Path

The hierarchy is simple, but promotion criteria should be explicit.

**Contributor → Maintainer**
Sustained, high-quality contributions; good collaboration; demonstrated responsibility and reliability over time. Nominated by an existing Maintainer and approved by the Owners.

**Maintainer → Owner**
Long-term trust, commitment to the project's future, and unanimous agreement from existing Owners.

A person's role reflects their responsibilities. GitHub permissions should provide only the access appropriate to those responsibilities — with the exception that every Owner receives full organization administration by design.

---

## Decision Making

- **Day-to-day decisions** (code review, issue triage): Maintainers.
- **Technical direction** (architecture, major dependencies, releases): Maintainers with Owner visibility.
- **Governance and strategic decisions** (role changes, forks, project future): Owners.

For significant decisions, open a [GitHub Discussion](https://github.com/fireform-core/FireForm/discussions) so the community can participate before a conclusion is reached.

---

## Questions?

Open a [Discussion](https://github.com/fireform-core/FireForm/discussions) or reach out on [Discord](https://discord.gg/nBv5b6kF68).
Loading
Loading