PHPackages                             eca-devtools/docsystem - 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. eca-devtools/docsystem

ActiveLibrary

eca-devtools/docsystem
======================

In-app documentation and tracking system per URL/page for development environments.

v1.1.0(1mo ago)03↑2900%MITPHPPHP ^8.3

Since Mar 28Pushed 1mo agoCompare

[ Source](https://github.com/papirri/eca-devtools-docsystem)[ Packagist](https://packagist.org/packages/eca-devtools/docsystem)[ RSS](/packages/eca-devtools-docsystem/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (4)Versions (4)Used By (0)

DevTools DocSystem
==================

[](#devtools-docsystem)

> **Development-only** in-app documentation and activity tracking system, per URL/page.

[![DocSystem floating button](https://camo.githubusercontent.com/0fbb86a98eb902e2a8252f0ae14b1af30d4a0bf66886fc0ecd43025bb9365756/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783130302f3633363666312f6666666666663f746578743d446f6353797374656d2b2545322538302539342b666c6f6174696e672b6465762b70616e656c)](https://camo.githubusercontent.com/0fbb86a98eb902e2a8252f0ae14b1af30d4a0bf66886fc0ecd43025bb9365756/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783130302f3633363666312f6666666666663f746578743d446f6353797374656d2b2545322538302539342b666c6f6174696e672b6465762b70616e656c)

---

Features
--------

[](#features)

FeatureDetails📄 Page docsEach URL gets its own doc record, auto-detected🔖 VersioningMultiple versions per page (title, description, author)📅 TimelineFull activity log with metadata📝 NotesTypes: `avance`, `pregunta`, `error`, `nota`📎 FilesUpload files with version history🔍 Diff viewerLine-by-line diff for text files (LCS algorithm)🛡️ Dev onlyAuto-disabled in `production` environment🧹 PurgeOne-command full cleanup---

Requirements
------------

[](#requirements)

- PHP 8.3+
- Laravel 11 / 12 / 13
- Livewire v3 or v4
- Tailwind CSS (already in your project)

---

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

[](#installation)

### 1. Require the package

[](#1-require-the-package)

```
composer require eca-devtools/docsystem
```

### 2. Publish and run migrations

[](#2-publish-and-run-migrations)

```
php artisan vendor:publish --tag=docsystem-migrations
php artisan migrate
```

### 3. (Optional) Publish config

[](#3-optional-publish-config)

```
php artisan vendor:publish --tag=docsystem-config
```

> The floating button is **injected automatically** into every HTML response for authenticated users in non-production environments — no layout changes needed.

### 4. Add Tailwind source (required for compiled CSS setups)

[](#4-add-tailwind-source-required-for-compiled-css-setups)

If your project uses Tailwind with a compiled build (Vite / webpack), the panel's utility classes won't be generated unless you tell Tailwind to scan the package views. Add this line to your CSS entry file (e.g. `resources/css/app.css`):

```
@source '../../vendor/eca-devtools/docsystem/resources/views/**/*.blade.php';
```

Then rebuild your assets:

```
npm run build
# or, during development:
npm run dev
```

> If you skip this step the button will be injected into the HTML but will appear invisible due to missing styles.

---

Usage
-----

[](#usage)

1. Visit any page while authenticated.
2. A floating indigo button appears in the bottom-right corner.
3. Click it to open the panel.

### Tabs

[](#tabs)

TabActions**Documentation**Create / edit version records with title, version number &amp; description**Timeline**Read-only activity log ordered by newest first**Notes**Add typed notes (`avance`, `pregunta`, `error`, `nota`)**Files**Upload files, add new versions, download, or compare (diff) text files### File diff

[](#file-diff)

For text-based files (`.txt`, `.md`, `.json`, `.php`, `.js`, etc.) a **Diff** button appears between versions. It renders a side-by-side line-level comparison using a built-in LCS algorithm — no external library required.

---

Configuration (`config/docsystem.php`)
--------------------------------------

[](#configuration-configdocsystemphp)

```
return [
    'enabled'          => env('DOCSYSTEM_ENABLED', true),
    'storage_path'     => env('DOCSYSTEM_STORAGE_PATH', 'doc-system'),
    'max_file_size'    => env('DOCSYSTEM_MAX_FILE_SIZE', 10240), // KB
    'text_extensions'  => ['txt','md','json','php','js','ts', ...],
    'note_types'       => ['avance','pregunta','error','nota'],
    'event_types'      => ['created','updated','note_added','file_uploaded',
                           'file_updated','file_deleted'],
];
```

---

Commands
--------

[](#commands)

### Purge (cleanup)

[](#purge-cleanup)

```
php artisan docsystem:purge
```

This command:

- Only runs in `local` / non-production environments
- Asks for explicit confirmation
- Drops all package database tables (`doc_pages`, `doc_versions`, `doc_events`, `doc_notes`, `doc_files`, `doc_file_versions`)
- Deletes all files from `storage/app/public/doc-system`

---

Database tables
---------------

[](#database-tables)

TableDescription`doc_pages`One record per unique URL path`doc_versions`Version history per page`doc_events`Timeline / activity log`doc_notes`Typed notes per page`doc_files`Logical file entities (groups versions)`doc_file_versions`Individual uploaded file versions---

Screenshots (placeholders)
--------------------------

[](#screenshots-placeholders)

**Floating button**[![Floating button](https://camo.githubusercontent.com/ee73fa9c0043ef07db0458f4e717b1e1dbc9b1df49eb0a9ca9f940b8d5ec96c6/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f343030783330302f3633363666312f6666666666663f746578743d466c6f6174696e672b627574746f6e)](https://camo.githubusercontent.com/ee73fa9c0043ef07db0458f4e717b1e1dbc9b1df49eb0a9ca9f940b8d5ec96c6/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f343030783330302f3633363666312f6666666666663f746578743d466c6f6174696e672b627574746f6e)

**Documentation tab**[![Documentation tab](https://camo.githubusercontent.com/a6790b2a0b7874d0f297d436633ad98c4e412bc58c495d7bfa6267e280e7afd7/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783530302f6638666166632f3165323933623f746578743d446f63756d656e746174696f6e2b746162)](https://camo.githubusercontent.com/a6790b2a0b7874d0f297d436633ad98c4e412bc58c495d7bfa6267e280e7afd7/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783530302f6638666166632f3165323933623f746578743d446f63756d656e746174696f6e2b746162)

**Timeline tab**[![Timeline tab](https://camo.githubusercontent.com/2bfcf358faeebb8cb0d638c4c8c21d6de5f2e3f7d25207abe987b99c071cb1b6/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783530302f6638666166632f3165323933623f746578743d54696d656c696e652b746162)](https://camo.githubusercontent.com/2bfcf358faeebb8cb0d638c4c8c21d6de5f2e3f7d25207abe987b99c071cb1b6/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783530302f6638666166632f3165323933623f746578743d54696d656c696e652b746162)

**Notes tab**[![Notes tab](https://camo.githubusercontent.com/3aca918185810f2de6340484fa84cb635c7dd0fa768d6f8eec4a8b3a389d50f4/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783530302f6638666166632f3165323933623f746578743d4e6f7465732b746162)](https://camo.githubusercontent.com/3aca918185810f2de6340484fa84cb635c7dd0fa768d6f8eec4a8b3a389d50f4/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783530302f6638666166632f3165323933623f746578743d4e6f7465732b746162)

**Files + Diff tab**[![Files tab](https://camo.githubusercontent.com/cb55f7b5ad5a4c6ccba42fa78faa7eebd9f7b3ae229fff97596a28cf03979fb7/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783530302f6638666166632f3165323933623f746578743d46696c65732b2532422b446966662b766965776572)](https://camo.githubusercontent.com/cb55f7b5ad5a4c6ccba42fa78faa7eebd9f7b3ae229fff97596a28cf03979fb7/68747470733a2f2f7669612e706c616365686f6c6465722e636f6d2f383030783530302f6638666166632f3165323933623f746578743d46696c65732b2532422b446966662b766965776572)

---

Production safety
-----------------

[](#production-safety)

The package automatically refuses to boot if:

```
app()->environment('production') === true
```

No routes, no Livewire components, no commands will be registered in production. Zero overhead.

---

Uninstall
---------

[](#uninstall)

```
# 1. Run purge to clean database tables and files
php artisan docsystem:purge

# 2. Remove the package
composer remove eca-devtools/docsystem

# 3. Remove the component tag from your layout
# (delete the  line)

# 4. (Optional) Remove published config
rm config/docsystem.php
```

---

License
-------

[](#license)

MIT

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance90

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

46d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b0fa993bb1a64ce6a24bc31888c05eed29708b6b8c2ae0c4fdc6cc56378ebbfb?d=identicon)[Eloir Casas](/maintainers/Eloir%20Casas)

---

Top Contributors

[![papirri](https://avatars.githubusercontent.com/u/12880342?v=4)](https://github.com/papirri "papirri (2 commits)")

### Embed Badge

![Health badge](/badges/eca-devtools-docsystem/health.svg)

```
[![Health](https://phpackages.com/badges/eca-devtools-docsystem/health.svg)](https://phpackages.com/packages/eca-devtools-docsystem)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[tucker-eric/eloquentfilter

An Eloquent way to filter Eloquent Models

1.8k4.8M26](/packages/tucker-eric-eloquentfilter)[orchestra/canvas

Code Generators for Laravel Applications and Packages

21017.2M158](/packages/orchestra-canvas)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

44643.1k1](/packages/pressbooks-pressbooks)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[kirschbaum-development/commentions

A package to allow you to create comments, tag users and more

12369.2k](/packages/kirschbaum-development-commentions)

PHPackages © 2026

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