Instruction file imported from dynamics-tim/dynamics-tim-landing (
.github/instructions/content.instructions.md). Copyright stays with the author.
Content Collection Rules
Schemas (defined in src/content/config.ts)
timeline: title, company, startDate, endDate?, location?, tags[], highlight?projects: title, summary, link?, repo?, tech[], featured?certs: title, issuer, issued, credentialUrl?, skills[]
All schemas use Zod validation. After any schema change, run npm run sync.
Writing MDX Content
- Frontmatter must match the Zod schema exactly — mismatches break the build
- Use standard Markdown inside MDX files; avoid importing components into content
- Keep content concise — it renders inside
.prosecontainers with Tailwind Typography - Tags and skills arrays should use consistent casing across entries (e.g., "Dynamics 365", not "dynamics365")
Adding New Collections
- Define the schema in
src/content/config.tswithdefineCollectionand Zod - Export it in the
collectionsobject - Create the directory under
src/content/ - Run
npm run syncto generate TypeScript types - Query with
getCollection('name')in Astro components