@zilker-trail/cli-wizard
v0.1.0
Published
A modular CLI wizard for creating experiment setups with templates, analytics, and git integration
Readme
ZT CLI Wizard - Experiment Setup Tool
A modular CLI wizard for creating experiment setups with templates, analytics integration, and git workflow support. Originally extracted from the vite-exp template repository.
Features
- 🧙 Interactive wizard for guided experiment setup
- 📝 Automated mode via JSON payload for CI/CD integration
- 🎨 Template generation for HTML, SCSS, and JavaScript variations
- 📊 Analytics integration (Adobe Target, Tealium, GTM)
- 🌿 Git branch automation for experiment workflows
- 📚 README updates with experiment documentation
- ✅ Payload validation with detailed error messages
Installation
As a global CLI tool
pnpm add -g @zilker-trail/cli-wizardor
npm install -g @zilker-trail/cli-wizardAs a library in your project
pnpm add @zilker-trail/cli-wizardor
npm install @zilker-trail/cli-wizardUsage
Interactive Mode
Run the wizard to be guided through the setup process:
cli-wizardOr if installed locally:
node src/wizard.jsAutomated Mode (JSON Payload)
For CI/CD pipelines or scripted setups:
cli-wizard --json='{"testName":"My Test","prefix":"EXP","expNumber":"001",...}'
# or
cli-wizard --json=./config.jsonSee src/example-payload.json for a complete payload example.
As a Library
Import and use specific modules programmatically:
import {
createConfig,
createExperimentFiles,
collectBasicInfo,
validatePayload
} from '@zilker-trail/cli-wizard';
// Use individual functions as needed
const answers = {};
await collectBasicInfo(answers);
const config = createConfig(answers);
await createExperimentFiles(config);Project Structure
cli-wizard/
├── src/
│ ├── wizard.js # Main CLI entry point
│ ├── index.js # Library exports
│ ├── example-payload.json # Example JSON payload
│ ├── config/ # Configuration generators
│ ├── generators/ # File generation logic
│ ├── prompts/ # Interactive prompts
│ ├── services/ # External integrations
│ ├── templates/ # Code templates
│ ├── ui/ # Display utilities
│ └── utils/ # Helper functions
├── package.json
├── LICENSE
└── README.mdSee src/README.md for detailed architecture documentation.
Development
# Install dependencies (if any are added later)
npm install
# Run the wizard locally
npm start
# Or run directly
node src/wizard.jsTesting Locally
Link the package for local testing:
# In this repo
npm link
# In your test project
cd /path/to/your/project
npm link @zilker-trail/cli-wizard
# Test the CLI
cli-wizardPublishing
Before publishing to npm:
Update
package.json:- Update version following semantic versioning
- Verify author and repository information
Login to npm:
npm loginPublish:
npm publish
Dependencies
This package uses only Node.js built-in modules:
fs/fs/promises- File system operationspath- Path utilitieschild_process- Git and npm command executionreadline- Interactive prompts
No external dependencies required! 🎉
Requirements
- Node.js >= 18.0.0
- Git (for branch creation features)
- npm/pnpm (for dependency installation features)
License
MIT
