Skip to content

feat: add Page, Topic, and Twins Post content types - #17

Merged
felixwidjaja merged 2 commits into
mainfrom
feat/twins-post-content-types
Sep 10, 2026
Merged

felixwidjaja merged 2 commits into
mainfrom
feat/twins-post-content-types

Conversation

@AriaEdo

@AriaEdo AriaEdo commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add Page collection type for static Twins in the Loop pages
  • Add Topic collection type as taxonomy for Twins Post entries
  • Add Twins Post collection type for Twins in the Loop blog content, with a dedicated twins-post.seo component (ogTitle, ogDescription, ogImage, ogType, keywords) instead of flat top-level fields
  • Add scripts/migrate-twins-post.js to import existing Twins posts and scripts/seed-topics.js to seed topics
  • Update PROJECT_ANALYSIS.md to document the new content types and component

Test plan

  • Restarted Strapi locally (strapi develop) — booted cleanly with no schema errors
  • Confirmed admin panel responds (GET /admin → 200)
  • Confirmed generated types include seo: Schema.Attribute.Component<'twins-post.seo', false>
  • Verify Content Manager UI for Page/Topic/Twins Post in the deployed environment

🤖 Generated with Claude Code

Adds new collection types for the Twins in the Loop site: static Pages,
Topic taxonomy, and Twins Post blog entries with a dedicated
twins-post.seo component for Open Graph/SEO metadata. Includes a
migration script to import existing Twins posts and a seed script for
topics.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 10, 2026 08:59

This comment was marked as resolved.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Edo <aria.edo@gmail.com>
Copilot AI review requested due to automatic review settings September 10, 2026 09:03

Copilot AI 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.

🔵 Needs a closer look

The new CLI scripts should ensure Strapi is always destroyed on failure and should validate required source paths to avoid generic runtime crashes.

Review details

Suppressed comments (2)

Previously missed (2) — in code that hasn't changed since the last review.

scripts/migrate-twins-post.js:164

  • fs.readdirSync(POSTS_SOURCE) will throw a generic ENOENT if the source directory is missing, and if migrate(app) throws, app.destroy() is skipped because it isn't in a finally block. Validate POSTS_SOURCE up front and ensure Strapi is always destroyed via try/finally.
    scripts/seed-topics.js:44
  • main calls process.exit(0) on the success path, but if seedTopics(app) throws, app.destroy() is skipped because it's not in a finally block. Wrap the seeding call in try/finally so the Strapi instance is always destroyed before exiting.
  • Files reviewed: 18/20 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@felixwidjaja
felixwidjaja self-requested a review September 10, 2026 10:31
@felixwidjaja
felixwidjaja merged commit a2b1894 into main Sep 10, 2026
2 checks passed
@AriaEdo
AriaEdo deleted the feat/twins-post-content-types branch September 10, 2026 10:40
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.

4 participants