Lensmor API Logo and Favicon Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.
Goal: Make the Mintlify API-Doc site show the Lensmor logo beside the Lensmor API name and use the same logo asset as the favicon.
Architecture: Keep this as a docs-repo-only branding change. Copy the upstream logo asset from the app repo into API-Doc/logo.svg, then point Mintlify docs.json at that single published asset for both logo and favicon.
Tech Stack: Mintlify docs.json, SVG static asset, shell copy/verification commands, ripgrep verification
Task 1: Add the published logo asset
Files:-
Create:
logo.svg -
Source reference:
../a60-lensmor-event-playground/public/assets/logo.svg - Step 1: Verify the upstream logo asset exists and inspect its current SVG content
test -f ../a60-lensmor-event-playground/public/assets/logo.svg && sed -n '1,20p' ../a60-lensmor-event-playground/public/assets/logo.svg
Expected: file exists and prints the square SVG icon markup beginning with:
- Step 2: Copy the upstream asset into the docs repo as the published Mintlify logo
cp ../a60-lensmor-event-playground/public/assets/logo.svg ./logo.svg
Expected: logo.svg now exists in the API-Doc repo root
- Step 3: Verify the copied file matches the upstream source exactly
cmp -s ../a60-lensmor-event-playground/public/assets/logo.svg ./logo.svg && echo MATCH
Expected: MATCH
- Step 4: Review the published asset content before config changes
sed -n '1,20p' ./logo.svg
Expected: output matches the copied SVG icon markup, including:
- Step 5: Commit the asset addition
logo.svg
Task 2: Point Mintlify branding and favicon at the shared logo
Files:-
Modify:
docs.json - Step 1: Write the failing config diff by replacing the old favicon-only setup with shared logo branding
docs.json from:
- Step 2: Verify the old config no longer points at
favicon.svg
rg -n 'favicon\.svg|"logo"|"favicon"' docs.json
Expected:
- Step 3: Validate the final
docs.jsonshape around the branding block
sed -n '1,20p' docs.json
Expected: the top of the file shows the shared logo object and favicon both pointing to /logo.svg
- Step 4: Commit the Mintlify config update
docs.json branding change
Task 3: Verify site behavior and final repo state
Files:- Verify only
- Step 1: Run a focused search to confirm the site uses the shared logo asset in config
rg -n '"logo"|/logo\.svg|/favicon\.svg' docs.json
Expected:
/favicon.svg reference in docs.json
- Step 2: Start the Mintlify preview and visually verify the brand area and browser tab
pnpm dlx mintlify dev
Expected: local Mintlify dev server starts successfully; in the browser, the site chrome shows the Lensmor logo beside Lensmor API and the browser tab favicon uses the same logo asset
- Step 3: Review the final diff for scope control
git diff -- logo.svg docs.json
Expected: only two scoped changes appear — the new logo.svg file and the docs.json branding block update
- Step 4: Check git status for the intended modified files only
git status --short
Expected:
- Step 5: Commit the final verification pass if the workflow requires a single squashed docs commit instead of the per-task commits above