Pronto is a package of front-end components built by Imarc. The components in Pronto are built to be changed over configured, with an emphasis on the code being simple to read and adapt to individual project needs.
For documentation, see https://imarc-pronto.netlify.app/components/overview/
To install Pronto into your project, you can run:
npx @imarc/pronto@latest
There is a non-interactive way to install pronto that works, but you should expect changes in future versions:
npx @imarc/pronto@latest --non-interactive <copy components> <copy path> <add dependency> <create vite.config.js> <copy sprite sheet> <sprite sheet path> <copy agent files>
Other than <copy path> and <sprite sheet path>, each argument should be y or n, and correspond to the interactive prompts.
Pronto is being developed as an open source project and welcomes contributions. Please read through Pronto's goals before contributing. We will be judicious about adding new dependencies to Pronto, however Pronto may leverage Vue, Vite, and Pinia.
This project pins the Node.js version with mise (see .mise.toml at the repo root). That keeps everyone on a version compatible with package.json engines.node.
First time on your machine (one-time):
- Install the mise CLI. The usual command is:
That installs
curl https://mise.run | shmiseunder~/.local/bin(see other install options — Homebrew, etc.). It is not a zsh-specific URL; you do not runcurl …/zsh | sh. - Hook mise into your shell so
miseand the rightnodeare on yourPATHin every terminal. Follow Activate mise for your shell — for zsh, add this to~/.zshrc(or run the command the installer prints at the end of step 1):Open a new terminal tab/window (or runeval "$(~/.local/bin/mise activate zsh)"
source ~/.zshrc) so the change applies. Runmise doctorif you want to confirm the setup.
Every clone / after pulling .mise.toml changes:
- From the project directory, run
mise installto install the pinned Node version if needed. The first time you use this project’s config, mise may ask you to trust.mise.toml— that is expected. - Run
npm installand other npm scripts as usual.
If you choose not to use mise, install a Node version that satisfies engines.node in package.json by other means (for example, your system package manager or another version manager).
The recommended way to work on Pronto is to work within Vitrine after cloning Pronto:
- Clone Pronto to a folder of your choosing.
- From the project directory, run
mise install(see Node.js (mise) above), thennpm installandnpm run dev. - Make sure to check any functional changes to Vitrine or Pronto also work properly with the build step
npm run prodas well.
Formatting is handled by Prettier, while ESLint and Stylelint focus on linting. Use these commands during development:
npm run lintchecks Prettier formatting without making changes, then runs ESLint and Stylelint.npm run lint:fixtries to fix the code to match Prettier formatting, then runs ESLint and Stylelint.