Skip to content

docs: give agents one starter-based data app authoring workflow - #106

Merged
francoischalifour merged 7 commits into
mainfrom
fc/concise-documentation
Oct 20, 2026
Merged

francoischalifour merged 7 commits into
mainfrom
fc/concise-documentation

Conversation

@francoischalifour

@francoischalifour francoischalifour commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Context

Agents use this repository's documentation to build data apps. The docs should take them directly from the user's question to a working exploration and a story of its strongest findings.

Previously, that path required navigating overlapping guides and choosing between several equally presented implementation patterns. Entry points repeated instructions, examples used different names and input shapes, and app authoring guidance mixed with host integration and contributor details. Agents could spend unnecessary time reading files, reconstructing examples, and making decisions the starter or platform already resolved.

This change makes the documentation a concise playbook: follow the existing app or release-matched starter, use clear defaults, and consult another guide only when a requirement needs it.

Proposed solution

Establish one authoring path

docs/app-authoring.md becomes the main recipe:

  1. Define the question and inspect the data.
  2. Adapt the queries and operation.
  3. Update context, datasets, and metrics.
  4. Adapt the view and filters.
  5. Compose the exploration.
  6. Build the story from the displayed results.
  7. Validate the app.

New apps start from the selected, release-matched starter. Existing apps keep their working structure and runtime wiring. AGENTS.md, the root README, and starter documentation route directly to this recipe. Broad reading lists become conditional lookups and exact-symbol searches in REFERENCE.md.

Give each choice a default and an exception

  • Keep related results in one view; split views for independent requests.
  • Use flat operation inputs matching variable names; add mappings and explicit bindings when an existing input shape requires them.
  • Use generated controls and bound widgets; introduce custom UI when they cannot express the requirement.
  • Use defineTimeView() for period-driven analysis and defineDataView() otherwise.
  • Use source-backed dimensions for independent categorical filters, fixed options for constants, and facets when options depend on other selections.
  • Use <Stack> and <Grid>, sections before navigation tabs, and default appearance unless customization is requested.

The recipe retains the analytical requirements: inspect population and grain, preserve missing-value semantics, and derive narrative, scope, stories, and exports from the same displayed snapshot, including during refresh or failure.

Align examples with the starter

Examples reuse the hosted starter's names and structure across queries, operations, context, views, datasets, widgets, and stories. App declarations consistently use dataApp, while public API properties retain their names, such as app: dataApp.

Snippets retain the enclosing declarations, callbacks, components, and JSX needed to understand their placement. Unrelated setup uses explicit // ... omissions instead of leaving isolated property fragments.

Separate authoring from integration

Normal authoring tasks retain the starter's transport and mounting setup. Host-specific concerns remain in integration documentation, including iframe messaging, server authorization, and custom delivery.

Standard themes, responsive layout, and SDK control behavior belong to platform verification. Authors verify their data, interactions, and content, with additional appearance and interaction checks when custom UI, CSS, colors, or unusual content introduce those concerns.

Apply the same principles to contributor documentation

Contributor guidance follows a direct sequence: locate the owning source, update affected consumers, run focused checks, complete required verification, and create a coherent commit. Implementation, packaging, CSS, public API, and release guidance remain available when those changes require them.

Repeated explanations, internal narratives, and prop inventories already covered by TypeScript and JSDoc are removed. The generated API reference opens with a short search example and the notation needed to interpret results. This preserves the authoring-only API reference introduced in #105.

Scope and tradeoffs

This branch primarily changes documentation and generated reference text. Small source changes standardize starter variable names and JSDoc examples; public APIs and runtime behavior are unchanged.

Authored Markdown, excluding the generated reference, is approximately 36% shorter. The intended benefit is fewer decisions and file reads; agent execution speed has not been benchmarked. Supporting guides remain available for requirements beyond the starter.

Validation

Rechecked after incorporating current main:

  • Package build and generated API reference consistency.
  • Markdown lint, local documentation links, formatting, and diff checks.
  • Package boundaries and source lint.
  • Isolated package-consumer validation and local starter checks.

Earlier authoring validation also parsed all 44 documentation JavaScript/TypeScript snippets and type-checked the main public-API patterns with explicitly omitted prerequisites restored.

The complete browser workflow suite was not rerun for this documentation-focused change.

Remove repeated guidance, internal protocol details, and release history from
authored documentation. Keep task routes, focused examples, and the contracts
needed to build and verify data apps.

Correct the local starter's credential startup instructions. Verify Markdown,
links, formatting, builds, version boundaries, generated reference, starter,
and packed consumers.
Remove duplicated app rules from the agent entry point and link the API
reference from the authoring guide. Scope the starter-copy helper to Node/Bun
scaffolding and explain when direct client response handling is needed.

Trim mounting alternatives and use component notation consistently. Preserve
typed-row guidance in the contracts guide. Leave workflow consolidation for a
separate approved change.
Keep filesystem-based starter copying in the local authoring guide. Simplify
the generated API reference introduction to symbol lookup and field notation,
removing generation details and repeated hosted-app requirements.

Regenerate the reference without changing API entries. Verify generation,
source and Markdown lint, local links, formatting, and packaged-copy equality.
Let authoring workflows supply version-matched starters and keep filesystem
copying guidance in the examples package for scaffolding tools. Describe local
serving and client handlers as customization tasks rather than required setup.

Use sh for the generated API reference command example.
Make the authoring recipe and selected starter the default reading path, with
symbol lookup and feature-specific sections only when needed. Align query,
context, view, binding, story, and detail examples on the canonical sample app.
Teach flat inputs and inferred bindings before explicit mapping, and give
advanced filters, navigation, styling, and custom UI explicit triggers.

Move message-route guidance into embedding so normal app authoring keeps its
starter wiring. Structure contributor work around ownership, focused checks,
final verification, and coherent commits.

Verify composed snippets against public package types, including flat time
views and detail actions. Check Markdown, local links, formatting, builds,
reference freshness, package boundaries, and isolated packed consumers.
Keep enclosing API calls, view callbacks, and App components in authoring
examples, using explicit omission comments for unrelated starter setup. Fix
remaining property fragments and adjacent JSX examples.

Use dataApp consistently across guides, README examples, public JSDoc, and the
local starter while preserving the app API prop name. Regenerate the reference.

Keep standard theme, responsive, and keyboard verification with SDK
contributors; app authors review their content and affected custom UI.

Verify all 44 guide snippets parse, composed public API examples typecheck,
and Markdown, local links, formatting, build, boundaries, and starter checks pass.
Route README and local starter readers directly to the authoring recipe.
Distinguish focused edits to existing apps from new starter-based work, and
remove redundant builds and client-to-authoring navigation loops.

Correct Bun server lakehouse guidance, clarify error imports and evidence
scoping, and mark omitted example setup explicitly. Keep the composed-chart
example inside its view callback and runtime terminology unambiguous.

Review the complete branch diff against a93d562. Verify Markdown, local links,
formatting, all guide snippet syntax, composed public API types, build,
reference freshness, version boundaries, and isolated packed consumers.

@robinvrd robinvrd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of MD edits 😅 trusting you on this

@francoischalifour
francoischalifour merged commit 33bfde4 into main Oct 20, 2026
8 checks passed
@francoischalifour
francoischalifour deleted the fc/concise-documentation branch October 20, 2026 14:03
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.

2 participants