PHPackages                             rasmusgodske/laravel-vue-rules - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. rasmusgodske/laravel-vue-rules

Abandoned → godske-dev-rulesLibrary[Utility &amp; Helpers](/categories/utility)

rasmusgodske/laravel-vue-rules
==============================

Laravel/Vue convention rules for Claude Code

12.2k↓27.6%[1 issues](https://github.com/RasmusGodske/laravel-vue-rules/issues)PHP

Since Dec 15Pushed 4mo agoCompare

[ Source](https://github.com/RasmusGodske/laravel-vue-rules)[ Packagist](https://packagist.org/packages/rasmusgodske/laravel-vue-rules)[ RSS](/packages/rasmusgodske-laravel-vue-rules/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Laravel/Vue Convention Rules
============================

[](#laravelvue-convention-rules)

Convention rules for Laravel/Vue projects, designed to be used with Claude Code's `.claude/rules/` system.

Installation
------------

[](#installation)

```
composer require rasmusgodske/laravel-vue-rules --dev
```

Usage
-----

[](#usage)

### Install rules for the first time

[](#install-rules-for-the-first-time)

```
php artisan techstack-rules:update
```

This will copy the rules to `.claude/rules/techstack/` in your project.

### Update existing rules

[](#update-existing-rules)

```
php artisan techstack-rules:update --force
```

**Warning**: Using `--force` will overwrite any customizations you have made to the rules.

### Custom installation path

[](#custom-installation-path)

```
php artisan techstack-rules:update --path=.claude/rules/custom-name
```

What's Included
---------------

[](#whats-included)

### Backend Rules (`backend/`)

[](#backend-rules-backend)

- **php-conventions.md** - Class imports, type hints, named arguments
- **controller-conventions.md** - Controller patterns, API responses, validation
- **controller-responses.md** - When to use Inertia vs JSON responses
- **form-data-classes.md** - Form Request patterns with Data classes
- **naming-conventions.md** - Domain-specific naming conventions
- **database-conventions.md** - Migration patterns, indexes, foreign keys
- **testing-conventions.md** - Test structure, factory usage, assertions

### Frontend Rules (`frontend/`)

[](#frontend-rules-frontend)

- **vue-conventions.md** - Vue 3 Composition API, TypeScript, component structure
- **component-composition.md** - Component splitting, reusability, naming

### Data Class Rules (`dataclasses/`)

[](#data-class-rules-dataclasses)

- **laravel-data.md** - Spatie Laravel Data patterns, validation, TypeScript export
- **custom-validation-rules.md** - Custom validation rules and patterns

Path-Based Auto-Loading
-----------------------

[](#path-based-auto-loading)

All rules use path-based frontmatter for automatic loading. For example, backend rules only load when working with PHP files:

```
---
paths: app/**/*.php
---
```

This means Claude Code automatically loads relevant rules based on what files you're editing.

Customization
-------------

[](#customization)

These rules are designed as starting templates. To customize:

1. Install the rules: `php artisan techstack-rules:update`
2. Edit the files in `.claude/rules/techstack/` to match your conventions
3. Commit the customized rules to your project

**Note**: Running `techstack-rules:update --force` again will overwrite your customizations. Consider versioning your customized rules in your project.

Philosophy
----------

[](#philosophy)

Rules follow these principles:

- **Example-driven** - Show good vs bad patterns
- **Modern** - Laravel 10+, Vue 3, PHP 8+
- **Concise** - Focus on "what" and "why", not "how to code"

License
-------

[](#license)

MIT License

Author
------

[](#author)

**RasmusGodske** - [@RasmusGodske](https://github.com/RasmusGodske)

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance32

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/f1b31583549e6a4a645af04d046c1f54cd528857fc51946c17e65ce062362ceb?d=identicon)[RasmusGodske](/maintainers/RasmusGodske)

---

Top Contributors

[![RasmusGodske](https://avatars.githubusercontent.com/u/8774823?v=4)](https://github.com/RasmusGodske "RasmusGodske (39 commits)")

### Embed Badge

![Health badge](/badges/rasmusgodske-laravel-vue-rules/health.svg)

```
[![Health](https://phpackages.com/badges/rasmusgodske-laravel-vue-rules/health.svg)](https://phpackages.com/packages/rasmusgodske-laravel-vue-rules)
```

###  Alternatives

[webchemistry/forms-wizard

Wizard component for nette/forms

159.2k](/packages/webchemistry-forms-wizard)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
