A flexible and powerful task automation utility for project setup, cleanup, and configuration tasks.
- 💬 Interactive Prompts - Collect user input with various prompt types
- 🧩 Configuration Inheritance - Extend base configs for code reuse
- 🔍 Dry-Run Mode - Preview changes with detailed diffs before applying
- 🔌 Plugin System - Create custom task types and lifecycle hooks
- 📝 Handlebars Support - Advanced templating with conditionals, loops, and helpers
- ✅ Type-Safe - Full TypeScript support with JSON schema validation
npm install @pixpilot/scaffoldfy# Basic usage with default task file
scaffoldfy
# With custom tasks file
scaffoldfy --config ./config.json
# Preview changes (dry run)
scaffoldfy --dry-runOr run without installing using npx:
# Basic usage with default task file
npx @pixpilot/scaffoldfy
# With custom tasks file
npx @pixpilot/scaffoldfy --config ./config.json
# Preview changes (dry run)
npx @pixpilot/scaffoldfy --dry-run- Complete Documentation - Full guides and references
- Getting Started - Installation and examples
- Package README - Package-specific documentation
This is a TypeScript monorepo managed with pnpm and Turbo:
scaffoldfy/
├── packages/
│ └── scaffoldfy/ # Main package
├── docs/ # Documentation
├── tooling/ # Shared configs (ESLint, TypeScript, etc.)
└── turbo/ # Turbo generators
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Run tests
pnpm test
# Type check
pnpm typecheckThis monorepo uses the Changeset Autopilot GitHub Action for fully automated, dependency-aware versioning and publishing. It:
- Detects conventional commits and generates changesets automatically
- Handles branch-based release channels (main, next, beta, etc.)
- Versions and publishes only changed packages to npm
- Manages pre-releases and dist-tags
- Runs entirely in CI for maximum reliability
How it works:
- On every push to a release branch, the action analyzes commits, generates changesets, versions packages, and publishes to npm.
- No manual steps are needed—just follow the conventional commit format and push to the correct branch.
- See the Changeset Autopilot documentation for setup and configuration details.
Manual releases are possible if needed (for example, for hotfixes or if CI is unavailable):
- Ensure you have an
NPM_TOKENwith publish rights set in your environment (for CI/CD, set as a secret). - Run the following commands from the root:
This will version and publish only those workspace packages with relevant changes.
pnpm changeset pnpm changeset version pnpm changeset publish
- Each package is versioned independently.
- Git tags are created in the format
<package-name>-<version>. - See
.changeset/config.jsonfor configuration details.
For more, see the Changesets documentation.
See CONTRIBUTING.md for guidelines.