From 0da156dfedbe552c1e177c1e9a31134303af9c39 Mon Sep 17 00:00:00 2001 From: stormcat24 Date: Fri, 19 Dec 2025 00:44:52 +0900 Subject: [PATCH] chore: Remove Serena MCP server configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove Serena language server integration as it's no longer being used. Deleted files: - .serena/project.yml - Serena project configuration - .serena/memories/*.md - Cached project memories 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .serena/memories/code_style_conventions.md | 46 ---------- .serena/memories/directory_structure.md | 37 -------- .serena/memories/project_overview.md | 34 -------- .serena/memories/suggested_commands.md | 88 -------------------- .serena/memories/task_completion_workflow.md | 64 -------------- .serena/project.yml | 68 --------------- 6 files changed, 337 deletions(-) delete mode 100644 .serena/memories/code_style_conventions.md delete mode 100644 .serena/memories/directory_structure.md delete mode 100644 .serena/memories/project_overview.md delete mode 100644 .serena/memories/suggested_commands.md delete mode 100644 .serena/memories/task_completion_workflow.md delete mode 100644 .serena/project.yml diff --git a/.serena/memories/code_style_conventions.md b/.serena/memories/code_style_conventions.md deleted file mode 100644 index ef3c2e2f..00000000 --- a/.serena/memories/code_style_conventions.md +++ /dev/null @@ -1,46 +0,0 @@ -# KECS Code Style and Conventions - -## Go Code Style -- **Formatting**: Uses `gofmt` for automatic formatting -- **Imports**: Uses `goimports` with local import prefix `github.com/nandemo-ya/kecs` -- **Linting**: Uses `golangci-lint` for code quality checks -- **Naming**: Follows standard Go naming conventions (PascalCase for exports, camelCase for internal) - -## Testing Conventions -- **Framework**: Uses Ginkgo for BDD-style testing with Gomega matchers -- **Test Structure**: - ```go - var _ = Describe("ComponentName", func() { - Context("when condition", func() { - It("should behavior", func() { - Expect(actual).To(Equal(expected)) - }) - }) - }) - ``` -- **File Naming**: Test files end with `*_test.go` -- **Location**: Tests are placed alongside the code they test - -## API Implementation Pattern -- Each ECS resource type has its own file in `internal/controlplane/api/` -- Request/Response struct definitions match AWS ECS API exactly -- Handler functions are registered in `api/server.go` -- Follow AWS ECS API naming conventions exactly - -## Code Organization -- **Clean Architecture**: Clear separation between API, business logic, and infrastructure layers -- **Context Usage**: Context-based cancellation throughout the codebase -- **Error Handling**: Proper error handling and propagation -- **Interfaces**: Use interfaces for dependency injection and testing - -## Documentation -- **Comments**: Go doc-style comments for exported functions and types -- **README**: Project documentation in markdown -- **ADRs**: Architectural Decision Records in `docs/adr/records/` - -## Git Conventions -- **Branching**: - - Feature branches: `feat/feature-name` - - Bug fixes: `fix/bug-name` -- **Commits**: Clear, descriptive commit messages -- **PR Requirements**: All tests must pass before creating PR \ No newline at end of file diff --git a/.serena/memories/directory_structure.md b/.serena/memories/directory_structure.md deleted file mode 100644 index 23103115..00000000 --- a/.serena/memories/directory_structure.md +++ /dev/null @@ -1,37 +0,0 @@ -# KECS Directory Structure - -## Root Level -- `controlplane/` - Main Go application code -- `docs-site/` - VitePress documentation site -- `mcp-server/` - TypeScript MCP server for AI integration -- `tests/` - Scenario tests with testcontainers -- `examples/` - Example configurations and use cases -- `scripts/` - Build and deployment scripts -- `.github/` - GitHub Actions workflows -- `deployments/` - Deployment configurations - -## Controlplane Directory (`controlplane/`) -- `cmd/controlplane/` - Entry point for the control plane binary -- `internal/controlplane/cmd/` - CLI command implementations using Cobra -- `internal/controlplane/api/` - ECS API endpoint implementations -- `internal/controlplane/admin/` - Admin server with health checks -- `internal/converters/` - Task definition to Kubernetes resource converters -- `internal/kubernetes/` - Kubernetes client and resource managers -- `internal/storage/` - Storage interfaces and DuckDB implementation -- `test/` - Test files and test utilities -- `awsproxy/` - AWS proxy service implementation - -## Documentation -- `docs/adr/records/` - Architectural Decision Records -- `docs-site/` - VitePress-based documentation site - - `.vitepress/config.js` - Site configuration - - `guides/` - User guides and tutorials - - `api/` - API reference documentation - - `architecture/` - Architecture documentation - - `deployment/` - Deployment guides - - `development/` - Developer documentation - -## Testing Structure -- Ginkgo tests alongside code (`*_test.go` files) -- Scenario tests in `tests/scenarios/` using testcontainers -- Test configurations in `controlplane/test/` \ No newline at end of file diff --git a/.serena/memories/project_overview.md b/.serena/memories/project_overview.md deleted file mode 100644 index d1fd65d7..00000000 --- a/.serena/memories/project_overview.md +++ /dev/null @@ -1,34 +0,0 @@ -# KECS Project Overview - -## Purpose -KECS (Kubernetes-based ECS Compatible Service) is a standalone service that provides Amazon ECS compatible APIs running on Kubernetes. It enables a fully local ECS-compatible environment that operates independently of AWS environments. - -## Tech Stack -- **Language**: Go (1.24.3) -- **Frameworks**: - - Kubernetes client-go for K8s integration - - Standard net/http for HTTP servers - - Cobra for CLI commands - - Viper for configuration -- **Storage**: DuckDB for persistence -- **Testing**: Ginkgo (BDD-style testing framework) with Gomega matchers -- **UI**: Bubble Tea for TUI components -- **Container Runtime**: Docker with k3d for development -- **Documentation**: VitePress for static site generation - -## Architecture -- **Dual Server Design**: - - API Server (port 8080): ECS-compatible API requests at `/v1/` endpoints - - Admin Server (port 8081): Operational endpoints like `/health` -- **Clean Architecture** with separation of concerns -- **Context-based cancellation** throughout -- **Graceful shutdown** with 10-second timeout -- **WebSocket support** for real-time updates - -## Key Features -- ECS API compatibility (Clusters, Services, Tasks, Task Definitions, Tags, Attributes) -- Hot reload development workflow -- Multiple instance support -- Docker container management commands (similar to kind/k3d) -- MCP Server for AI assistant integration -- LocalStack integration for AWS services simulation \ No newline at end of file diff --git a/.serena/memories/suggested_commands.md b/.serena/memories/suggested_commands.md deleted file mode 100644 index 7027c19b..00000000 --- a/.serena/memories/suggested_commands.md +++ /dev/null @@ -1,88 +0,0 @@ -# KECS Essential Development Commands - -## Building and Running -```bash -make build # Build the binary to bin/kecs -make run # Build and run the application -make all # Clean, format, vet, test, and build -``` - -## Container-based Execution -```bash -kecs start # Start KECS in a Docker container -kecs stop # Stop and remove KECS container -kecs status # Show container status -kecs logs -f # Follow container logs - -# Multiple instances -kecs start --instance dev --api-port 8080 -kecs start --instance staging --api-port 8090 --auto-port -kecs instances list # List all instances -``` - -## Development Workflow (Hot Reload) -```bash -# 1. Start KECS instance -./bin/kecs start - -# 2. Make code changes and hot reload -make dev # Build and hot reload controlplane -make dev-logs # Build, hot reload, and tail logs - -# For specific instance -KECS_INSTANCE=myinstance make dev -``` - -## Testing -```bash -make test # Run tests with race detection -make test-coverage # Run tests with coverage report - -# Control plane tests (using Ginkgo) -cd controlplane && ginkgo -r -# Or using go test -cd controlplane && go test ./... - -# Scenario tests -cd tests/scenarios && make test -``` - -## Code Quality -```bash -make fmt # Format code with gofmt and organize imports -make vet # Run go vet -make lint # Run golangci-lint -make lint-fix # Run golangci-lint and fix issues automatically -``` - -## Docker Operations -```bash -make docker-build # Build Docker image -make docker-push # Build and push Docker image -make docker-build-dev # Build Docker image for k3d registry (dev mode) -``` - -## Dependencies -```bash -make deps # Download and verify dependencies -make clean # Clean build artifacts and coverage files -``` - -## Documentation -```bash -# Documentation development -cd docs-site -npm install -npm run docs:dev # Access at http://localhost:5173 - -# Build documentation -./scripts/build-docs.sh -``` - -## System Commands (macOS Darwin) -- `ls` - List directory contents -- `find` - Find files and directories -- `grep` - Search text patterns (prefer `rg` ripgrep if available) -- `git` - Version control -- `docker` - Container operations -- `kubectl` - Kubernetes operations \ No newline at end of file diff --git a/.serena/memories/task_completion_workflow.md b/.serena/memories/task_completion_workflow.md deleted file mode 100644 index a53f1f79..00000000 --- a/.serena/memories/task_completion_workflow.md +++ /dev/null @@ -1,64 +0,0 @@ -# Task Completion Workflow for KECS - -## Before Starting Implementation -1. **Create feature branch**: - ```bash - git checkout -b feat/feature-name # For features - git checkout -b fix/bug-name # For bug fixes - ``` - -## During Development -1. **Code formatting and quality**: - ```bash - make fmt # Format code and organize imports - make vet # Run go vet - make lint # Run golangci-lint (optional but recommended) - ``` - -2. **Testing during development**: - ```bash - make test # Run all tests with race detection - # or for specific components - cd controlplane && ginkgo -r - ``` - -## Before Completing Task -1. **Run full test suite**: - ```bash - cd controlplane && ginkgo -r # Control plane tests - cd controlplane && go test ./... # Alternative test command - ``` - -2. **Verify code quality**: - ```bash - make all # Runs clean, fmt, vet, test, and build - ``` - -3. **Test CI/CD changes locally** (if applicable): - ```bash - act -W .github/workflows/workflow-name.yml -j job-name --container-architecture linux/amd64 - ``` - -## Task Completion Requirements -- **All tests must pass** before creating PR -- **Code must be formatted** (make fmt) -- **No linting errors** (if using make lint) -- **All changes committed** to feature branch -- **Hot reload tested** if applicable (make dev) - -## For ECS API Endpoint Implementation -1. Add type definitions to appropriate file in `internal/controlplane/api/` -2. Implement handler function following existing patterns -3. Register handler in `api/server.go` -4. Follow AWS ECS API naming conventions exactly -5. Write Ginkgo tests covering: - - Success cases - - Error cases - - Edge cases (idempotency, empty inputs) - - AWS ECS compatibility behavior - -## Final Checks -- Tests pass: `make test` -- Code builds: `make build` -- Hot reload works: `make dev` (if applicable) -- Documentation updated if needed \ No newline at end of file diff --git a/.serena/project.yml b/.serena/project.yml deleted file mode 100644 index 3286bbb4..00000000 --- a/.serena/project.yml +++ /dev/null @@ -1,68 +0,0 @@ -# language of the project (csharp, python, rust, java, typescript, go, cpp, or ruby) -# * For C, use cpp -# * For JavaScript, use typescript -# Special requirements: -# * csharp: Requires the presence of a .sln file in the project folder. -language: go - -# whether to use the project's gitignore file to ignore files -# Added on 2025-04-07 -ignore_all_files_in_gitignore: true -# list of additional paths to ignore -# same syntax as gitignore, so you can use * and ** -# Was previously called `ignored_dirs`, please update your config if you are using that. -# Added (renamed)on 2025-04-07 -ignored_paths: [] - -# whether the project is in read-only mode -# If set to true, all editing tools will be disabled and attempts to use them will result in an error -# Added on 2025-04-18 -read_only: false - - -# list of tool names to exclude. We recommend not excluding any tools, see the readme for more details. -# Below is the complete list of tools for convenience. -# To make sure you have the latest list of tools, and to view their descriptions, -# execute `uv run scripts/print_tool_overview.py`. -# -# * `activate_project`: Activates a project by name. -# * `check_onboarding_performed`: Checks whether project onboarding was already performed. -# * `create_text_file`: Creates/overwrites a file in the project directory. -# * `delete_lines`: Deletes a range of lines within a file. -# * `delete_memory`: Deletes a memory from Serena's project-specific memory store. -# * `execute_shell_command`: Executes a shell command. -# * `find_referencing_code_snippets`: Finds code snippets in which the symbol at the given location is referenced. -# * `find_referencing_symbols`: Finds symbols that reference the symbol at the given location (optionally filtered by type). -# * `find_symbol`: Performs a global (or local) search for symbols with/containing a given name/substring (optionally filtered by type). -# * `get_current_config`: Prints the current configuration of the agent, including the active and available projects, tools, contexts, and modes. -# * `get_symbols_overview`: Gets an overview of the top-level symbols defined in a given file or directory. -# * `initial_instructions`: Gets the initial instructions for the current project. -# Should only be used in settings where the system prompt cannot be set, -# e.g. in clients you have no control over, like Claude Desktop. -# * `insert_after_symbol`: Inserts content after the end of the definition of a given symbol. -# * `insert_at_line`: Inserts content at a given line in a file. -# * `insert_before_symbol`: Inserts content before the beginning of the definition of a given symbol. -# * `list_dir`: Lists files and directories in the given directory (optionally with recursion). -# * `list_memories`: Lists memories in Serena's project-specific memory store. -# * `onboarding`: Performs onboarding (identifying the project structure and essential tasks, e.g. for testing or building). -# * `prepare_for_new_conversation`: Provides instructions for preparing for a new conversation (in order to continue with the necessary context). -# * `read_file`: Reads a file within the project directory. -# * `read_memory`: Reads the memory with the given name from Serena's project-specific memory store. -# * `remove_project`: Removes a project from the Serena configuration. -# * `replace_lines`: Replaces a range of lines within a file with new content. -# * `replace_symbol_body`: Replaces the full definition of a symbol. -# * `restart_language_server`: Restarts the language server, may be necessary when edits not through Serena happen. -# * `search_for_pattern`: Performs a search for a pattern in the project. -# * `summarize_changes`: Provides instructions for summarizing the changes made to the codebase. -# * `switch_modes`: Activates modes by providing a list of their names -# * `think_about_collected_information`: Thinking tool for pondering the completeness of collected information. -# * `think_about_task_adherence`: Thinking tool for determining whether the agent is still on track with the current task. -# * `think_about_whether_you_are_done`: Thinking tool for determining whether the task is truly completed. -# * `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store. -excluded_tools: [] - -# initial prompt for the project. It will always be given to the LLM upon activating the project -# (contrary to the memories, which are loaded on demand). -initial_prompt: "" - -project_name: "kecs"