Skip to content

Scaffold Astro project and add blog design system tokens - #6

Merged
rahulc0dy merged 14 commits into
mainfrom
feat/scaffold-and-design
Aug 15, 2026
Merged

Scaffold Astro project and add blog design system tokens#6
rahulc0dy merged 14 commits into
mainfrom
feat/scaffold-and-design

Conversation

@rahulc0dy

@rahulc0dy rahulc0dy commented Jul 17, 2026

Copy link
Copy Markdown
Member

Issue Reference

Summary by CodeRabbit

  • New Features

    • Introduced a complete blog experience with featured and recent posts, category browsing, post pages, tags, read-time estimates, and table of contents.
    • Added responsive navigation, footer, reusable post cards, category badges, and polished layouts.
    • Added SEO metadata, structured data, sitemap support, and RSS feeds.
    • Added code blocks with copy-to-clipboard functionality and support for interactive content.
    • Added protected editorial access and production-ready deployment configuration.
  • Documentation

    • Added setup, development, deployment, architecture, and licensing documentation.

@rahulc0dy
rahulc0dy requested a review from theMr17 July 17, 2026 16:54
@rahulc0dy rahulc0dy self-assigned this Jul 17, 2026
@rahulc0dy rahulc0dy added the enhancement New feature or request label Jul 17, 2026
@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

The repository is scaffolded as a static Astro blog with MDX content, React support, Keystatic publishing, shared layouts, responsive styling, RSS and sitemap metadata, CI workflows, and GitHub organization access control.

Changes

Blog platform

Layer / File(s) Summary
Project foundation
.vscode/*, .github/workflows/*, astro.config.ts, package.json, tsconfig.json, .gitignore, .prettierignore, .prettierrc.json, eslint.config.js, public/robots.txt, README.md, LICENSE
The Astro project, Bun-based scripts and CI, editor tooling, repository hygiene, crawler metadata, documentation, and license are configured.
Design system and global styling
src/styles/design-tokens.css, src/styles/global.css
Design tokens, global resets, typography, prose styles, utilities, buttons, animations, code styling, and responsive rules are added.
Shared site shell and components
src/components/*, src/components/interactive/*, src/layouts/BaseLayout.astro
Reusable navigation, footer, SEO metadata, layouts, post cards, category badges, code blocks, table of contents, section dividers, and interactive wrappers are added.
Content pipeline and blog delivery
src/content.config.ts, src/content/blog/*, src/pages/index.astro, src/pages/blog/*, src/pages/categories/*, src/pages/rss.xml.ts, src/layouts/PostLayout.astro
The blog collection and seed post are defined. The homepage, post routes, category pages, post layout, and RSS endpoint load published entries and render their metadata and content.
CMS publishing and access control
keystatic.config.ts, src/middleware.ts
Keystatic defines the blog editing schema and storage modes. Middleware validates GitHub identity and organization membership for protected Keystatic routes.

Sequence Diagram(s)

sequenceDiagram
  participant Visitor
  participant BlogRoute
  participant BlogCollection
  participant PostLayout
  participant SEOHead
  Visitor->>BlogRoute: request published post route
  BlogRoute->>BlogCollection: load published entry
  BlogRoute->>PostLayout: pass entry and headings
  PostLayout->>SEOHead: pass post metadata
  SEOHead-->>Visitor: render SEO-enabled document
Loading

Merge Risk: 🟡 Moderate · up to 4838a

The authentication flow can misreport forbidden responses as temporary service outages and may remove valid access tokens for unexpected membership-check statuses, causing users to lose access or repeatedly reauthenticate. Merge should wait until response classification and token deletion are restricted to the intended statuses.

🚥 Pre-merge checks | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning Scaffolding, design tokens, layout, and CI are present [#1][#2][#3][#7], but required seed posts are missing [#4] and InteractiveWrapper lacks lazy loading and repo-write access enforcement [#5]. Add building-an-lsm-tree and wal-recovery with required colocated assets, implement client:visible lazy loading, and enforce Keystatic access by repository write permission.
Out of Scope Changes check ⚠️ Warning Category pages, CodeBlock, robots.txt, and other blog features extend beyond the linked scaffolding, design, layout, content, interactive, and CI objectives. Move unrelated feature additions to separate issues, or add explicit linked requirements before merging.
Docstring Coverage ⚠️ Warning Docstring coverage is 16.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.

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.

@coderabbitai coderabbitai Bot changed the title @coderabbitai Scaffold Astro project and add blog design system tokens Jul 17, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 9


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 41cf54dd-e09f-40c3-a675-37ca9e452728

📥 Commits

Reviewing files that changed from the base of the PR and between 2c926c4 and 3dfc4b9.

⛔ Files ignored due to path filters (2)
  • bun.lock is excluded by !**/*.lock
  • public/favicon.svg is excluded by !**/*.svg
📒 Files selected for processing (27)
  • .gitignore
  • .vscode/extensions.json
  • .vscode/launch.json
  • astro.config.mjs
  • package.json
  • public/robots.txt
  • src/components/CategoryBadge.astro
  • src/components/Footer.astro
  • src/components/Navbar.astro
  • src/components/PostCard.astro
  • src/components/SEOHead.astro
  • src/components/SectionDivider.astro
  • src/components/TableOfContents.astro
  • src/components/interactive/InteractiveWrapper.tsx
  • src/components/interactive/LSMTreeVisualization.tsx
  • src/content.config.ts
  • src/content/blog/building-an-lsm-tree.mdx
  • src/content/blog/wal-recovery.mdx
  • src/content/blog/why-makeshift.mdx
  • src/layouts/BaseLayout.astro
  • src/layouts/PostLayout.astro
  • src/pages/blog/[...slug].astro
  • src/pages/index.astro
  • src/pages/rss.xml.ts
  • src/styles/design-tokens.css
  • src/styles/global.css
  • tsconfig.json

Comment thread astro.config.mjs Outdated
Comment thread src/components/CategoryBadge.astro Outdated
Comment thread src/components/interactive/LSMTreeVisualization.tsx Outdated
Comment thread src/components/Navbar.astro
Comment thread src/components/PostCard.astro Outdated
Comment thread src/content/blog/wal-recovery/index.mdx Outdated
Comment thread src/content/blog/why-makeshift/index.mdx
Comment thread src/layouts/BaseLayout.astro
Comment thread src/styles/global.css

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 1efc1d31-d51f-451b-95e7-1cedc6ed9b7e

📥 Commits

Reviewing files that changed from the base of the PR and between 3dfc4b9 and 169783c.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (34)
  • .github/workflows/build.yml
  • .github/workflows/lint.yml
  • .gitignore
  • .prettierignore
  • .prettierrc.json
  • Blog Site Plan.md
  • astro.config.ts
  • eslint.config.js
  • keystatic.config.ts
  • package.json
  • src/components/CategoryBadge.astro
  • src/components/CodeBlock.astro
  • src/components/Footer.astro
  • src/components/Navbar.astro
  • src/components/PostCard.astro
  • src/components/SEOHead.astro
  • src/components/SectionDivider.astro
  • src/components/TableOfContents.astro
  • src/components/interactive/InteractiveWrapper.tsx
  • src/content.config.ts
  • src/content/blog/building-an-lsm-tree/LSMTreeVisualization.tsx
  • src/content/blog/building-an-lsm-tree/index.mdx
  • src/content/blog/wal-recovery/index.mdx
  • src/content/blog/why-makeshift/index.mdx
  • src/layouts/BaseLayout.astro
  • src/layouts/PostLayout.astro
  • src/pages/blog/[...slug].astro
  • src/pages/categories/[category].astro
  • src/pages/categories/index.astro
  • src/pages/index.astro
  • src/pages/rss.xml.ts
  • src/styles/design-tokens.css
  • src/styles/global.css
  • tsconfig.json

Comment thread keystatic.config.ts
Comment thread src/components/SEOHead.astro Outdated
Comment thread src/content/blog/building-an-lsm-tree/LSMTreeVisualization.tsx Outdated
Comment thread src/content/blog/building-an-lsm-tree/LSMTreeVisualization.tsx Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e666d273-848c-4548-a58a-98ecdd47f4d8

📥 Commits

Reviewing files that changed from the base of the PR and between 169783c and f42fb8c.

⛔ Files ignored due to path filters (1)
  • public/favicon.svg is excluded by !**/*.svg
