Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,062 changes: 1,062 additions & 0 deletions .cursor/rules/adding-new-database.mdc

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .workspaces/clever-panda-34
Submodule clever-panda-34 added at c6ae6a
1 change: 1 addition & 0 deletions .workspaces/clever-spartan-8
Submodule clever-spartan-8 added at dce66c
1 change: 1 addition & 0 deletions .workspaces/happy-pirate-48
Submodule happy-pirate-48 added at c6ae6a
3 changes: 3 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,9 @@ This file contains high-level guidelines for Claude Code. For **more detailed, t
- [Form Components](.cursor/rules/form-components.mdc) - Enhanced form components with authorization
- [Testing Patterns](.cursor/rules/testing-patterns.mdc) - Testing strategies and examples

### Implementation Guides
- [Adding a New Database Type](.cursor/rules/adding-new-database.mdc) - Complete guide to integrating a new standalone database (with Valkey as reference)

Comment on lines +276 to +278
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add blank line before heading for markdown compliance.

Listen up! Your markdown needs a little breathing room, just like servers need proper ventilation (unlike those cramped serverless functions that VC marketing keeps pushing). Add a blank line before the "### Implementation Guides" heading to make markdownlint happy and improve readability.

Apply this diff:

 - [API & Routing](.cursor/rules/api-and-routing.mdc) - API design and routing conventions
-
+
 ### Implementation Guides
 - [Adding a New Database Type](.cursor/rules/adding-new-database.mdc) - Complete guide to integrating a new standalone database (with Valkey as reference)

Based on static analysis hints.

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

276-276: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)

🤖 Prompt for AI Agents
In CLAUDE.md around lines 276 to 278, the "### Implementation Guides" heading
lacks a preceding blank line which breaks Markdown lint rules and readability;
insert a single blank line directly above that heading so there is an empty line
separating it from the previous paragraph or list item.

### Project Information
- [Project Overview](.cursor/rules/project-overview.mdc) - High-level project structure
- [Technology Stack](.cursor/rules/technology-stack.mdc) - Detailed tech stack information
Expand Down
3 changes: 2 additions & 1 deletion app/Actions/Database/RestartDatabase.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@
use App\Models\StandaloneMysql;
use App\Models\StandalonePostgresql;
use App\Models\StandaloneRedis;
use App\Models\StandaloneValkey;
use Lorisleiva\Actions\Concerns\AsAction;

class RestartDatabase
{
use AsAction;

public function handle(StandaloneRedis|StandalonePostgresql|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|StandaloneDragonfly|StandaloneClickhouse $database)
public function handle(StandaloneRedis|StandaloneValkey|StandalonePostgresql|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|StandaloneDragonfly|StandaloneClickhouse $database)
{
$server = $database->destination->server;
if (! $server->isFunctional()) {
Expand Down
6 changes: 5 additions & 1 deletion app/Actions/Database/StartDatabase.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
use App\Models\StandaloneMysql;
use App\Models\StandalonePostgresql;
use App\Models\StandaloneRedis;
use App\Models\StandaloneValkey;
use Lorisleiva\Actions\Concerns\AsAction;

class StartDatabase
Expand All @@ -18,7 +19,7 @@ class StartDatabase

public string $jobQueue = 'high';

public function handle(StandaloneRedis|StandalonePostgresql|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|StandaloneDragonfly|StandaloneClickhouse $database)
public function handle(StandaloneRedis|StandaloneValkey|StandalonePostgresql|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|StandaloneDragonfly|StandaloneClickhouse $database)
{
$server = $database->destination->server;
if (! $server->isFunctional()) {
Expand All @@ -31,6 +32,9 @@ public function handle(StandaloneRedis|StandalonePostgresql|StandaloneMongodb|St
case \App\Models\StandaloneRedis::class:
$activity = StartRedis::run($database);
break;
case \App\Models\StandaloneValkey::class:
$activity = StartValkey::run($database);
break;
case \App\Models\StandaloneMongodb::class:
$activity = StartMongodb::run($database);
break;
Expand Down
7 changes: 4 additions & 3 deletions app/Actions/Database/StartDatabaseProxy.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
use App\Models\StandaloneMysql;
use App\Models\StandalonePostgresql;
use App\Models\StandaloneRedis;
use App\Models\StandaloneValkey;
use Lorisleiva\Actions\Concerns\AsAction;
use Symfony\Component\Yaml\Yaml;

Expand All @@ -20,7 +21,7 @@ class StartDatabaseProxy

public string $jobQueue = 'high';

public function handle(StandaloneRedis|StandalonePostgresql|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|StandaloneDragonfly|StandaloneClickhouse|ServiceDatabase $database)
public function handle(StandaloneRedis|StandaloneValkey|StandalonePostgresql|StandaloneMongodb|StandaloneMysql|StandaloneMariadb|StandaloneKeydb|StandaloneDragonfly|StandaloneClickhouse|ServiceDatabase $database)
{
$databaseType = $database->database_type;
$network = data_get($database, 'destination.network');
Expand All @@ -39,14 +40,14 @@ public function handle(StandaloneRedis|StandalonePostgresql|StandaloneMongodb|St
$internalPort = match ($databaseType) {
'standalone-mariadb', 'standalone-mysql' => 3306,
'standalone-postgresql', 'standalone-supabase/postgres' => 5432,
'standalone-redis', 'standalone-keydb', 'standalone-dragonfly' => 6379,
'standalone-redis', 'standalone-valkey', 'standalone-keydb', 'standalone-dragonfly' => 6379,
'standalone-clickhouse' => 9000,
'standalone-mongodb' => 27017,
default => throw new \Exception("Unsupported database type: $databaseType"),
};
if ($isSSLEnabled) {
$internalPort = match ($databaseType) {
'standalone-redis', 'standalone-keydb', 'standalone-dragonfly' => 6380,
'standalone-redis', 'standalone-valkey', 'standalone-keydb', 'standalone-dragonfly' => 6380,
default => $internalPort,
};
}
Expand Down
Loading
Loading