Skip to content

Add architecture guides for all frameworks and update menus#105

Merged
fabian-hiller merged 3 commits into
mainfrom
add-architecture-guides
May 21, 2026
Merged

Add architecture guides for all frameworks and update menus#105
fabian-hiller merged 3 commits into
mainfrom
add-architecture-guides

Conversation

@fabian-hiller
Copy link
Copy Markdown
Member

@fabian-hiller fabian-hiller commented May 21, 2026

Summary by cubic

Adds “Architecture” guides for Preact, Qwik, React, Solid, Svelte, and Vue, and adds an Architecture link to each framework’s docs menu. Also fixes formatting and typos in the new guides.

  • New Features

    • New “Architecture” guides per framework explaining @formisch/core, @formisch/methods, the framework package, the signal adapter pattern, and what happens when calling useForm, useForm$, or createForm. Added “Architecture” to each framework’s Guides menu.
  • Bug Fixes

    • Fixed code example formatting and typos in the architecture guides.

Written for commit 6b427bb. Summary will update on new commits. Review in cubic

Copilot AI review requested due to automatic review settings May 21, 2026 03:04
@vercel
Copy link
Copy Markdown

vercel Bot commented May 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
formisch Ready Ready Preview, Comment May 21, 2026 3:24am

Request Review

@dosubot dosubot Bot added size:XL This PR changes 500-999 lines, ignoring generated files. documentation Improvements or additions to documentation labels May 21, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 21, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0ee2c8c9-f3b2-468d-9d14-6beb3e2ec192

📥 Commits

Reviewing files that changed from the base of the PR and between c6cde96 and 6b427bb.

📒 Files selected for processing (6)
  • website/src/routes/(docs)/preact/guides/(advanced-guides)/architecture/index.mdx
  • website/src/routes/(docs)/qwik/guides/(advanced-guides)/architecture/index.mdx
  • website/src/routes/(docs)/react/guides/(advanced-guides)/architecture/index.mdx
  • website/src/routes/(docs)/solid/guides/(advanced-guides)/architecture/index.mdx
  • website/src/routes/(docs)/svelte/guides/(advanced-guides)/architecture/index.mdx
  • website/src/routes/(docs)/vue/guides/(advanced-guides)/architecture/index.mdx
✅ Files skipped from review due to trivial changes (4)
  • website/src/routes/(docs)/vue/guides/(advanced-guides)/architecture/index.mdx
  • website/src/routes/(docs)/react/guides/(advanced-guides)/architecture/index.mdx
  • website/src/routes/(docs)/svelte/guides/(advanced-guides)/architecture/index.mdx
  • website/src/routes/(docs)/solid/guides/(advanced-guides)/architecture/index.mdx

Walkthrough

This PR adds framework-specific architecture documentation for Formisch across six framework bindings (Preact, Qwik, React, Solid, Svelte, Vue). Each guide explains the modular three-package structure, describes how framework-specific adapters are swapped at build time, documents the minimal Signal<T> interface for reactive state, and walks through the end-to-end control flow when calling the framework-specific hook (useForm, useForm$, createForm, etc.). Each framework's navigation menu is updated to include a link to its architecture guide.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main changes: adding architecture guides for multiple frameworks and updating navigation menus.
Description check ✅ Passed The description clearly relates to the changeset, explaining the new architecture guides and menu updates with specific details about features and fixes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds new “Architecture” advanced-guide pages for each framework’s docs and links them from the guides menus, explaining how Formisch’s core/methods/framework packages fit together and how signals/adapters enable fine-grained reactivity across frameworks.

Changes:

  • Added “Architecture” to the guides menu for Vue, Svelte, Solid, React, Qwik, and Preact.
  • Introduced new framework-specific Architecture MDX pages describing package layering, framework adapters, and form creation flow.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
website/src/routes/(docs)/vue/guides/menu.md Adds Architecture link to Vue guides menu.
website/src/routes/(docs)/vue/guides/(advanced-guides)/architecture/index.mdx New Vue Architecture guide page.
website/src/routes/(docs)/svelte/guides/menu.md Adds Architecture link to Svelte guides menu.
website/src/routes/(docs)/svelte/guides/(advanced-guides)/architecture/index.mdx New Svelte Architecture guide page.
website/src/routes/(docs)/solid/guides/menu.md Adds Architecture link to Solid guides menu.
website/src/routes/(docs)/solid/guides/(advanced-guides)/architecture/index.mdx New Solid Architecture guide page.
website/src/routes/(docs)/react/guides/menu.md Adds Architecture link to React guides menu.
website/src/routes/(docs)/react/guides/(advanced-guides)/architecture/index.mdx New React Architecture guide page.
website/src/routes/(docs)/qwik/guides/menu.md Adds Architecture link to Qwik guides menu.
website/src/routes/(docs)/qwik/guides/(advanced-guides)/architecture/index.mdx New Qwik Architecture guide page.
website/src/routes/(docs)/preact/guides/menu.md Adds Architecture link to Preact guides menu.
website/src/routes/(docs)/preact/guides/(advanced-guides)/architecture/index.mdx New Preact Architecture guide page.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +95 to +96
const internalFormStore = createFormStore(config, (input) =>
v.safeParseAsync(config.schema, input)
Comment on lines +89 to +98
First, the [Qwik wrapper](https://github.com/open-circle/formisch/blob/main/frameworks/qwik/src/hooks/useForm$/useForm$.ts) resolves the QRL configuration and hands it to the core function [`createFormStore`](https://github.com/open-circle/formisch/blob/main/packages/core/src/form/createFormStore/createFormStore.ts), together with a parse closure that captures your schema:

```ts
const internalFormStore = createFormStore(
config,
$(async (input) =>
v.safeParseAsync((await configQrl.resolve())().schema, input)
)
);
```
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

1 issue found across 12 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread website/src/routes/(docs)/qwik/guides/(advanced-guides)/architecture/index.mdx Outdated
@fabian-hiller fabian-hiller merged commit 5b6e9ae into main May 21, 2026
30 checks passed
@fabian-hiller
Copy link
Copy Markdown
Member Author

All three actionable items addressed in 6b427bb:

  • cubic — v.non_nullablev.nonNullable: fixed in all six framework guides (cubic only flagged Qwik, but the same typo existed in the others). Verified against `node_modules/valibot/dist/index.d.cts` — Valibot exports the camelCase forms; `non_nullable` is only the internal `schema.type` discriminator.

  • Copilot — Preact `useMemo` snippet/prose mismatch: the original snippet wrapped `useMemo` around just the `createFormStore` call, but the actual wrapper has a single `useMemo` containing both the store creation and the form construction. Rewrote to show one combined block matching the real source.

  • Copilot — Qwik `useConstant` + schema cloning: same kind of fix. Snippet now shows the actual `useConstant` block, including the `JSON.parse(JSON.stringify(config.schema))` clone, plus a short paragraph explaining why the schema is round-tripped (resumability — the internal store needs to be serializable for the server/client boundary).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants