Big CMS migrations tend to arrive before the content model is ready for them. That is usually the wrong moment.
What keeps working
A small TypeScript layer gives me three things immediately:
- Typed routes
- Predictable lists
- Easy migration later
Why local first helps
Local content files make the structure visible. That means I can ask better questions before adding a larger system:
- What content actually exists?
- Which fields are stable?
- Which routes need to be canonical?
- What stays a draft?
A good early boundary
type Post = { title: string; slug: string; description: string; date: string; category: string; tags: string[]; };
The point is not to avoid a CMS forever. The point is to wait until the shape is worth preserving.