Skip to main content
The CLI is in beta. The beta npm dist-tag may receive breaking changes between beta releases.

Run the local todo

Use Node.js 22.12 or later. Create a local Site with:
The CLI prints the created directory. Open the URL printed by Vite. Add a task, mark it complete, switch between All, Open, and Done, then reload the page. The local Site keeps its tasks in component memory and resets on refresh. For the App template, use --type app in a new directory. Its local page displays a Demo badge and resets tasks on refresh. A hosted App uses Goalmatic authentication and the declared todos Table. It never substitutes demo data for an unavailable account session. Local creation makes no Goalmatic API requests and creates no remote resources.

Create a connected project

To create a connected project, omit --local and choose a new directory:
  1. Open the browser link printed by the CLI. Sign in or create your Goalmatic account.
  2. Check that the browser code matches your terminal. Approve the terminal request.
  3. Select the account that will own your project. The default account is labeled.
  4. Follow the GitHub connection prompt. Choose the exact owner and repository, or create a repository under that owner.
The result includes the project directory, editor URL, and source preview URL. goalmatic.json records the account, project, and API origin. The generated folder is connected to Git without replacing your files. GitHub credentials stay on the Goalmatic server. To resume an interrupted creation, repeat the same command. The local setup receipt preserves the original request. Keep it while recovering setup.

Use the beta packages

For ongoing commands, use npx goalmatic@beta or install the CLI once:

Open an existing project

Use an empty destination folder:
link downloads the selected project’s existing source. It does not overwrite a non-empty directory or convert a local demo in place. Continue with GitHub and previews and releases.