Are you the author? Sign in to claim
Crash-safe session memory for AI development workflows. Track progress, resume sessions, and maintain context across pro
Your development session's "flight recorder" - now with SQLite persistence and behavioral enforcement
Goldfish .NET is a crash-safe developer's work journal rebuilt from the ground up with:
# Install as global .NET tool
dotnet tool install -g COA.Goldfish
# Add to Claude Code MCP configuration
# Edit ~/.claude/settings.json:
{
"mcpServers": {
"goldfish": {
"type": "stdio",
"command": "goldfish",
"args": [],
"env": {}
}
}
}
# Clone and build
git clone [repository-url]
cd "COA Goldfish MCP/dotnet"
dotnet build
# Run directly
dotnet run --project src/COA.Goldfish.McpServer
# Or add to Claude Code with full path:
# "command": "C:/path/to/COA Goldfish MCP/dotnet/src/COA.Goldfish.McpServer/bin/Debug/net9.0/COA.Goldfish.McpServer.exe"
Goldfish .NET provides 7 main tools that enforce a cohesive workflow:
mcp__goldfish__plan - Strategic Planning with Discovery AccumulationYou: "Create a plan for implementing OAuth2 authentication"
Goldfish: Creates structured plan with items, discoveries field, and optional TODO generation
mcp__goldfish__todo - Smart Task Management"latest", "active", "current"You: "Add urgent task to active list"
Goldfish: Adds to your current active TODO list without needing exact IDs
mcp__goldfish__checkpoint - Session State ManagementYou: "Save checkpoint: Completed JWT implementation with refresh tokens"
Goldfish: Captures description, active files, git branch, session context
mcp__goldfish__standup - Cross-Tool Progress SummariesYou: "Generate daily standup report"
Goldfish: Shows yesterday's checkpoints, TODO progress, plan updates across all projects
mcp__goldfish__recall - Context RestorationYou: "What was I working on?"
Goldfish: Shows recent checkpoints, active TODOs, current plans
mcp__goldfish__chronicle - Decision and Progress TrackingYou: "Record decision: Using PostgreSQL over MongoDB for better transaction support"
Goldfish: Creates chronicle entry with timestamp, links to related plans/TODOs
mcp__goldfish__workspace - Active Work State ManagementYou: "Set active plan to user-authentication-plan"
Goldfish: Makes this the active plan, deactivates others, validates workspace state
__global__ workspacepublic class WorkspaceState
{
public string WorkspaceId { get; set; }
public string? ActivePlanId { get; set; } // ONE active plan
public string? ActiveTodoListId { get; set; } // ONE active TODO list
public DateTime LastActivity { get; set; }
}
public class Plan
{
public string Id { get; set; }
public string WorkspaceId { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public PlanStatus Status { get; set; } // Draft, Active, Complete, Abandoned
public List<string> Items { get; set; }
public List<string> Discoveries { get; set; } // NEW - replaces Intel tool
public DateTime CreatedAt { get; set; }
}
public class TodoList
{
public string Id { get; set; }
public string WorkspaceId { get; set; }
public string Title { get; set; }
public bool IsActive { get; set; } // Active list concept
public List<TodoItem> Items { get; set; }
public DateTime CreatedAt { get; set; }
}
public class ChronicleEntry // NEW - Decision tracking
{
public string Id { get; set; }
public string WorkspaceId { get; set; }
public DateTime Timestamp { get; set; }
public ChronicleEntryType Type { get; set; } // Decision, Milestone, Issue, Resolution
public string Description { get; set; }
public string? RelatedPlanId { get; set; } // Link to plans
public string? RelatedTodoId { get; set; } // Link to TODOs
}
# Default: ~/.coa/goldfish/goldfish.db
# Override with connection string:
export GOLDFISH_DATABASE_CONNECTION_STRING="Data Source=/custom/path/goldfish.db"
# Or set base path (goldfish.db will be created there):
export COA_GOLDFISH_BASE_PATH="/custom/goldfish/storage"
{
"Goldfish": {
"Sync": {
"Enabled": true,
"ApiUrl": "https://your-goldfish-api.com",
"ApiKey": "your-api-key"
}
}
}
{
"Goldfish": {
"Enforcement": {
"Level": "StronglyUrge", // None, Suggest, StronglyUrge, Require
"RequireActiveWork": true,
"AutoCleanupDays": 7
}
}
}
You: "What's my current work state?"
Goldfish:
- Active Plan: "User Authentication System" (3/7 items complete)
- Active TODO: "API Endpoints" (2 pending tasks)
- Last Checkpoint: "JWT validation complete" (yesterday 4:30 PM)
You: "Create plan for database migration to PostgreSQL"
Goldfish: Creates plan with structured items, then asks:
"Would you like me to generate a TODO list from this plan?"
You: "Yes, create TODO list"
Goldfish:
- Creates TODO list with plan items
- Sets as active TODO list
- Links plan and TODO list in database
You: "Generate weekly standup across all projects"
Goldfish:
## Weekly Standup (Sept 2-8, 2025)
**Completed Across All Projects:**
- goldfish-mcp: Migration to .NET complete (23 checkpoints)
- api-project: OAuth2 integration (15 checkpoints)
- client-portal: UI redesign phase 1 (8 checkpoints)
**Active Work:**
- 3 active plans across projects
- 12 pending TODO items
- Next: API testing and deployment
You: "Record decision: Using Entity Framework Core over Dapper for better migration support"
Goldfish: Creates chronicle entry linked to current active plan, searchable in future
# Run all tests
dotnet test
# Run specific test project
dotnet test tests/COA.Goldfish.McpServer.Tests/
dotnet test tests/COA.Goldfish.IntegrationTests/
# Development with hot reload
dotnet watch run --project src/COA.Goldfish.McpServer
# Database migrations
dotnet ef migrations add NewMigration --project src/COA.Goldfish.McpServer
dotnet ef database update --project src/COA.Goldfish.McpServer
If you have existing TypeScript Goldfish data:
# Run migration tool (will scan ~/.coa/goldfish automatically)
cd dotnet
dotnet run --project src/COA.Goldfish.Migration
# Or specify custom paths:
dotnet run --project src/COA.Goldfish.Migration -- "/custom/json/path" "Data Source=/custom/db/path"
Note: Migration preserves all checkpoints, TODO lists, and plans while converting them to the new SQLite schema.
src/
├── COA.Goldfish.McpServer/ # Main MCP server
│ ├── Program.cs # Entry point with behavioral enforcement
│ ├── Models/ # EF Core entities
│ ├── Services/ # Business logic layer
│ │ ├── Storage/ # Database context and services
│ │ ├── WorkspaceService.cs # Workspace state management
│ │ └── SyncService.cs # Optional API sync
│ ├── Tools/ # 7 MCP tools
│ └── Templates/ # Behavioral adoption templates
└── COA.Goldfish.Migration/ # Data migration from TypeScript
# Build and pack
dotnet pack src/COA.Goldfish.McpServer -c Release
# Install locally for testing
dotnet tool install -g COA.Goldfish --add-source ./src/COA.Goldfish.McpServer/bin/Release
# Publish to NuGet (when ready)
dotnet nuget push COA.Goldfish.*.nupkg --api-key YOUR_API_KEY --source https://api.nuget.org/v3/index.json
FROM mcr.microsoft.com/dotnet/aspnet:9.0
COPY . /app
WORKDIR /app
EXPOSE 80
ENTRYPOINT ["dotnet", "COA.Goldfish.McpServer.dll"]
MIT License - Build amazing workflows with structured persistence!
Ready to upgrade? The .NET version provides everything the TypeScript version offered, plus enterprise features, better performance, and AI agent behavioral enforcement for more productive development sessions.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows