phos
v1.3.2
Published
Full-stack interactive project generator CLI - Phos
Maintainers
Readme
Full-stack interactive project generator CLI
Version 1.3.2 - Production Release 🎉
About
Phos is a powerful CLI tool that scaffolds modern full-stack web applications with configurable backends and frontends. Get started in seconds with interactive prompts and pre-configured templates.
Features
- ✨ Interactive CLI with beautiful prompts
- 🚀 Multiple backend frameworks (Elysia, FastAPI, NestJS)
- 🎨 Multiple frontend frameworks (Astro, Svelte, Next.js, Vue)
- 📦 Monorepo support with workspace configuration
- 🛠️ Configurable tooling (TypeScript, ESLint, Prettier)
- 🎨 CSS framework options (Tailwind, SCSS, CSS Modules)
- 🧩 UI component library support (Ant Design, shadcn/ui, Radix UI, Vuetify)
- 🧪 Testing framework options (Vitest, Playwright)
- 🔤 Multiple package manager support (npm, yarn, pnpm, bun)
- 📝 Automatic README generation
- 🌳 Git initialization
- 🎯 Single project mode for standalone applications
- 📚 Comprehensive documentation auto-generation
Tech Stack
Core
| Technology | Description | Version |
| ------------------------------------------------------------------------------------------------------------------- | -------------------- | ------- |
| | Runtime Environment | 20+ |
|
| Programming Language | 5.7+ |
|
| CLI Framework | 14.0+ |
|
| Interactive Prompts | 1.0+ |
|
| File Operations | 11.3+ |
|
| Template Engine | 4.7+ |
|
| Terminal Colors | 1.1+ |
Supported Frameworks
Backend
| Framework | Runtime | Description | | ---------------------------------------- | ------- | ---------------------------------- | | Elysia | Bun | Fast and elegant Bun web framework | | FastAPI | Python | Modern Python web framework | | NestJS | Node.js | Progressive Node.js framework with TypeScript |
Frontend
| Framework | Description | | ------------------------------------ | -------------------------------------- | | Astro | Modern static site generator | | SvelteKit | Full-stack Svelte framework | | Next.js | React framework with server components | | Vue | Progressive JavaScript framework |
Quick Start
Choose Your Package Manager
| npm | yarn | bun |
| ----------------- | ---------------------- | ------------------ |
| npx phos create | yarn dlx phos create | bunx phos create |
Follow the interactive prompts to configure your project, and Phos will generate a production-ready scaffold in seconds.
Installation
From NPM
npx phos createAlternative Package Managers
bunx phos create
yarn dlx phos createLocal Development
git clone https://github.com/DotJumpDot/Phos.git
cd phos
bun install
bun link
phos createUsage
phos createPhos will guide you through a series of questions to configure your project:
- Project Name - Name of your new project
- Project Type - Monorepo or Single repo
- Backend Framework - Elysia or FastAPI (Monorepo mode)
- Backend Package Manager - npm, yarn, pnpm, bun, venv, or pip
- Backend: Use TypeScript? - Enable TypeScript for backend
- Backend: Add ESLint? - Add ESLint configuration
- Backend: Add Prettier? - Add Prettier configuration
- Frontend Framework - Astro, Svelte, Next.js, or Vue
- Frontend Package Manager - npm, yarn, pnpm, or bun
- Frontend: Use TypeScript? - Enable TypeScript for frontend
- Frontend: Add ESLint? - Add ESLint configuration
- Frontend: Add Prettier? - Add Prettier configuration
- Select CSS Framework - No, Tailwind CSS, SCSS, or CSS Modules
- Add Testing? - No, Vitest, Playwright, or both
- Initialize Git? - Initialize a Git repository
- Install Dependencies? - Auto-install dependencies after generation
Project Types
Monorepo Mode
Generates a full-stack monorepo with separate backend and frontend projects:
my-project/
├── MyProject_Backend/ # Backend application
├── MyProject_Frontend/ # Frontend application
├── Docs/ # Documentation folder
│ ├── Feature/ # Feature documentation
│ └── DatabaseSetup/ # Database setup scripts
├── AGENTS.md # Agent guidelines
├── LICENSE # License file
├── env.example # Environment variables template
└── README.md # Project READMESingle Project Mode
Generates a standalone backend or frontend project:
my-project/
├── src/ # Source code
├── public/ # Static assets (frontend)
├── package.json # Dependencies
├── tsconfig.json # TypeScript config
└── README.md # Project documentationDevelopment
# Install dependencies
bun install
# Run in development mode
bun run dev create
# Build project
bun run build
# Run the built CLI
node dist/cli.js createExamples
Create a Monorepo with Elysia and Next.js
npx phos create
# Project name: my-awesome-app
# Project type: Monorepo
# Backend Framework: Elysia
# Backend package manager: bun
# Backend: Use TypeScript? Yes
# Backend: Add ESLint? Yes
# Backend: Add Prettier? Yes
# Frontend Framework: NextJS
# Frontend package manager: bun
# Frontend: Use TypeScript? Yes
# Frontend: Add ESLint? Yes
# Frontend: Add Prettier? Yes
# CSS Framework: Tailwind CSS
# Testing: Vitest + Playwright
# Initialize Git? Yes
# Install dependencies? NoCreate a Single Astro Project
bunx phos create
# Project name: my-astro-site
# Project type: Single repo
# Framework: Astro
# Package manager: bun
# Use TypeScript? Yes
# Add ESLint? Yes
# Add Prettier? Yes
# CSS Framework: Tailwind CSS
# Testing: Vitest
# Initialize Git? Yes
# Install dependencies? NoGenerated Projects Include
Backend (Elysia/FastAPI)
- Pre-configured framework setup
- Example API endpoints
- Service layer architecture
- Database connection setup
- TypeScript/Python type definitions
- ESLint/Pylint configuration
- Prettier/Black configuration
Frontend (Astro/Svelte/Next.js)
- Pre-configured framework setup
- Example components and pages
- Responsive layout
- CSS framework integration
- TypeScript configuration
- ESLint configuration
- Prettier configuration
- Testing setup (Vitest/Playwright)
Documentation
- Comprehensive README.md
- AGENTS.md with project guidelines
- Database schema documentation
- Feature documentation templates
- Environment variable templates
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Versioning
Phos follows semantic versioning.
- 1.3.2 - Patch release (UI library implementation)
- 1.3.0 - Minor release (NestJS backend support)
- 1.2.1 - Patch release (TypeScript type fix)
- 1.2.0 - Minor release (backend API architecture)
- 1.1.0 - Minor release (new features, non-breaking changes)
- 1.0.3 - Patch release (template path fix)
- 1.0.2 - Patch release (template missing fix)
- 1.0.1 - Patch release (bug fixes)
- 1.0.0 - Production release with full feature support
- 1.x.0 - Minor releases (new features, non-breaking changes)
- x.0.0 - Major releases (breaking changes)
See CHANGELOG.md for detailed version history.
Acknowledgments
- Clack - Beautiful CLI prompts
- Commander.js - CLI framework
- Picocolors - Tiny color library
License
Made with ❤️ by the Phos Team
