Skip to content

docs: update GRAPHILE.md with plugin architecture and current state#817

Merged
pyramation merged 2 commits intomainfrom
devin/1773536065-graphile-docs
Mar 15, 2026
Merged

docs: update GRAPHILE.md with plugin architecture and current state#817
pyramation merged 2 commits intomainfrom
devin/1773536065-graphile-docs

Conversation

@pyramation
Copy link
Contributor

@pyramation pyramation commented Mar 15, 2026

docs: update GRAPHILE.md with plugin architecture and current state

Summary

Updates the existing root-level GRAPHILE.md (previously just RC dependency management docs) into a comprehensive reference for the PostGraphile v5 plugin ecosystem. This captures the architectural state after the recent v5 migration work (PRs #797#815).

New sections added:

  • ConstructivePreset composition tree showing how all 14 sub-presets compose
  • Active package descriptions for all 11 maintained plugins with import examples
  • Legacy directory inventory clarifying which graphile/ directories are npm-installed v4 packages vs maintained source
  • Declarative operator factory API explaining how satellite plugins (search, PostGIS, trgm) register custom filter operators
  • Key design decisions (condition disabled, unified search, opt-in many-to-many, etc.)
  • Testing matrix with commands and coverage areas

Existing content updated:

  • RC dependency management section preserved but reorganized under its own heading
  • Package list updated to reflect current state (old separate search plugins replaced by unified graphile-search, added graphile-postgis, graphile-misc-plugins, etc.)
  • Removed postgraphile-plugin-connection-filter from pinned versions table (replaced by v5-native graphile-connection-filter)

No code changes — documentation only.

Updates since last revision

  • Moved documentation from graphile/GRAPHILE.md back to root GRAPHILE.md to update the existing file rather than creating a duplicate
  • Merged new plugin architecture content with existing RC dependency management content into a single unified document

Review & Testing Checklist for Human

  • Verify import paths are correct. The doc shows import { ConstructivePreset } from 'graphile-settings/presets' — confirm this is the actual public import path used by consumers (the preset source file imports makePgService from postgraphile/adaptors/pg, not from graphile-settings).
  • Check filter argument naming consistency. The doc consistently uses where as the filter argument name — verify this matches what the GraphQL schema actually exposes after the recent filterwhere rename work.
  • Spot-check search field naming conventions. The graphile-search section describes the {column}{Algorithm}{Metric} pattern (e.g. bodyBm25Score, titleTrgmSimilarity) — verify against actual generated schema output.
  • Verify pinned versions table is current. The RC versions table was carried over from the previous doc — confirm the versions still match what's in the package.json files after the v5 migration work.

Notes

No functional testing needed — this is a markdown-only change with no code impact. CI passing confirms no build regressions.

Requested by: @pyramation
Link to Devin Session

Comprehensive documentation of the PostGraphile v5 plugin ecosystem:
- Active packages with usage examples and key features
- Legacy directories and what replaced them
- How satellite plugins register filter operators
- Key design decisions (condition disabled, unified search, etc.)
- Testing matrix with commands and coverage areas
- ConstructivePreset composition tree
@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Updates the existing root-level GRAPHILE.md to include:
- Plugin architecture overview with ConstructivePreset composition tree
- Active package descriptions with usage examples
- Legacy directory inventory
- Declarative operator factory API docs
- Key design decisions
- Testing matrix
- Updated package list (unified graphile-search, removed old separate plugins)
- Removed postgraphile-plugin-connection-filter from pinned versions (replaced by v5-native)
@devin-ai-integration devin-ai-integration bot changed the title docs: add GRAPHILE.md documenting the plugin architecture docs: update GRAPHILE.md with plugin architecture and current state Mar 15, 2026
@pyramation pyramation merged commit 7e9b14b into main Mar 15, 2026
43 checks passed
@pyramation pyramation deleted the devin/1773536065-graphile-docs branch March 15, 2026 01:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant