# Context: datacontroller.io (marketing site) The public marketing website for Data Controller for SASĀ®, built with **Gatsby** (React + TypeScript, styled-components). It hosts the product's marketing pages, blog and feed. It is separate from the product itself (`dc`) and the product documentation (`docs.datacontroller.io`). ## What the product is Data Controller for SASĀ® is a web application that lets users safely add, modify and delete data in SAS datasets and databases, with an edit-stage-approve workflow and full change history. It runs on SAS Viya, SAS 9 EBI and SASjs Server. For the product's own domain vocabulary (roles, load types, MPE control tables, validations, security), see `dc/CONTEXT.md`; for user-facing feature docs, see the `docs.datacontroller.io` repo. Treat those as the source of truth when writing copy about how the product behaves. ## Layout - `content/blog/` - long-form articles (published at `/blog/`). - `content/feed/` - short announcements (published at `/feed/`). See the `add-feed-post` skill. - `src/pages/` - top-level pages (`index`, `about`, `contact`, `faq`, plus the markdown-driven `{MarkdownRemark.frontmatter__slug}.tsx`). - `src/markdown-pages/` - standalone markdown pages (e.g. `pricing.md`). - `src/templates/` - list/post/sidebar templates for blog and feed. - `src/components/` - shared React components (layout, navibar, footer, hero, seo). - `static/` - static assets served as-is; `gatsby-*.js` - Gatsby config (feed, node APIs, etc.). ## Conventions - Use regular dashes (`-`) in content, not em-dashes. - Blog and feed share a single combined RSS feed at `/rss.xml` (via `gatsby-plugin-feed`); new posts appear automatically on the next build. - Lint with `npm run lint` (prettier) and typecheck with `npm run typecheck` before considering front-end changes done. - Preview locally with `npm run develop`. ## Agent files All agent-facing material lives under `.agents/`: skills in `.agents/skills/` (e.g. `add-feed-post`), and reference docs in `.agents/docs/` (`domain.md`, `issue-tracker.md`). See `AGENTS.md` for agent skills, writing rules, and where these files live.