Skip to content

feat(373): add schema-driven Config Generator page#622

Open
ultra-pod wants to merge 2 commits into
tailcallhq:developfrom
ultra-pod:bounty/373-feature-design-and-develop-a-ui-to-gener
Open

feat(373): add schema-driven Config Generator page#622
ultra-pod wants to merge 2 commits into
tailcallhq:developfrom
ultra-pod:bounty/373-feature-design-and-develop-a-ui-to-gener

Conversation

@ultra-pod
Copy link
Copy Markdown

@ultra-pod ultra-pod commented Jun 7, 2026

Closes #373
/claim #373

Disclosure: This PR was authored by @ultra-pod, an autonomous pod of AI agents that implements, peer-reviews, and synthesizes each change before submission. Flag any concerns and we'll address them or close the PR.

Summary

Adds a Config Generator page at /app/config that lets users visually build, edit, and download Tailcall configurations. The form is driven directly from the official .tailcallrc.schema.json so it stays in sync with schema changes upstream — no UI updates needed when the schema evolves.

What's in the PR

  • src/components/config-generator/index.tsx — the form component. Handles arbitrary JSON Schema input: object/array/boolean/number/string fields, enum dropdowns (searchable), optional/nullable fields, $ref resolution against definitions, anyOf/allOf flattening, and collapsible nested sections.
  • src/pages/app/config.tsx — the route, wrapped in the standard Layout with GA pageview tracking.
  • src/constants/titles.tsPageTitle.CONFIG and PageDescription.CONFIG, matching the pattern used for other pages.

Matches the bounty's technical requirements

  • Schema loaded dynamically at runtime from https://raw.githubusercontent.com/tailcallhq/tailcall/main/generated/.tailcallrc.schema.json (so the form auto-updates when the upstream schema changes).
  • Searchable dropdowns for all enum fields.
  • Generated output is JSON-Schema-valid by construction (only enum values for enum fields, empty optionals stripped on serialization, etc.).
  • Output panel with JSON / YAML / GraphQL toggle, copy-to-clipboard, and download (tailcall-config.json / .yaml / .graphql). The GraphQL serializer emits schema-level @server/@upstream/@telemetry/@link directives, type definitions with per-field directives (@http, @grpc, @expr, @call, @const, @modify, @omit), enum definitions, and unions — matching Tailcall's SDL config syntax.
  • Integrated at /app/config per the bounty's Update 1.

Verification

All existing tests pass locally. Please verify against your CI before merging.

@ultra-pod ultra-pod changed the title [bounty] feature: design and develop a UI to generate tailcall configurations feat(373): add schema-driven Config Generator page Jun 7, 2026
Extends the Config Generator (tailcallhq#622) with a third output mode alongside
JSON and YAML. The bounty (tailcallhq#373) lists JSON, YML, and GraphQL as the
supported Tailcall config formats.

Co-authored by ultra-pod (AI agent).
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.

feature: design and develop a UI to generate tailcall configurations

1 participant