Interactive CLI to scaffold Modus 2.0 web component applications for React, Angular, and SolidJS.
Templates are bundled directly - no external downloads, works fully offline.
Get Started Now:
npx @julianoczkowski/create-trimble-app@latestIf you run into permission issues, try:
sudo npx @julianoczkowski/create-trimble-app@latest
- π¦ Bundled Templates - Templates included in package, no network required
- π Secure - No runtime external dependencies
- βοΈ React - React 19 + Vite + Modus 2.0 Components + Cursor Rules
π °οΈ Angular - Angular 20 + Modus 2.0 Web Components + Cursor Rules- β² SolidJS - SolidJS + Vite + Modus 2.0 Components + Cursor Rules
- π― Interactive - Premium CLI experience with Trimble branding
- β‘ Fast - Local file copy, instant setup
- β
Validated - Post-scaffold
lint:allverifies template integrity automatically - π Prerequisites Check - Detects Git, Node.js, npm with platform-specific install guides
- π Update Notifications - Automatic check for newer CLI versions
npx @julianoczkowski/create-trimble-app@latestThis will guide you through:
- Environment check (Git, Node.js, npm)
- GitHub account setup (with guided signup if needed)
- Framework selection (React, Angular, or SolidJS)
- Installation location choice
- Project name input
- Optional dependency installation
# Create with project name
npx @julianoczkowski/create-trimble-app@latest my-app
# Specify framework
npx @julianoczkowski/create-trimble-app@latest my-app --framework react
# Install in current folder
npx @julianoczkowski/create-trimble-app@latest --current-folder
# Preview without creating files
npx @julianoczkowski/create-trimble-app@latest my-app --dry-run
# Enable verbose output
npx @julianoczkowski/create-trimble-app@latest my-app --verbose
# Show CLI information
npx @julianoczkowski/create-trimble-app@latest --info
# Skip dependency installation
npx @julianoczkowski/create-trimble-app@latest my-app --no-install
# Skip prerequisite environment checks
npx @julianoczkowski/create-trimble-app@latest my-app --skip-checks
# Show help
npx @julianoczkowski/create-trimble-app@latest --help| Option | Description |
|---|---|
[project-name] |
Name of the project to create |
-f, --framework <name> |
Framework to use (react, angular, solidjs) |
--current-folder |
Install in current folder |
--dry-run |
Preview what would be created |
--verbose |
Enable verbose output for debugging |
--info |
Show information about this CLI |
--no-install |
Skip automatic dependency installation |
--skip-checks |
Skip prerequisite environment checks |
-v, --version |
Display version number |
-h, --help |
Display help |
| Framework | Description | What's Included |
|---|---|---|
| βοΈ React | React 19 + Vite | 47 Modus components, 46 demos, 43 Cursor Rules, 8 lint scripts, Tailwind CSS 3, TypeScript, Husky hooks |
| Angular 20 | 48 Modus components, 45 demos, 50 Cursor Rules, 7 lint scripts, Tailwind CSS 4, TypeScript, Husky hooks | |
| β² SolidJS | SolidJS + Vite | 47 Modus components, 46 demos, 45 Cursor Rules, 8 lint scripts, Tailwind CSS 3, MCP Servers, Vitest |
All templates come fully configured with:
your-project/
βββ .cursor/ # Cursor IDE rules for Modus development
β βββ rules/ # 40+ AI development rules
β βββ commands/ # AI-powered scaffolding commands
βββ .github/ # Issue templates, PR template, CI workflows
βββ .husky/ # Git hooks (pre-commit)
βββ .vscode/ # VS Code extensions & settings
βββ docs/ # Documentation
βββ scripts/ # Code quality check scripts
βββ src/ # Source code with demo components
βββ package.json # All dependencies configured
βββ README.md # Getting started guide
All templates include AI-powered Cursor commands for rapid scaffolding:
| Command | Description |
|---|---|
scaffold-shell-app |
Create a complete app shell with navbar, side navigation, routing |
trimble-id |
Add Trimble Identity (TID) authentication with OAuth 2.0 / OIDC |
To use: Open Cursor IDE, press Cmd+K (Mac) or Ctrl+K (Windows/Linux), and run the command. The AI will guide you through a conversational setup flow.
The trimble-id command scaffolds a complete TID integration tailored to each framework: React uses @trimble-oss/trimble-id-react, SolidJS wraps the core TIDClient in a SolidJS context, and Angular uses @trimble-oss/trimble-id with a signals-based AuthService, functional route guard, and HTTP interceptor.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β npx create-trimble-app β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β 1. Parse CLI arguments (Commander.js) β
β 2. Show branded welcome header (boxen + Trimble Blue) β
β 3. Check prerequisites (Git, Node.js 18+, npm) β
β 4. GitHub account prompt (with guided signup) β
β 5. Interactive prompts with threaded UI (@clack/prompts) β
β 6. Copy bundled template (local file copy) β
β 7. Update package.json with project name β
β 8. Install dependencies silently (optional) β
β 9. Validate template integrity (lint:all) β
β 10. Show beginner-friendly success message β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
For detailed architecture documentation, see docs/architecture.md.
This CLI is designed with security as a priority:
- No External Downloads - Templates are bundled in the npm package
- Works Offline - No network required to create projects
- npm Provenance - Published with provenance attestation
- Minimal Dependencies - Only essential runtime dependencies
Unlike other scaffolding tools that download templates from GitHub at runtime, this CLI bundles templates directly. This eliminates:
- Supply chain attacks from compromised repositories
- Network failures during project creation
- Version drift between CLI and templates
- Git - The CLI checks for Git and provides platform-specific install instructions if missing
- Node.js 18 or higher - Version is validated at startup with upgrade guidance
- npm, yarn, or pnpm
# Clone this repository
git clone https://github.com/julianoczkowski/create-trimble-app.git
cd create-trimble-app
# Install dependencies
npm install
# Run locally
npm run dev
# Run tests
npm test
# Test specific commands
node bin/create-trimble-app.js --help
node bin/create-trimble-app.js my-app --framework react --dry-run
node bin/create-trimble-app.js my-app --framework solidjs --dry-runFor detailed testing instructions, see docs/local-testing.md.
| Document | Description |
|---|---|
| Architecture | How the CLI works internally |
| Local Testing | How to test during development |
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Run tests (
npm test) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT Β© Julian Oczkowski
Report bugs, request features, and discuss ideas:
Made with β€οΈ for the Trimble community