📒 Files selected for processing (4)
  • .github/workflows/lint.yml
  • LICENSE
  • README.md
  • src/components/Navbar.astro
💤 Files with no reviewable changes (1)
  • .github/workflows/lint.yml

Comment thread README.md
Comment thread README.md
Comment thread README.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/components/Navbar.astro (1)

27-39: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Mark the Blog section active on post routes.

currentPath === link.href only marks / as active. src/pages/blog/[...slug].astro renders posts under /blog/<id>, so the Blog link has no active state on post pages.

Proposed route-aware active check
 const currentPath = Astro.url.pathname;
+const isBlogRoute =
+  currentPath === "/" || currentPath.startsWith("/blog/");
...
-              { active: link.isInternal && currentPath === link.href },
+              {
+                active:
+                  link.isInternal &&
+                  (currentPath === link.href ||
+                    (link.href === "/" && isBlogRoute)),
+              },

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 608202f2-83cf-4d4a-83b5-d92e70ca34bc

📥 Commits

Reviewing files that changed from the base of the PR and between f42fb8c and 32a7eb0.

📒 Files selected for processing (8)
  • README.md
  • keystatic.config.ts
  • src/components/CategoryBadge.astro
  • src/components/Navbar.astro
  • src/components/SEOHead.astro
  • src/layouts/PostLayout.astro
  • src/middleware.ts
  • src/styles/global.css

Comment thread src/components/Navbar.astro Outdated
Comment thread src/components/SEOHead.astro
Comment thread src/layouts/PostLayout.astro
Comment thread src/middleware.ts
Comment thread src/middleware.ts
coderabbitai[bot]
coderabbitai Bot previously approved these changes Aug 9, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 16821d82-c5bd-47f3-b7c3-0145f19f1fe2

📥 Commits

Reviewing files that changed from the base of the PR and between 32a7eb0 and b7665a2.

📒 Files selected for processing (3)
  • src/components/Navbar.astro
  • src/components/SEOHead.astro
  • src/middleware.ts
💤 Files with no reviewable changes (1)
  • src/components/SEOHead.astro

Comment thread src/middleware.ts
Comment thread src/middleware.ts Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 6410fefc-0ff1-4c4d-8cc4-4499ac11ccb7

📥 Commits

Reviewing files that changed from the base of the PR and between b7665a2 and 36e1552.

📒 Files selected for processing (1)
  • src/middleware.ts

Comment thread src/middleware.ts
coderabbitai[bot]
coderabbitai Bot previously approved these changes Aug 12, 2026
Comment thread Blog Site Plan.md Outdated
Comment thread src/content/blog/why-makeshift/index.mdx Outdated
@rahulc0dy

Copy link
Copy Markdown
Member Author

@coderabbitai approve

@rahulc0dy
rahulc0dy requested a review from theMr17 August 15, 2026 16:29

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e3997337-496b-4426-b8dd-3d9f1fbacd9a

📥 Commits

Reviewing files that changed from the base of the PR and between 36e1552 and 4838a12.

📒 Files selected for processing (2)
  • src/content/blog/why-makeshift/index.mdx
  • src/middleware.ts

Comment thread src/middleware.ts
@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown
✅ Action performed

Comments resolved and changes approved.

@rahulc0dy
rahulc0dy merged commit 743216e into main Aug 15, 2026
3 checks passed
@rahulc0dy
rahulc0dy deleted the feat/scaffold-and-design branch August 15, 2026 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

2 participants