Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ on:
jobs:
format-and-lint:
runs-on: ubuntu-latest

permissions:
contents: write

steps:
- uses: actions/checkout@v4.2.2
with:
Expand Down Expand Up @@ -35,4 +39,3 @@ jobs:
commit_message: 'style: apply formatting and linting changes'
branch: ${{ github.head_ref }}
commit_options: '--no-verify'
file_pattern: '**/*.{js,jsx,ts,tsx,css,md,json}'
93 changes: 69 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,81 @@
# Roke

<img height="128px" src="./src/static/roke-logomark.svg" />
<br />
A <a href="https://wasp-lang.dev">Wasp</a> starter with sensible defaults
<div>
<img height="128px" src="./src/static/roke.png" alt="Roke Logo" />

<p>
A Full-Stack Wasp Starter with Modern UI Components
</p>

<p>
<a href="https://roke.dev">Documentation</a>
·
<a href="https://github.com/wardbox/roke/issues">Report Bug</a>
·
<a href="https://github.com/wardbox/roke/issues">Request Feature</a>
</p>
</div>

## Overview

Roke is a comprehensive starter template for full stack Wasp applications,
featuring a modern UI toolkit built with Tailwind CSS, shadcn/ui components, and
Motion animations. This must-have starter template provides a solid foundation
for building full-stack web applications with best practices built-in.
Roke provides a comprehensive foundation for your Wasp projects by combining
modern UI tools and best practices. Built with shadcn/ui components, Motion
animations, and TypeScript support, it helps developers create beautiful,
interactive web applications efficiently.

## Quick Start

Click "Use this template" button at the top of the repository

```bash
# Start the development server
wasp db start
wasp db migrate-dev
wasp start
```

Visit [roke.dev](https://roke.dev) for comprehensive documentation.

## Key Features
## Features

- 🎨 Dark/Light mode
- 📚 Common components on top of shadcn/ui
- 🔐 Pre-built authentication flows with customizable styling
- 🎭 Animation examples using Motion
- 📱 Responsive layout with mobile-first design
- 🧩 Modular component architecture
- 🛠️ TypeScript support throughout
- 🎨 Elegant Dark/Light mode theming
- 📚 Ready-to-use shadcn/ui components
- 🔐 Secure authentication flows with customizable styling
- 🎭 Smooth animations powered by Motion
- 📱 Responsive, mobile-first design
- 🧩 Clean, modular architecture
- 🛠️ Full TypeScript support

## Components & Utilities
## Included Components

- Modern navigation with responsive mobile menu
- Responsive navigation with mobile menu
- Form components with validation
- Toast notifications
- Code block component with syntax highlighting
- Commonly used utility functions (date formatting, text truncation, etc.)
- Theme provider with system preference detection
- Customizable authentication pages
- Toast notifications system
- Syntax-highlighted code blocks
- Helpful utility functions
- Date formatting
- Text manipulation
- Theme management
- And more...

## Contributing

We welcome contributions! Whether it's:

- 🐛 Bug fixes
- ✨ New features
- 📝 Documentation improvements
- 💡 Suggestions

Feel free to open an issue or submit a pull request.

## Learn More

- [Documentation](https://roke.dev)
- [Wasp Documentation](https://wasp-lang.dev)
- [shadcn/ui](https://ui.shadcn.com)
- [Motion](https://motion.dev)

## Documentation
## License

The template includes docs for both motion components and included utils.
MIT License - feel free to use this in your own projects!
14 changes: 13 additions & 1 deletion main.wasp
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,20 @@ app roke {
wasp: {
version: "^0.15.1"
},
title: "Roke",
title: "Roke: A Full-Stack Wasp Starter with Modern UI Components",
head: [
"<meta name='description' content='A comprehensive Wasp starter template featuring shadcn/ui components, Motion animations, and TypeScript support for building modern full-stack web applications.'>",
"<meta property='og:url' content='https://roke.dev'>",
"<meta property='og:type' content='website'>",
"<meta property='og:title' content='Roke: A Full-Stack Wasp Starter with Modern UI Components'>",
"<meta property='og:description' content='A comprehensive Wasp starter template featuring shadcn/ui components, Motion animations, and TypeScript support for building modern full-stack web applications.'>",
"<meta property='og:image' content='https://roke.dev/roke.png'>",
"<meta name='twitter:card' content='summary_large_image'>",
"<meta property='twitter:domain' content='roke.dev'>",
"<meta property='twitter:url' content='https://roke.dev'>",
"<meta name='twitter:title' content='Roke: A Full-Stack Wasp Starter with Modern UI Components'>",
"<meta name='twitter:description' content='A comprehensive Wasp starter template featuring shadcn/ui components, Motion animations, and TypeScript support for building modern full-stack web applications.'>",
"<meta name='twitter:image' content='https://roke.dev/roke.png'>",
"<script defer data-domain='roke.dev' src='https://plausible.io/js/script.js'></script>",
],
auth: {
Expand Down
9 changes: 2 additions & 7 deletions src/client/landing.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -99,12 +99,7 @@ export default function Landing() {
</a>{' '}
starter with sensible defaults
</p>
<Button
variant='outline'
size='lg'
className='group w-fit'
asChild
>
<Button variant='outline' size='lg' className='group w-fit' asChild>
<a
href='https://github.com/wardbox/roke'
target='_blank'
Expand Down Expand Up @@ -169,7 +164,7 @@ wasp start`}
{/* Powered by */}
<div className='flex w-full flex-col items-center'>
<motion.div variants={fadeIn}>
<h2 className='mb-16 text-4xl font-thin tracking-tight text-balance text-center sm:text-start'>
<h2 className='mb-16 text-balance text-center text-4xl font-thin tracking-tight sm:text-start'>
powered and inspired by
</h2>
</motion.div>
Expand Down
Binary file added src/static/roke.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.