Contributing Guide - Relaticle  

    [Developer guides](https://relaticle.com/developers)

 Contributing Guide 
====================

Installation, architecture, and contributing.

 Updated August 13, 2026

 Technical documentation for developers and contributors.

---

[](#quick-start "Permalink")Quick Start
---------------------------------------

```
git clone https://github.com/Relaticle/relaticle.git
cd relaticle && composer app-install
composer run dev

```

Visit `http://localhost:8000` to access the application.

---

[](#tech-stack "Permalink")Tech Stack
-------------------------------------

ComponentTechnologyBackendPHP 8.4, Laravel 13Admin UIFilament 5FrontendLivewire 4, Alpine.js, Tailwind CSS 4DatabasePostgreSQLQueueLaravel HorizonTestingPest v4Static AnalysisPHPStan (Level 7)Code StyleLaravel Pint, RectorAuthLaravel Jetstream---

[](#architecture "Permalink")Architecture
-----------------------------------------

### [](#core-models "Permalink")Core Models

```
Team ─┬─ User (via Membership)
      ├─ Company ─┬─ People
      │           └─ Opportunity ─── People
      ├─ Task (many-to-many with Company, People, Opportunity)
      └─ Note (many-to-many with Company, People, Opportunity)

```

### [](#multi-tenancy "Permalink")Multi-Tenancy

All workspace data is isolated via the `HasTeam` trait. Every query automatically scopes to the current team.

### [](#key-traits "Permalink")Key Traits

TraitPurpose`HasTeam`Workspace isolation`HasCreator`Tracks record creator`HasNotes`Polymorphic notes relationship---

[](#development-setup "Permalink")Development Setup
---------------------------------------------------

### [](#requirements "Permalink")Requirements

- **PHP 8.4+** with extensions: pdo\_pgsql, gd, bcmath, mbstring, xml
- **PostgreSQL 17+**
- **Node.js 20+**
- **Composer 2+**

### [](#manual-installation "Permalink")Manual Installation

```
git clone https://github.com/Relaticle/relaticle.git
cd relaticle
composer install
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan storage:link
npm run build
composer run dev

```

### [](#environment-config "Permalink")Environment Config

For PostgreSQL:

```
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=relaticle
DB_USERNAME=postgres
DB_PASSWORD=your_password

```

---

[](#quality-tools "Permalink")Quality Tools
-------------------------------------------

```
composer lint          # Format with Pint + Rector
composer test:lint     # Check formatting
composer test:types    # PHPStan analysis
composer test:pest     # Run tests
composer test          # All checks (required before PR)

```

### [](#git-hooks "Permalink")Git Hooks

Enable pre-commit checks:

```
git config core.hooksPath .githooks

```

---

[](#testing "Permalink")Testing
-------------------------------

All contributions require:

- Unit tests for new functionality
- Feature tests for user interactions
- Minimum 99.9% type coverage

Run specific tests:

```
php artisan test tests/Feature/ExampleTest.php
php artisan test --filter="test_method_name"

```

---

[](#custom-fields "Permalink")Custom Fields
-------------------------------------------

Relaticle includes a custom fields system for extending entities without migrations.

- **License**: AGPL-3.0 (free for open source) or Commercial
- **Docs**: [Custom Fields Documentation](https://relaticle.github.io/custom-fields/)

---

[](#deployment "Permalink")Deployment
-------------------------------------

For production deployment instructions, including Docker setup, environment configuration, reverse proxy, and platform-specific guides (Dokploy, Coolify), see the **Self-Hosting Guide**.

---

[](#troubleshooting "Permalink")Troubleshooting
-----------------------------------------------

IssueSolutionQueue not processing`php artisan queue:restart`File upload errors`chmod -R 775 storage bootstrap/cache`Slow queriesUse Laravel Telescope to identify, then add indexesView cache issues`php artisan view:clear && npm run build`---

[](#contributing "Permalink")Contributing
-----------------------------------------

1. Fork the repository
2. Create a feature branch: `git checkout -b feat/your-feature`
3. Make changes following coding standards
4. Run tests: `composer test`
5. Commit with conventional messages
6. Open a Pull Request

PRs must pass all checks before merge.

---

[](#resources "Permalink")Resources
-----------------------------------

- [Laravel Docs](https://laravel.com/docs/13.x)
- [Filament Docs](https://filamentphp.com/docs)
- [Livewire Docs](https://livewire.laravel.com/)
- [Pest Docs](https://pestphp.com/)

 [  Edit this page on GitHub ](https://github.com/Relaticle/relaticle/edit/main/packages/Documentation/resources/content/docs/guides/contributing.md) [  Ask a question in Discord ](https://relaticle.com/discord)
