Loading...
Loading...
Verify that a theme implementation is complete and follows all project standards. Use after adding a new theme to turbo-themes.
npx skill4agent add lgtm-hq/ai-skills turbo-verify/turbo-verify rose-pineturbo-add# Pick a known-good variant id from src/themes/registry.ts (e.g. rose-pine-moon)
rg -l 'rose-pine-moon' --hidden -g '!node_modules' -g '!dist' | sort > /tmp/ref.txt
rg -l '<new-variant-id>' --hidden -g '!node_modules' -g '!dist' | sort > /tmp/new.txt
diff /tmp/ref.txt /tmp/new.txt
# Family-level touchpoints (type unions, family maps, vendor metadata)
diff <(rg -l 'rose-pine' src/ packages/ apps/ scripts/ | sort) \
<(rg -l '<theme>' src/ packages/ apps/ scripts/ | sort)theme:syncpackage.jsontest/integration/bundle-size.test.ts@lgtm-hq/turbo-themes-core/tokenssrc/themes/packs/<theme>.synced.ts<theme>.tsThemePackageidnamehomepagelicensesourceflavorsidlabelvendorappearancelightdarktokensiconUrlVENDOR_ICON_MAPbackgroundtextbrandstateborderaccenttypographycontentsrc/themes/registry.tsallFlavorsschema/tokens/themes/<variant-id>.tokens.json$value$type$schema../../turbo-themes.schema.json#/$defs/ThemeFileassets/img/<variant-id>.pngThemeFamilypackages/theme-selector/src/types.tsTHEME_FAMILIESpackages/theme-selector/src/constants.tsVENDOR_FAMILY_MAPVENDOR_ICON_MAPFLAVOR_DESCRIPTIONSpackages/theme-selector/src/theme-mapper.tsapps/site/src/data/theme-meta.tsBaseLayout.astroThemeDropdown.astrothemeGroupsthemeNameslabelthemeIconsvalidThemeIdsThemeDropdown.astroBaseLayout.astrotheme-meta.tsthemes.astrothemeNamesindex.astrotheme:syncsrc/themes/packs/packages/core/...node_modules/<pkg>/package.jsonsource.version.synced.tsbun run buildvendorMetascripts/prepare-style-dictionary.mjstokens.jsongit statusbun run buildtokens.json<select>VALID_THEMESLIGHT_THEMESTHEMES@lgtm-hq/turbo-themes-core/tokensThemeId.swiftThemeRegistry.swiftThemeDefinitionThemeRegistryTests.swiftuv run lintro chk # Expected: 0 issues (run first for fast failure)
bun run build # Expected: "Build complete!" with new theme count
bun run examples:build # Expected: all example projects build
bun run test # Expected: all unit tests pass
bun run examples:test # Expected: all example E2E tests pass
cd apps/site && bun run build # Expected: no errorsmaintenance-generate-snapshots.yml| Issue | Solution |
|---|---|
| Theme reverts on navigation | Add variants to |
| Wrong/missing header label | Fix |
| Missing icon | Fix |
| Theme in wrong group | Fix |
| Theme not appearing | Check |
| Tests fail on theme order | Use |
| Bundle too large | Review asset diff; raise bundle budget if intentional |
| CI "Cannot find module" | Add sync script to |
| tokens.json wrong metadata | Add to |
| Generated assets outdated | Run |
| Missing descriptions | Add to |
| Sync writes to wrong path | Change outPath to |
| Visual regression fails | Run |
| Missing from examples/Swift | Re-run the section-1 diff and fill the gaps |
## Theme Review: <theme_name>
### Status: PASS / FAIL / PARTIAL
### Checklist Summary
- Discovery diff: clean / N missing files
- Core Implementation: X/Y items
- Theme Selector Package: X/Y items
- Site Integration: X/Y items
- Build Pipeline & Examples: X/Y items
- Build Verification: X/Y items
- Functional Testing: X/Y items
### Missing Items
1. [item]
### Recommendations
1. [recommendation]