A powerful CLI tool that setups Generative UI examples with C1 by Thesys
✨ Interactive Project Setup
# Run the tool
npx create-c1-app
# With project name
npx create-c1-app my-thesys-project
# With project name and options
npx create-c1-app my-thesys-project --template template-c1-component-next --api-key your-api-key| Option | Alias | Description | Default |
|---|---|---|---|
[project-name] |
Name of the project to create (positional argument) | Interactive prompt | |
--project-name |
-n |
Name of the project to create (alternative to positional argument) | Interactive prompt |
--template |
-t |
Next.js template to use (template-c1-component-next or template-c1-next) |
Interactive prompt |
--api-key |
-k |
Thesys API key to use for the project | Interactive prompt |
--auth |
Authentication method (oauth, manual, skip) |
Prompt in interactive mode; oauth when provided |
|
--skip-auth |
Deprecated. Use --auth skip instead |
false |
|
--debug |
-d |
Enable debug logging | false |
--non-interactive |
Run without prompts; fails fast if required options are missing. Auto-enabled in non-TTY shells. | false (auto-detected) |
|
--disable-telemetry |
Disable anonymous telemetry for current session | false |
# Interactive mode with OAuth authentication (recommended)
npx create-c1-app
# Quick setup with project name as positional argument
npx create-c1-app my-thesys-project
# Quick setup with project name, template, and API key
npx create-c1-app my-thesys-component --template template-c1-component-next --api-key your-api-key-here
# Using flag instead of positional argument
npx create-c1-app --project-name my-thesys-component --template template-c1-component-next --api-key your-api-key-here
# With specific template choice
npx create-c1-app my-project --template template-c1-next --api-key your-api-key-here
# Interactive with API key provided
npx create-c1-app --api-key your-api-key-hereWhen running in CI pipelines, automated scripts, or AI agent shells (e.g. Cursor, Copilot, Devin), interactive prompts will hang. The CLI supports a fully non-interactive mode:
# Explicit flag
npx create-c1-app my-project --template template-c1-next --api-key YOUR_API_KEY --non-interactive
# Or just provide all required flags — non-interactive mode is auto-detected
# when stdin is not a TTY (pipes, agents, CI) or when CI env vars are set
npx create-c1-app my-project --template template-c1-next --api-key YOUR_API_KEYAuto-detection: The CLI automatically enables non-interactive mode when:
stdinis not a TTY (piped input, background process, agent shell)
Behavior in non-interactive mode:
--api-keyis required (OAuth browser flow is skipped)--project-namedefaults tomy-c1-appif not provided--templatedefaults totemplate-c1-nextif not provided- The CLI will fail immediately with a clear error if required options are missing, instead of hanging on a prompt
git clone https://github.com/thesysdev/create-c1-app.git
cd create-c1-app
pnpm install
pnpm run build
pnpm linkCreate C1 App supports flexible authentication methods:
The CLI will automatically open your browser and guide you through the OAuth authentication process. This is the default in interactive mode.
npx create-c1-app
# or explicitly:
npx create-c1-app --auth oauthThis method will:
- Open your browser for secure authentication
- Generate an API key automatically after successful login
- Store the API key in your project's
.envfile
If you do not pass an auth option in interactive mode, the CLI will ask you to choose between OAuth, manual API key entry, or skip.
If you prefer to enter your API key manually:
npx create-c1-app --auth manualOr provide your existing API key directly via flag:
npx create-c1-app --api-key your-api-key-hereTo skip authentication and API key generation (useful for testing or CI where you might set the key later):
npx create-c1-app --auth skipNote: The --skip-auth flag is deprecated but still supported for backward compatibility. Use --auth skip going forward.
To get an API key manually:
- 🌐 Visit: https://console.thesys.dev/keys
- 🔐 Sign in to your Thesys account
- 🆕 Click "Create New API Key"
- 📝 Give your key a descriptive name
- 📋 Copy the generated API key
💡 Tip: Keep your API key secure and never share it publicly!
Error: "Project directory already exists"
# Choose a different name or remove the existing directory
rm -rf existing-project-name
npx create-c1-appError: "Failed to download template"
# Check your internet connection and try again
npx create-c1-appError: "Failed to install dependencies"
# Navigate to your project and install manually
cd your-project-name
npm installEnable debug logging for detailed troubleshooting:
npx create-c1-app --debugOr set the environment variable:
export CREATE_C1_APP_DEBUG=true
npx create-c1-appcreate-c1-app collects anonymous telemetry data to help improve the tool. No personally identifiable information is collected.
# Disable for current session
npx create-c1-app --disable-telemetry
# Disable via environment variable
export CREATE_C1_APP_DISABLE_TELEMETRY=trueFor complete details about what data is collected and how to control it, see TELEMETRY.md.
MIT License - see LICENSE file for details.
- 🐛 Issues
- 💬 Discussions
Made with ❤️ by Thesys