Submit a toy

Anyone can make a toy and send it in. We review every one and list it in the gallery with your name.

Let your agent do it

Give this prompt to Claude Code, Codex or Cursor. Change "a spinning top" to your own idea.

Prompt to submit a toy

Read https://vectoys.com/submit-prompt.txt and follow it to make and submit a toy: a spinning top.

Read the full prompt

These are the commands it runs. Check, preview and submit take ., the folder you are in.

npx @vinena/vectoys-cli create spinning-top
cd spinning-top && npm install
npx @vinena/vectoys-cli check .
npx @vinena/vectoys-cli preview . --open
npx @vinena/vectoys-cli submit .

By hand

  1. Make a new toy from the starter. Then go into its folder and install its packages with cd spinning-top && npm install. The next commands run in that folder.

    npx @vinena/vectoys-cli create spinning-top
  2. Run the automated checks. To see it in light and dark mode, run npx @vinena/vectoys-cli preview . --open.

    npx @vinena/vectoys-cli check .
  3. Submit it. This runs the check again, then opens a pull request. It needs the GitHub CLI (gh) and bun 1.3.2 or newer.

    npx @vinena/vectoys-cli submit .

What makes a good toy

  • It is a generic object, with no product, logo or brand name.
  • It looks right in light and dark mode.
  • It respects reduced motion.
  • It works with a keyboard and a screen reader.
  • It renders on the server.
  • It stays small, under 96 kilobytes.
  • It turns when dragged and fills the screen. The create command sets this up.

What happens next

  1. Our automated tests run the safety checks on your pull request.
  2. We review the toy by hand, and we make its screenshot tests if you could not.
  3. Once we merge it, it shows in the gallery with "by Your Name" from the author in its item.json. Anyone can add it with npx @vinena/vectoys-cli add spinning-top.

The full rules are in CONTRIBUTING. The source is on GitHub.