PHPackages                             datpmwork/sls-tinker - 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. datpmwork/sls-tinker

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

datpmwork/sls-tinker
====================

Interactive Tinker For Lambda (bref, vapor, etc)

v1.1.0(8mo ago)63.6k↓22.4%[2 PRs](https://github.com/datpmwork/sls-tinker/pulls)MITPHPPHP ^7.4|^8.0CI passing

Since Aug 25Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/datpmwork/sls-tinker)[ Packagist](https://packagist.org/packages/datpmwork/sls-tinker)[ Docs](https://github.com/datpmwork/sls-tinker)[ GitHub Sponsors](https://github.com/datpmwork)[ RSS](/packages/datpmwork-sls-tinker/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (15)Versions (6)Used By (0)

Tinker For Lambda (bref, vapor, etc)
====================================

[](#tinker-for-lambda-bref-vapor-etc)

[![Latest Version on Packagist](https://camo.githubusercontent.com/45ab78e737ebb5e85eeea3ce1fedeefb72a51574af02a0b804a617e2dd3e755b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f646174706d776f726b2f736c732d74696e6b65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/datpmwork/sls-tinker)[![GitHub Tests Action Status](https://camo.githubusercontent.com/7c5e7dea4338fbbffd6f058f197088674402cc4745cab7f3e9152caafa5d5eb5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f646174706d776f726b2f736c732d74696e6b65722f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/datpmwork/sls-tinker/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/1e93d61be000324da58c670a9230cbfb4c91b2bb4141551c2418f9bdca1f1fc9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f646174706d776f726b2f736c732d74696e6b65722f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/datpmwork/sls-tinker/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/8cd6799eb1a3a4748e6a896571a5de5c05e053fc729bb78b1f66238b43b39c1d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f646174706d776f726b2f736c732d74696e6b65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/datpmwork/sls-tinker)

**Seamless Local-to-Lambda Tinker Bridge with State Persistence**

`sls-tinker` revolutionizes debugging and development for serverless Laravel applications by creating a transparent bridge between your local Tinker session and remote Lambda execution. Experience the familiar comfort of your local `php artisan tinker` while executing commands directly against your production Lambda environment with full state preservation across commands.

Unlike traditional approaches that require web interfaces or SSH access, this package maintains the native Tinker experience you know and love, while seamlessly forwarding each command to your remote Lambda function and preserving the execution state for subsequent commands.

Support us
----------

[](#support-us)

You can support this project via [GitHub Sponsors](https://github.com/sponsors/datpmwork).

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

[](#installation)

You can install the package via composer:

```
composer require datpmwork/sls-tinker
```

🚀 How It Works
--------------

[](#-how-it-works)

```
# Start local tinker that connects to your Lambda
bash-4.2# php artisan sls-tinker lambda-function-name
> Psy Shell v0.11.22 (PHP 8.2.29 — cli) by Justin Hileman
> You're running Tinker in AWS Lambda
> Target Lambda: lambda-function-name
```

```
> $a = 1 # Assign variable
= 1 # Result from remote execution

> $a + 3 # Use variable in next command
= 4 # Result from remote execution

> $u = User::first() # Use Eloquent model
[!] Aliasing 'User' to 'App\Models\User' for this Tinker session.⏎
= App\Models\User {#6616  # Eloquent model fetched from remote
    id: 1,
    name: "Pham Minh Dat",
    email: "datpm@example.com",
    email_verified_at: null,
    created_at: "2025-02-06 14:57:18",
    updated_at: "2025-02-06 14:57:16",
    avatar: null,
  }

> $u->update(['name' => 'datpmwork']) # Update model attribute
= true # Result from remote execution

> $u
= App\Models\User {#6638  # Updated model fetched from remote
    id: 1,
    name: "datpmwork",
    email: "datpm@example.com",
    email_verified_at: null,
    created_at: "2025-02-06 14:57:18",
    updated_at: "2025-08-23 15:36:57",
    avatar: null,
  }
```

✨ Key Features
--------------

[](#-key-features)

- 🖥️ **Native Local Experience** - Use your familiar local Tinker interface and shortcuts
- ⚡ **Lambda Execution** - Every command runs on your actual Lambda environment
- 💾 **Stateful Sessions** - Variables and state persist across commands seamlessly
- 🔄 **Automatic State Sync** - Previous command context automatically sent with each request
- 🌐 **Multi-Environment** - Switch between different Lambda deployments (staging, production)
- 🔍 **Full Laravel Integration** - Access models, services, facades - everything works as expected
- 📝 **Command History** - Full history support with up/down arrow navigation
- 🏃‍♂️ **Performance Optimized** - Efficient state serialization and minimal overhead

Why This Approach?
------------------

[](#why-this-approach)

**Traditional serverless debugging problems:**

- No SSH access to Lambda functions
- Can't run interactive commands in production
- Web-based tools feel foreign and limited
- State doesn't persist between commands
- Complex setup and authentication

**`sls-tinker` Solution:**

- Keep using your local terminal and favorite tools
- Execute commands in the actual production environment
- Seamless state management across command invocations
- Zero learning curve - it's just Tinker
- Simple configuration and authentication

You can publish the config file with:

```
php artisan vendor:publish --tag="sls-tinker-config"
```

Testing
-------

[](#testing)

```
./vendor/bin/pest
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [datpmwork](https://github.com/datpmwork)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance77

Regular maintenance activity

Popularity29

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 89.1% 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 ~20 days

Total

2

Last Release

246d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/95dc757b8f49a69b719748c6b5da12eb418732886bba24f833f54f36651399c4?d=identicon)[datpmwork](/maintainers/datpmwork)

---

Top Contributors

[![datpmwork](https://avatars.githubusercontent.com/u/9279315?v=4)](https://github.com/datpmwork "datpmwork (49 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (5 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

---

Tags

brefphplaravel-tinkerlaravel-vaporserverlesslaraveldatpmworksls-tinker

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/datpmwork-sls-tinker/health.svg)

```
[![Health](https://phpackages.com/badges/datpmwork-sls-tinker/health.svg)](https://phpackages.com/packages/datpmwork-sls-tinker)
```

###  Alternatives

[spatie/laravel-data

Create unified resources and data transfer objects

1.8k28.9M627](/packages/spatie-laravel-data)[spatie/laravel-livewire-wizard

Build wizards using Livewire

4061.0M4](/packages/spatie-laravel-livewire-wizard)[hirethunk/verbs

An event sourcing package that feels nice.

513162.9k6](/packages/hirethunk-verbs)[worksome/exchange

Check Exchange Rates for any currency in Laravel.

123544.7k](/packages/worksome-exchange)[ralphjsmit/livewire-urls

Get the previous and current url in Livewire.

82270.3k4](/packages/ralphjsmit-livewire-urls)[hydrat/filament-table-layout-toggle

Filament plugin adding a toggle button to tables, allowing user to switch between Grid and Table layouts.

6292.3k1](/packages/hydrat-filament-table-layout-toggle)

PHPackages © 2026

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