feat(landing): add AI-generated content disclaimer to integration landing page#4845
Conversation
…ding page Adds an optional aiDisclaimer field to the integration landing content (types + data), rendered as an independent 'AI-generated content' section and baked into integrations.json via docs-gen. Populates Slack to satisfy Slack's AI-components guideline (disclaimer on the landing page).
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryLow Risk Overview Slack is the first integration with copy, aimed at marketplace requirements (e.g. Slack AI-components) that the disclaimer appear on the public landing page. Reviewed by Cursor Bugbot for commit a50a34a. Configure here. |
Greptile SummaryThis PR adds an optional
Confidence Score: 5/5Safe to merge — all changes are additive, the new field is optional, and the render path is guarded. The new aiDisclaimer field is entirely optional and defaults to absent for all existing integrations, so no existing landing pages are affected. The Slack entry is the only one populated, and both landing-content.ts and the re-generated integrations.json are kept in sync within this PR. The page component mirrors the exact guard-and-divider pattern already used for the privacy section, with text-only rendering (no XSS risk). The docs-gen pipeline correctly picks up aiDisclaimer from landing-content.ts and bakes it into the JSON output, confirming the data flow is intact. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["landing-content.ts\nSlack aiDisclaimer string"] -->|"scripts/generate-docs.ts"| B["integrations.json\nlandingContent.aiDisclaimer"]
B -->|"imported as Integration array"| C["page.tsx"]
C --> D{"landingContent?.aiDisclaimer?"}
D -- yes --> E["Render AI-generated content section\n+ trailing divider"]
D -- no --> F["Skip section"]
E --> G["How to automate section"]
F --> G
Reviews (1): Last reviewed commit: "feat(landing): add AI-generated content ..." | Re-trigger Greptile |
Summary
aiDisclaimerfield to the integration landing content (types.ts+landing-content.ts), rendered as an independent "AI-generated content" section and baked intointegrations.jsonvia docs-genType of Change
Testing
bun run lint,tsc,biomepass; docs generation is idempotent;integrations.jsonvalidated.Checklist