Skip to content

julianoczkowski/create-trimble-app

Repository files navigation

Create Modus App

React Angular Vite TypeScript Tailwind CSS Modus MCP Cursor Rules Node.js npm

Interactive CLI to scaffold Modus 2.0 web component applications for React and Angular.

Templates are bundled directly - no external downloads, works fully offline.

Get Started Now:

npx @julianoczkowski/create-trimble-app@latest

If you run into permission issues, try: sudo npx @julianoczkowski/create-trimble-app@latest


Create Trimble App - Onboarding Site

Features

  • πŸ“¦ Bundled Templates - Templates included in package, no network required
  • πŸ”’ Secure - No runtime external dependencies
  • βš›οΈ React - React + Vite + Modus 2.0 Components + Cursor Rules
  • πŸ…°οΈ Angular - Angular + Modus 2.0 Web Components + Cursor Rules
  • 🎯 Interactive - Premium CLI experience with Trimble branding
  • ⚑ Fast - Local file copy, instant setup

Usage

Interactive Mode (Recommended)

npx @julianoczkowski/create-trimble-app@latest

This will guide you through:

  1. Framework selection (React or Angular)
  2. Installation location choice
  3. Project name input
  4. Optional dependency installation

Command Line Options

# 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

# Show help
npx @julianoczkowski/create-trimble-app@latest --help

CLI Options

Option Description
[project-name] Name of the project to create
-f, --framework <name> Framework to use (react, angular)
--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
-v, --version Display version number
-h, --help Display help

Supported Frameworks

Framework Description What's Included
βš›οΈ React React + Vite Modus 2.0 Components, TypeScript, Tailwind CSS, 40+ Cursor Rules, GitHub Templates, Code Quality Scripts
πŸ…°οΈ Angular Angular 20+ Modus 2.0 Web Components, TypeScript, Tailwind CSS, 11 Cursor Rules, GitHub Workflows, Demo Components

What's Included in Each Template

Both 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

Cursor Commands

Both templates include AI-powered Cursor commands for rapid scaffolding:

Command Description
scaffold-shell-app Create a complete app shell with navbar, side navigation, routing

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 to customize your navigation items.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    npx create-trimble-app                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  1. Parse CLI arguments (Commander.js)                      β”‚
β”‚  2. Show branded welcome header (boxen + Trimble Blue)      β”‚
β”‚  3. Interactive prompts with threaded UI (@clack/prompts)   β”‚
β”‚  4. Copy bundled template (local file copy)                 β”‚
β”‚  5. Update package.json with project name                   β”‚
β”‚  6. Install dependencies silently (optional)                β”‚
β”‚  7. Show beginner-friendly success message                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

For detailed architecture documentation, see docs/architecture.md.

Security

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

Requirements

  • Node.js 18 or higher
  • npm, yarn, or pnpm

Development

# 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

For detailed testing instructions, see docs/local-testing.md.

Documentation

Document Description
Architecture How the CLI works internally
Local Testing How to test during development

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Run tests (npm test)
  4. Commit your changes (git commit -m 'Add some amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

License

MIT Β© Julian Oczkowski

Issues & Discussions

Report bugs, request features, and discuss ideas:

Related


Made with ❀️ for the Trimble community

About

Interactive CLI to scaffold Modus 2.0 web apps for React & Angular. Bundled templates, works offline, zero runtime downloads.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Contributors