Skip to content

Commit f04dbd1

Browse files
Update README with improved content and instructions
1 parent 11369ba commit f04dbd1

File tree

1 file changed

+51
-91
lines changed

1 file changed

+51
-91
lines changed

README.md

Lines changed: 51 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -6,134 +6,94 @@
66
[![Total Installs](https://img.shields.io/packagist/dt/codewithdennis/larament.svg?style=flat-square)](https://packagist.org/packages/codewithdennis/larament)
77
[![Latest Version on Packagist](https://img.shields.io/packagist/v/codewithdennis/larament.svg?style=flat-square)](https://packagist.org/packages/codewithdennis/larament)
88

9-
Larament is a **bloat-free starter kit** for quickly launching **Laravel 12.x** projects. It comes with **FilamentPHP 4.x** pre-installed and configured, plus essential tools to speed up your development—nothing more, nothing unnecessary.
9+
A **bloat-free starter kit** for Laravel 12.x with FilamentPHP 4.x pre-configured. Only essential development tools included.
1010

1111
> [!CAUTION]
1212
> **Filament 4** is currently in beta — use it cautiously in production.
1313
1414
> [!NOTE]
15-
> Larament requires **PHP 8.3** or higher to run.
15+
> Requires **PHP 8.3** or higher.
1616
17-
## Dependencies
17+
## What's Included
1818

19-
This project includes several core dependencies that provide essential functionality:
19+
### Core Dependencies
20+
- **Laravel 12.x** - The PHP framework
21+
- **FilamentPHP 4.x** - Admin panel with SPA mode, custom theme, and MFA enabled
22+
- **nunomaduro/essentials** - Better Laravel defaults (strict models, auto-eager loading, immutable dates)
2023

21-
- **[nunomaduro/essentials](https://github.com/nunomaduro/essentials)**: Essentials provide better defaults for your Laravel applications including strict models, automatically eagerly loaded relationships, immutable dates, and more!
24+
### Development Tools
25+
- **larastan/larastan** - Static analysis
26+
- **laravel/pint** - Code style fixer
27+
- **pestphp/pest** - Testing framework
28+
- **rector/rector** - Automated refactoring
29+
- **barryvdh/laravel-debugbar** - Development insights
2230

23-
## Development
24-
25-
This project includes several development dependencies to ensure code quality and streamline the development process:
26-
27-
- **[larastan/larastan](https://github.com/larastan/larastan)**: Static analysis tool for Laravel applications
28-
- **[laravel/pint](https://laravel.com/docs/12.x/pint)**: PHP code style fixer for Laravel projects
29-
- **[pestphp/pest](pestphp.com/docs/installation)**: Elegant PHP testing framework
30-
- **[pestphp/pest-plugin-faker](https://pestphp.com/docs/plugins)**: Faker integration for Pest
31-
- **[pestphp/pest-plugin-laravel](https://pestphp.com/docs/plugins)**: Laravel integration for Pest
32-
- **[pestphp/pest-plugin-livewire](https://pestphp.com/docs/plugins)**: Livewire testing utilities for Pest
33-
- **[rector/rector](https://github.com/rectorphp/rector)**: Automated code refactoring tool
34-
- **[barryvdh/laravel-debugbar](https://github.com/barryvdh/laravel-debugbar)**: A package that providing insights into queries, requests, and performance metrics during development.
35-
36-
These tools help maintain code quality, provide testing capabilities, and improve the development experience. Larament comes with a bunch of tests to ensure everything works as expected.
31+
### Testing
32+
Includes a comprehensive test suite with Pest - perfect for learning testing or as a reference for your own tests.
3733

3834
![Tests](resources/images/tests.png)
3935

40-
## Configurations
36+
## Quick Start
4137

42-
Larament comes with several pre-configured settings to enhance your development experience:
38+
```bash
39+
composer create-project codewithdennis/larament your-project-name
40+
cd your-project-name
41+
composer install
42+
npm install
43+
npm run build
44+
php artisan serve
45+
```
46+
47+
## Features
4348

4449
### Filament Admin Panel
45-
- SPA Mode enabled by default for a smoother, more responsive admin experience
46-
- `Color::Blue` color as the primary color
47-
- Custom login page with autofilled credentials in local environment for easier development
48-
- Includes a pre-configured custom theme, allowing for easy styling customization and consistent design across your admin panel
49-
- Profile enabled by default, allowing users to manage their profiles directly from the admin panel
50-
- (MFA) is enabled by default (App Authentication), providing an extra layer of security for your admin panel
50+
- SPA mode enabled
51+
- Custom login page with autofilled credentials in local environment
52+
- Custom theme included
53+
- Profile management enabled
54+
- MFA (App Authentication) enabled
5155

5256
![Login](resources/images/login-page.png)
53-
54-
### Filament Table Configuration
55-
All Filament tables are pre-configured with:
56-
- **Striped Rows**: For better visual separation between rows
57-
- **Deferred Loading**: Improves performance by loading table data after the initial page load
58-
59-
![Users Table](resources/images/users-table.png)
6057

61-
### Laravel Migration Stubs
62-
Larament includes custom migration stubs that removes the `down()` method by default. The removal of the `down()` method is a debated topic in the Laravel community - while some developers prefer to keep it for rollback capabilities, others find it rarely used in practice. If you prefer to keep the `down()` method, you can simply remove these custom stubs and Laravel will use its default migration templates.
58+
### Filament Tables
59+
- Striped rows for better visual separation
60+
- Deferred loading for improved performance
6361

64-
```php
65-
<?php
62+
![Users Table](resources/images/users-table.png)
6663

67-
declare(strict_types=1);
64+
### Development Workflow
65+
```bash
66+
composer review # Runs Pint, Rector, PHPStan, and Pest
67+
```
6868

69-
use Illuminate\Database\Migrations\Migration;
70-
use Illuminate\Database\Schema\Blueprint;
71-
use Illuminate\Support\Facades\Schema;
69+
## Customizations
7270

73-
return new class() extends Migration
74-
{
75-
public function up(): void
76-
{
77-
//
78-
}
79-
};
80-
```
71+
### Migration Stubs
72+
Custom stubs remove the `down()` method by default. Remove the custom stubs to use Laravel's default templates.
8173

8274
### Helper Functions
83-
Larament comes with a pre-configured `app/Helpers.php` file where you can define your own helper functions. The file is already set up in your `composer.json` for autoloading. Here's an example of how to add your own helper functions:
75+
Add your own helpers in `app/Helpers.php`:
8476

8577
```php
8678
if (! function_exists('example')) {
8779
function example(): string
8880
{
89-
return 'This is an example function you can use in your project.';
81+
return 'Your helper function here.';
9082
}
9183
}
9284
```
9385

94-
## Development Commands
95-
96-
Larament includes a convenient composer command to streamline your development workflow:
97-
98-
```bash
99-
composer review
100-
```
101-
102-
This command runs all code quality tools in sequence:
103-
- Laravel Pint for code style fixing
104-
- Rector for automated code refactoring
105-
- PHPStan for static analysis
106-
- Pest for testing
107-
108-
## Installation
109-
110-
Create a new Larament project and set it up with a single command:
111-
112-
```bash
113-
composer create-project codewithdennis/larament your-project-name
114-
cd your-project-name
115-
composer install
116-
npm install
117-
npm run build
118-
php artisan serve
119-
```
120-
121-
### Create a terminal alias
122-
For easier usage in future projects, create an alias in your terminal:
86+
## Terminal Aliases
12387

88+
### Simple Alias
12489
```bash
12590
alias larament="composer create-project --prefer-dist CodeWithDennis/larament"
91+
larament my-project
12692
```
12793

128-
Now, you can create a new project with a simple command:
129-
130-
```bash
131-
larament basecamp
132-
```
133-
134-
#### Herd
94+
### Advanced Function (Example with Herd)
13595

136-
Alternatively, you can add a function instead
96+
Add this to your `~/.bashrc`, `~/.zshrc`, or shell configuration file:
13797

13898
```bash
13999
function larament() {
@@ -158,8 +118,8 @@ function larament() {
158118
}
159119
```
160120

161-
You can now create a new project with a single command — it links, secures, and opens (with Herd) the project in your browser automatically.
121+
Usage:
162122

163123
```bash
164-
larament new acme
124+
larament new my-project
165125
```

0 commit comments

Comments
 (0)