Skip to content

feat(blog): add local-first architecture post#132

Merged
omsherikar merged 1 commit intomainfrom
feat/blog-system-sitemap-automation
Apr 2, 2026
Merged

feat(blog): add local-first architecture post#132
omsherikar merged 1 commit intomainfrom
feat/blog-system-sitemap-automation

Conversation

@omsherikar
Copy link
Copy Markdown
Collaborator

@omsherikar omsherikar commented Apr 2, 2026

Adds new blog post explaining why Refactron runs entirely on-device, covering the privacy, security, and compliance rationale behind the local-first architecture decision.

Summary by CodeRabbit

  • New Features
    • Added a new blog post: "Why Refactron Runs Locally"

Adds new blog post explaining why Refactron runs entirely on-device,
covering the privacy, security, and compliance rationale behind the
local-first architecture decision.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 2, 2026 15:36
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 2, 2026

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

Project Deployment Actions Updated (UTC)
refactron Ready Ready Preview, Comment Apr 2, 2026 3:36pm

@github-actions github-actions bot added the type:refactor Code refactoring label Apr 2, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 2, 2026

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA d006292.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 2, 2026

📝 Walkthrough

Walkthrough

A new blog post titled "why-refactron-runs-locally" is added to the blog system with comprehensive metadata and markdown content. The sitemap is updated to include the new post URL with appropriate crawl frequency and priority settings.

Changes

Cohort / File(s) Summary
Sitemap Update
public/sitemap.xml
Added URL entry for new blog post with changefreq="monthly" and priority="0.8".
Blog Post Data
src/data/posts.ts
Added new BlogPost object for slug why-refactron-runs-locally with complete metadata (title, author, tags, publish date, accent color) and substantial markdown content in the body field.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

Suggested labels

type:feature

Poem

🐰 Hop, hop, a new post takes flight,
"Why we run locally" shines so bright,
Sitemap updated with monthly care,
Blog data added with developer flair!
Another tale for the web to share! 🌟

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat(blog): add local-first architecture post' accurately reflects the main change: adding a new blog post about local-first architecture, which aligns with the PR objective and the new post slug 'why-refactron-runs-locally'.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/blog-system-sitemap-automation

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.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 2, 2026

👋 Thanks for opening this pull request! A maintainer will review it soon. Please make sure all CI checks pass.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
public/sitemap.xml (1)

1-1: Consider enforcing sitemap↔posts consistency automatically.

To prevent future drift, add a small CI check that validates every blog slug in src/data/posts.ts is present in public/sitemap.xml (and optionally vice versa).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@public/sitemap.xml` at line 1, Add a CI check that ensures every blog slug in
posts.ts appears in sitemap.xml: implement a small Node script (e.g.,
check-sitemap) that reads the exported posts array from posts.ts to extract
slugs, parses public sitemap.xml loc entries, compares the two sets, and prints
any missing slugs and exits non-zero when mismatches exist; add an npm script
"check-sitemap" to run the script and wire that script into CI as a pre-merge
job so PRs fail when sitemap↔posts drift occurs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@public/sitemap.xml`:
- Line 1: Add a CI check that ensures every blog slug in posts.ts appears in
sitemap.xml: implement a small Node script (e.g., check-sitemap) that reads the
exported posts array from posts.ts to extract slugs, parses public sitemap.xml
loc entries, compares the two sets, and prints any missing slugs and exits
non-zero when mismatches exist; add an npm script "check-sitemap" to run the
script and wire that script into CI as a pre-merge job so PRs fail when
sitemap↔posts drift occurs.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7bcc298c-6b3a-4305-afc1-e5d7838ee23d

📥 Commits

Reviewing files that changed from the base of the PR and between 135daa7 and d006292.

📒 Files selected for processing (2)
  • public/sitemap.xml
  • src/data/posts.ts

@omsherikar omsherikar merged commit 7ee5033 into main Apr 2, 2026
17 of 18 checks passed
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 blog post describing Refactron’s local-first/on-device architecture and updates SEO sitemap content so the post is discoverable.

Changes:

  • Added new blog post entry (why-refactron-runs-locally) including metadata + full body content.
  • Updated public/sitemap.xml to include the new blog post URL.

Reviewed changes

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

File Description
src/data/posts.ts Adds the new post’s metadata and markdown body to the in-app blog data source.
public/sitemap.xml Adds the new blog post URL to the main domain sitemap.

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

Comment on lines +730 to +736
{
slug: 'why-refactron-runs-locally',
title:
'Why We Built Refactron to Run Locally — Your Code Stays on Your Machine',
industry: 'Product',
accentColor: '#2D6A8F',
publishedAt: 'April 2, 2026',
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

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

BlogPage renders non-featured posts (featured === false) in the array order without sorting. Since this new post is appended at the end of blogPosts, it will show up as the last regular post even though its publishedAt is the newest date. Consider inserting it earlier in the array (or sorting rest by publishedAt) so the newest post isn’t buried at the bottom of the blog listing.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:refactor Code refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants