A powerful CLI tool for rapidly bootstrapping modern web applications with best-in-class tooling and configurations.
Anvil is an open-source project dedicated to making web development faster and more efficient. We welcome contributors from all backgrounds to help us build the future of web application scaffolding.
Anvil is a comprehensive project bootstrapping tool designed to streamline the setup process for web applications. It offers an interactive CLI experience to configure your project with the frameworks and tools you need, eliminating the hassle of manual setup and configuration.
graph TD
A[Anvil CLI] -->|Generates| B(Web Application)
B --> C{React}
B --> D{Next.js}
C --> E[TypeScript]
D --> E[TypeScript]
E --> F[Styling]
F --> G[Tailwind CSS]
F --> H[Shadcn UI]
F --> I[DaisyUI]
E --> J[Authentication]
J --> K[Clerk]
J --> L[Better-auth]
E --> M[ORM]
M --> N[Prisma]
M --> O[Drizzle]
- Interactive Setup: A user-friendly CLI that guides you through every step of project creation.
- Multiple Frameworks: Choose between React and Next.js, both pre-configured with TypeScript.
- Styling Options: Seamlessly integrate your favorite styling solutions, including Tailwind CSS, Shadcn UI, and DaisyUI.
- Authentication: Easily add authentication to your project with providers like Clerk and Better-auth.
- Database Integration: Built-in support for popular ORMs like Prisma and Drizzle.
- Package Manager Choice: Use your preferred package manager: npm, yarn, or pnpm.
- Extensible: Designed to be easily extended with new templates, frameworks, and tools.
The Anvil repository is a monorepo containing two main packages:
anvil-cli: The command-line interface for generating new projects.anvil-web: A web-based interface for managing and visualizing your Anvil projects (under development).
graph TD
subgraph Anvil Monorepo
A(anvil-cli)
B(anvil-web)
end
To get started with Anvil, clone the repository and install the dependencies:
# Clone the repository
git clone https://github.com/iaadi4/anvil.git
cd anvil
# Install dependencies for the web interface
cd anvil-web
pnpm install
# Install dependencies for the CLI
cd ../anvil-cli
pnpm installTo use the Anvil CLI from anywhere on your system, you can link it globally:
# From the anvil-cli directory
npm linkTo create a new project with Anvil, run the following command:
# If linked globally
create-anvil
# Or run directly from the project
cd anvil/anvil-cli
pnpm build
pnpm create-anvilThis will launch an interactive setup wizard that will guide you through the process of configuring your new project.
Anvil offers a wide range of configurations to suit your needs. Here are some of the available options:
- React with TypeScript
- Next.js with TypeScript
- Tailwind CSS
- Shadcn UI (requires Tailwind and TypeScript)
- DaisyUI (requires Tailwind)
- Better-auth
- Clerk
- NextAuth (when using Next.js)
- Prisma
- Drizzle
- npm
- yarn
- pnpm
We welcome contributions from the community! If you'd like to contribute to Anvil, please follow these steps:
- Fork the repository and create a new branch for your feature or bug fix.
- Make your changes and ensure that the code is well-tested.
- Submit a pull request with a clear description of your changes.
For more information, please see our Contributing Guide.
If you have any questions, or suggestions, or just want to connect with the community, you can find us on:
- GitHub Issues: https://github.com/iaadi4/anvil/issues
Anvil is open-source software licensed under the MIT License.