Skip to content

Add blog post on architecture and framework integration#106

Merged
fabian-hiller merged 8 commits into
mainfrom
add-architecture-post
May 22, 2026
Merged

Add blog post on architecture and framework integration#106
fabian-hiller merged 8 commits into
mainfrom
add-architecture-post

Conversation

@fabian-hiller
Copy link
Copy Markdown
Member

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

Summary by cubic

Added the blog post “One core, six frameworks, zero runtime abstraction,” clarifying the build-time reactivity swap with concrete adapter snippets, improved links, updated publish date, and final formatting.
Standardized wording across the React/Vue/Svelte/Solid/Preact/Qwik architecture guides for clarity, and renamed the blog posts layout route to fit the new structure (no functional changes).

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

Copilot AI review requested due to automatic review settings May 21, 2026 03:05
@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 11:30pm

Request Review

@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label May 21, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 21, 2026

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

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: ee83fbfc-12d3-4ad3-8881-cc5e544b45e4

📥 Commits

Reviewing files that changed from the base of the PR and between 5a6a0c4 and bd9d5de.

📒 Files selected for processing (1)
  • website/src/routes/blog/(posts)/one-core-six-frameworks/index.mdx

Walkthrough

This pull request adds a new MDX blog post documenting Formisch's architecture: a four-function reactive contract (createSignal, batch, untrack, createId), core reliance on a typed .value signal shape, build-time bundler swapping to framework-specific index.{framework}.ts files, and per-framework adapter details (including React’s minimal pub/sub + useSignals). It also updates framework-specific architecture guides (Preact, Qwik, React, Solid, Svelte, Vue) to rephrase and clarify those concepts and the emphasis on tree-shakeability and per-field signals.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title directly reflects the main content: a blog post about Formisch's architecture demonstrating how one core works across six frameworks without runtime abstraction.
Description check ✅ Passed The description is directly related to the changeset, accurately summarizing the addition of a blog post on architecture and framework integration, along with standardized wording across framework-specific guides.
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

@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.

No issues found across 2 files

Re-trigger cubic

@dosubot dosubot Bot added the documentation Improvements or additions to documentation label May 21, 2026
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 a new architecture-focused blog post and introduces a dedicated layout for rendering individual blog posts with consistent meta/cover rendering and an “Edit page” link.

Changes:

  • Added a new MDX blog post: “One core, six frameworks, zero runtime abstraction”.
  • Introduced a (posts) route layout to render post title/meta/cover, post content, and credits.
  • Added an “Edit page” button for blog posts that links to the post source on GitHub.

Reviewed changes

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

File Description
website/src/routes/blog/(posts)/one-core-six-frameworks/index.mdx New blog post describing Formisch’s build-time framework integration approach.
website/src/routes/blog/(posts)/layout.tsx New layout component for blog post pages (title/meta/cover + content + edit link + credits).
Comments suppressed due to low confidence (1)

website/src/routes/blog/(posts)/one-core-six-frameworks/index.mdx:51

  • This section says "Here are four of them, in full", but the linked adapter files include additional exports/implementation (e.g. framework, createId, batch, untrack). Either include the full adapter contents or adjust the wording to clarify these snippets are partial (e.g. showing only the createSignal part).
Because most modern frameworks already have a signal primitive that fits the `.value` getter/setter shape, most of the adapters are nearly invisible. Here are four of them, in full:

**Vue** ([`index.vue.ts`](https://github.com/open-circle/formisch/blob/main/packages/core/src/framework/index.vue.ts)):

```ts
export { shallowRef as createSignal } from 'vue';
</details>



---

💡 <a href="/open-circle/formisch/new/main?filename=.github/instructions/*.instructions.md" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Add Copilot custom instructions</a> for smarter, more guided reviews. <a href="https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Learn how to get started</a>.

Comment thread website/src/routes/blog/(posts)/one-core-six-frameworks/index.mdx Outdated
Comment thread website/src/routes/blog/(posts)/one-core-six-frameworks/index.mdx Outdated
@fabian-hiller
Copy link
Copy Markdown
Member Author

Three Copilot items addressed in cdce793:

  • Line 51 — "in full": reworded. Each adapter file also has a `framework` const and a `createId` helper, so the snippets weren't actually shown in full. Now says "Here's the reactivity glue from four of them — each file also exports a `framework` constant and trivial `createId` helper, but the signal part is the only architecturally interesting bit."

  • Line 111 — grammar: rephrased "every framework's docs has" to "every framework has its own architecture guide".

  • Line 22 — "four functions" ignoring `framework`: kept as written. `framework` is a `const`, not a function, so the literal claim is accurate. It's used in one place (the Qwik `v.lazy` gate) and isn't part of the reactivity contract — adding it would dilute the architectural point.

Bonus self-caught fix: line 41 originally said "No `if (framework === 'solid')` anywhere in the source", which is literally false (`initializeFieldStore.ts` has `framework === 'qwik' && schema.type === 'lazy'` for the Qwik feature gate). Reworded to focus on what's actually true: no runtime detection.

@fabian-hiller fabian-hiller merged commit 8d08366 into main May 22, 2026
30 checks passed
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:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants