98 Commits

Author SHA1 Message Date
J XIA 0337446dad Merge pull request #91 from zachshallbetter/feat/site-md
feat(utilities): add site-md skill to generate SITE.md constitutions
2026-08-17 13:20:22 -07:00
Zach Shallbetter 925ce6db9e feat(utilities): add site-md skill to generate SITE.md constitutions 2026-08-12 22:21:08 -07:00
J XIA 535b0889a4 Merge pull request #89 from google-labs-code/jilin
feat(stitch-design): enhance static HTML snapshotting, dev-overlay re…
2026-07-30 10:07:48 -07:00
jilinxia bf2f67da80 feat(stitch-design): enhance static HTML snapshotting, dev-overlay removal, and route titling 2026-07-29 10:38:23 -07:00
JIahao wu 894d79ce4a Merge pull request #88 from George-Wu/feat/angular-and-auth-gated-support
feat(stitch-design): add Angular support and auth-gated documentation
2026-07-29 15:24:13 +00:00
George Wu 3ba70eef60 feat(stitch-design): add Angular support and auth-gated documentation
- Support Angular in code-to-design description, prerequisites, and discovery
- Expand extract-design-md/references/angular.md with Tailwind v4, PrimeNG Aura, and modern Angular standalone/zoneless patterns
- Document Angular CLI (--wait 2000) and auth-gated page handling (--auth-script) in extract-static-html
2026-07-29 05:22:14 +00:00
J XIA 7b53207b94 Merge pull request #87 from arimu1/docs/63-opencode-integration
docs: add OpenCode manual install guidance
2026-07-21 10:37:56 -07:00
J XIA a6f6cadc65 Merge pull request #82 from tianrking/agent/fix-shadcn-doc-links
docs: fix shadcn skill links
2026-07-21 10:35:52 -07:00
J XIA 2df9dad15e Merge pull request #84 from Emp1500/fix-validate-crash-on-bad-input
fix(validate): don't crash on missing/bad file argument
2026-07-21 10:33:09 -07:00
J XIA c78c298da3 Merge pull request #85 from Emp1500/fix-ci-react-native-validation
fix(ci): run validate-skills workflow against react-native too
2026-07-21 10:32:08 -07:00
J XIA f46ab80ef8 Merge pull request #83 from Emp1500/fix-hex-regex-inconsistency
fix(react-components): match full hex color range in validate.js
2026-07-21 10:31:19 -07:00
J XIA 8d85b7679a Merge pull request #86 from Emp1500/fix-shadcn-verify-setup-find
fix(shadcn-ui): exclude node_modules from verify-setup.sh find calls
2026-07-21 10:29:25 -07:00
arimu1 67be442083 docs: add OpenCode manual install guidance
Document how to copy skills into .opencode/skills, configure Stitch MCP
in opencode.json, and note kebab-case naming / tool-name differences (#63).
2026-07-19 09:56:29 +07:00
Emp1500 35b5e0ffce fix(shadcn-ui): exclude node_modules from verify-setup.sh find calls
The find calls for locating the global CSS file, counting installed
ui components, and locating utils.ts all searched the whole project
tree with no node_modules exclusion. Any dependency shipping its own
index.css, components/ui/*.tsx, or lib/utils.ts got picked up
instead of (or counted alongside) the real project files, e.g.
inflating the reported component count. Exclude node_modules from
all three.
2026-07-18 09:50:34 +00:00
Emp1500 ea5b19e6ad fix(ci): run validate-skills workflow against react-native too
The workflow only validated react-components' gold-standard example;
react-native's validator was never exercised in CI. Add a mirroring
job for react-native, plus the package-lock.json it needs for `npm
ci` (react-native had none, unlike react-components).
2026-07-18 09:48:27 +00:00
Emp1500 608f346e53 fix(validate): don't crash on missing/bad file argument
fs.readFileSync ran before the try block with no argv[2] check, so
running validate.js with no argument or a bad path threw an unhandled
exception (raw Node stack trace) instead of a clean error. Add a
usage check and move the read inside the try/catch in both
react-components and react-native validate.js.
2026-07-18 09:44:57 +00:00
Emp1500 72b0e7b806 fix(react-components): match full hex color range in validate.js
HEX_COLOR_REGEX required exactly 6 hex digits, so short-form colors
like #fff and #ffff (valid CSS/Tailwind hex) went undetected. Align
with react-native's validator: allow 3-8 hex digits with a trailing
word boundary.
2026-07-18 09:37:34 +00:00
tianrking 0a80072c2c docs: fix shadcn skill links 2026-07-16 12:14:08 +08:00
J XIA ad4b8bc8c5 Merge pull request #75 from drmikecrypto/feat/react-vite-dashboard-skill
feat(build): react-vite-dashboard agent skill
2026-07-13 11:23:02 -07:00
J XIA 154ed3bcc5 Merge pull request #80 from Emp1500/fix-inefficient-ast-traversal
Fix inefficient AST traversal in validate.js
2026-07-13 11:19:15 -07:00
J XIA 9698163543 Merge pull request #81 from Emp1500/fix-download-error-handling
Fix download script saving HTTP error pages as assets
2026-07-13 11:17:23 -07:00
Emp1500 3c2ad579f5 fix(remotion): fail download script on HTTP errors
curl without -f treats an HTTP error response as success, so an
expired signed URL saved the 403 XML error page as the output .png
and the script reported a successful download. The else branch was
also unreachable: with set -e the script exits before the exit-code
check runs.

Add -f so curl fails on HTTP errors, move curl into an if condition
so the failure branch is reachable under set -e, and remove the
partial output file on failure.
2026-07-11 04:06:55 +00:00
Emp1500 9a6ea47d48 perf(skills): traverse only AST nodes in validate.js walkers
The walk() helper recursed into every enumerable object property,
including the span metadata ({start, end, ctxt}) attached to every
SWC node, so the walker visited 2-4x more objects than the AST
actually contains and re-ran all type checks on each of them.

Restrict recursion to arrays and real AST nodes (objects with a
string `type`) and skip span. Measured on the bundled examples this
cuts object visits to 25-46% of the previous count (~4-5x faster)
with byte-identical validation results on both the gold-standard
and failing components.

Applies to both copies of the walker:
- react-components/scripts/validate.js
- react-native/scripts/validate.js (parent tracking preserved:
  arrays forward the original parent so ExportDeclaration detection
  is unchanged)
2026-07-11 03:48:41 +00:00
J XIA 3f64079d75 Merge pull request #77 from google-labs-code/jilin
Update two react SKILLs a bit
2026-06-29 16:38:54 -07:00
jilinxia ba6907b99a docs(readme): add sync example to stitch::react-native 2026-06-29 14:08:29 -07:00
jilinxia e5cdbf6859 docs(readme): add sync example to stitch::react-components 2026-06-29 14:08:11 -07:00
jilinxia 6bd4439299 docs(readme): move stitch::react-native above remotion in skills table 2026-06-29 14:06:48 -07:00
jilinxia ec43edba6b docs(skills): make phase 4 dev server and simulator testing optional
- Update react-components and react-native skills to make Phase 4 audits optional
- Require explicit user permission before starting dev servers, packagers, or simulators
- Keep TypeScript compilation verification mandatory but adjust gate rules
2026-06-29 13:57:24 -07:00
jilinxia 62d6d4d5b0 docs(skills): restructure react-components and react-native with phased gates
- Restructure react-components and react-native skills into four phases
- Add explicit quality gates, anti-patterns, and troubleshooting for each phase
- Explicitly cover syncing and updating existing components to align with the latest Stitch designs
- Restore name field in react-components to stitch::react-components for consistency
2026-06-29 13:35:11 -07:00
dr mike 401e46309c feat(build): react-vite-dashboard agent skill
Add Agent Skill for React + Vite dashboards with TanStack Query, DESIGN.md tokens, and Web3 read patterns. Document docs URL workaround for stitch-skills#69.
2026-06-27 19:14:59 +03:30
J XIA 38f45dd1c0 Merge pull request #74 from google-labs-code/jilin
rename: react:components → stitch::react-components
2026-06-26 16:34:22 -07:00
jilinxia 2a17474687 rename: react:components → stitch::react-components 2026-06-26 14:42:59 -07:00
J XIA fac732417e Merge pull request #71 from google-labs-code/jilin
feat(stitch-design): add markdown upload support and generated-by pro…
2026-06-17 09:04:42 -07:00
jilinxia 22716f9749 feat(stitch-design): add markdown upload support and generated-by provenance tracking
- upload_to_stitch.py: Add .md extension / text/markdown MIME mapping
- upload_to_stitch.py: Add --generated-by argument to set the generatedBy field on HTML/Markdown screens
- upload_to_stitch.py: Add warning when --generated-by is passed on image uploads (ignored)
- upload_to_stitch.py: Define global SSL context using certifi.where() fallback if package is available
- upload-to-stitch/SKILL.md: Add .md to supported formats and document new CLI options
- code-to-design/SKILL.md: Update Steps 4 & 5 to pass --generated-by with corresponding skill identifiers
- manage-design-system/SKILL.md: Update DESIGN.md upload example with --generated-by <GENERATED_BY> placeholder and document how to set it
2026-06-16 14:47:45 -07:00
rustinb303 1544aa4a3b Merge pull request #67 from google-labs-code/refactor
Refactor - move react-native skill into stitch-build plugin
2026-06-04 14:21:30 -06:00
jilinxia 922c4f75b3 docs: add react-native skill to README table and directory tree 2026-06-04 09:27:41 -07:00
jilinxia 5140d0f503 docs: improve README quick-start formatting and add inline comments 2026-06-04 09:22:56 -07:00
jilinxia 99a7d17734 refactor: move react-native skill into stitch-build plugin
- Relocate skills/react-native → plugins/stitch-build/skills/react-native
- Rewrite Codex quick-start section for clarity (CLI-first, collapsible UI)
- Add Cursor install command under Claude Code section
2026-06-04 09:16:43 -07:00
Yuvraj Angad Singh c43ae1d21a Add React Native skill (#42)
* add react-native skill

* fix code review issues in react-native skill

* refactor: update name to match `stitch::` convention

---------

Co-authored-by: David East <davideast@users.noreply.github.com>
2026-06-02 00:01:50 -04:00
J XIA 53f15d81da Merge pull request #64 from Michacallhome/fix/validate-hex-detection
fix(react-components): detect hex colors in JSX className (validator was a no-op)
2026-05-26 09:41:47 -07:00
Micha Kiel 241b53e237 fix(react-components): detect hex colors in JSX className
The hex-color check in scripts/validate.js is silently a no-op. The guard
reads node.name.name === 'className', but SWC's AST exposes the
JSXAttribute identifier on .name.value. The condition is always false,
so the inner regex test never runs and tailwindIssues stays empty
regardless of input.

Effect today: validate.js correctly enforces the Props-interface rule
but does not enforce the no-hardcoded-hex rule. Components like

  <div className="bg-[#ff0000]">...</div>

pass validation. The CI smoke test happens to be green because
gold-standard-card.tsx has no hex codes.

Fix: accept both AST shapes (.name?.value and .name?.name) so the guard
stays correct against the current SWC release and against any future
revision that flips the field back. Optional chaining added so a
malformed node can't NPE the walker.

Reproducer (before patch, prints '0 hex codes'):

  echo 'export function X(){return <div className="bg-[#ff0000]">x</div>;}' > /tmp/bad.tsx
  node scripts/validate.js /tmp/bad.tsx

After patch, the same input prints '1 hardcoded hex codes' and exits 1.

The existing examples/gold-standard-card.tsx continues to validate clean.
2026-05-24 22:11:19 -04:00
J XIA 21db6cdf51 Merge pull request #60 from amourfrei/support-codex-plugins
Support Codex plugins
2026-05-20 09:00:42 -07:00
amourfrei a2ca474882 Update Codex instructions in README to use upstream URL 2026-05-20 14:45:15 +08:00
amourfrei 4b76f44400 Restore Codex marketplace manifest 2026-05-20 14:45:15 +08:00
amourfrei 48000412f2 Remove local Codex marketplace entry 2026-05-20 14:45:15 +08:00
amourfrei cbfb38516e Add Codex plugin metadata 2026-05-20 14:45:15 +08:00
J XIA 2c93fbcf00 Merge pull request #59 from google-labs-code/stitch-skills-plugins
Launch Stitch Skills plugins
v1.0
2026-05-18 10:59:46 -07:00
jilinxia 66f6f5e94a fix the last security risk 2026-05-18 10:29:59 -07:00
jilinxia cf118883bb fix security risk further 2026-05-18 10:06:36 -07:00
jilinxia 3bd73f2b91 fix security risk 2026-05-18 09:06:48 -07:00