e354cdf70b10e68973be5c4938088d4fc523ae09

Author
TheEdgeOfRage <git@theedgeofrage.com>
Committer
TheEdgeOfRage <git@theedgeofrage.com>
Date

Message

Remove serena

Diff

  1diff --git a/.serena/.gitignore b/.serena/.gitignore
  2deleted file mode 100644
  3index 14d86ad623010057a726185db3690c2d04126984..0000000000000000000000000000000000000000
  4--- a/.serena/.gitignore
  5+++ /dev/null
  6@@ -1 +0,0 @@
  7-/cache
  8diff --git a/.serena/memories/code_style_conventions.md b/.serena/memories/code_style_conventions.md
  9deleted file mode 100644
 10index e09511b98427c1618c4c7efc0417585eaeb17426..0000000000000000000000000000000000000000
 11--- a/.serena/memories/code_style_conventions.md
 12+++ /dev/null
 13@@ -1,36 +0,0 @@
 14-# Code Style and Conventions
 15-
 16-## General Style
 17-- **Indentation**: Tabs with size 4 (as per .editorconfig)
 18-- **Line Endings**: LF (Unix-style)
 19-- **Charset**: UTF-8
 20-- **Trailing Whitespace**: Must be trimmed
 21-- **Final Newline**: Required in all files
 22-
 23-## YAML/TOML Files
 24-- **Indentation**: 2 spaces (not tabs)
 25-
 26-## Go-Specific Conventions
 27-- **Go Version**: 1.25
 28-- **Formatting**: Uses `gofmt`, `gofumpt`, and `goimports`
 29-- **Import Grouping**: Via `gci` with sections:
 30-  - standard library
 31-  - default (third-party)
 32-  - localmodule (project imports)
 33-
 34-## Linting Rules
 35-Enabled linters:
 36-- `forbidigo`: Prevents use of forbidden identifiers
 37-- `lll`: Line length limit
 38-- `prealloc`: Detects slice declarations that could preallocate
 39-- `predeclared`: Finds shadowing of predeclared identifiers
 40-- `staticcheck`: Static analysis checks
 41-
 42-Disabled linters:
 43-- `errcheck`: Error checking is disabled
 44-
 45-Mock files in `mocks/` directory are excluded from most linting rules.
 46-
 47-## File Generation
 48-- Templates use `templ` and must be regenerated via `templ generate` before building
 49-- Mocks are generated using `moq` tool
 50diff --git a/.serena/memories/project_overview.md b/.serena/memories/project_overview.md
 51deleted file mode 100644
 52index e9697533f94af1d8e6bcd4774d97b8c9e404b38a..0000000000000000000000000000000000000000
 53--- a/.serena/memories/project_overview.md
 54+++ /dev/null
 55@@ -1,44 +0,0 @@
 56-# Ytrssil API - Project Overview
 57-
 58-## Purpose
 59-Ytrssil API is a YouTube RSS-to-interface layer application. It provides an HTTP API for managing YouTube channel subscriptions and video tracking with watch progress functionality.
 60-
 61-## Tech Stack
 62-- **Language**: Go 1.25
 63-- **Web Framework**: Gin (github.com/gin-gonic/gin v1.11.0)
 64-- **Templating**: templ (github.com/a-h/templ v0.3.960) for HTML generation
 65-- **Database**: PostgreSQL (via lib/pq driver)
 66-- **Testing**: testify (github.com/stretchr/testify v1.11.1)
 67-- **Hot Reload**: air (for development)
 68-- **Containerization**: Docker with buildx
 69-
 70-## Project Structure
 71-```
 72-.
 73-├── cmd/               # Entry point (main.go)
 74-├── httpserver/        # HTTP server implementations
 75-│   ├── ytrssil/      # Main API routes
 76-│   └── auth/         # Authentication routes
 77-├── handler/          # Business logic handlers
 78-│   ├── channels.go
 79-│   ├── videos.go
 80-│   └── handler_test.go
 81-├── models/           # Data models
 82-│   ├── channel.go
 83-│   └── video.go
 84-├── db/               # Database layer
 85-│   ├── db.go
 86-│   ├── psql.go
 87-│   ├── channels.go
 88-│   └── videos.go
 89-├── feedparser/       # RSS feed parsing logic
 90-├── pages/            # templ templates for HTML pages
 91-├── lib/              # Shared libraries
 92-├── mocks/            # Generated mock interfaces for testing
 93-├── migrations/       # Database migrations
 94-├── config/           # Configuration files
 95-└── assets/           # Static assets
 96-```
 97-
 98-## Dependencies
 99-Database runs on PostgreSQL 18 via Docker Compose.
100diff --git a/.serena/memories/suggested_commands.md b/.serena/memories/suggested_commands.md
101deleted file mode 100644
102index 42026c4932e77b38ac4c1fcf044dbe6050d01fbe..0000000000000000000000000000000000000000
103--- a/.serena/memories/suggested_commands.md
104+++ /dev/null
105@@ -1,60 +0,0 @@
106-# Suggested Commands
107-
108-## Development Commands
109-
110-### Building
111-```bash
112-make build          # Generate templates and build binary to dist/ytrssil
113-templ generate      # Generate Go code from templ templates
114-```
115-
116-### Testing
117-```bash
118-make test           # Run tests with race detection and benchmarks (10s timeout)
119-go test -timeout=10s -race -benchmem ./...
120-```
121-
122-### Linting and Formatting
123-```bash
124-make lint           # Run full linting pipeline:
125-                    # - go mod tidy
126-                    # - go vet
127-                    # - golangci-lint fmt (format)
128-                    # - golangci-lint run (lint)
129-```
130-
131-### Development Server
132-```bash
133-make air            # Start hot-reload development server using air
134-```
135-
136-### Mock Generation
137-```bash
138-make gen-mocks      # Generate mock implementations for testing:
139-                    # - db/DB interface
140-                    # - feedparser/Parser interface
141-                    # - lib/clients/youtube/Client interface
142-```
143-
144-### Database
145-```bash
146-make migrate        # Run database migrations
147-                    # Default: postgres://ytrssil:ytrssil@localhost:5432/ytrssil?sslmode=disable
148-                    # Override with: make migrate DB_URI=<your-uri>
149-```
150-
151-### Docker
152-```bash
153-make image-build    # Build and push Docker images:
154-                    # - theedgeofrage/ytrssil:api
155-                    # - theedgeofrage/ytrssil:migrations
156-
157-docker compose up   # Start full stack (postgres + api + migrations)
158-```
159-
160-## Binary Installation (in bin/)
161-The Makefile installs tools locally to avoid global pollution:
162-- `bin/moq`: Mock generator
163-- `bin/golangci-lint`: Linter
164-- `bin/migrate`: Database migration tool
165-- `bin/air`: Hot reload development server
166diff --git a/.serena/memories/task_completion_checklist.md b/.serena/memories/task_completion_checklist.md
167deleted file mode 100644
168index 6828d5bd782aa195fb4ecbedbeb51832974f748c..0000000000000000000000000000000000000000
169--- a/.serena/memories/task_completion_checklist.md
170+++ /dev/null
171@@ -1,54 +0,0 @@
172-# Task Completion Checklist
173-
174-When completing a coding task in this project, follow these steps:
175-
176-## 1. Code Generation
177-If templates were modified:
178-```bash
179-templ generate
180-```
181-
182-## 2. Mock Generation
183-If interfaces were modified:
184-```bash
185-make gen-mocks
186-```
187-
188-## 3. Linting and Formatting
189-Always run before committing:
190-```bash
191-make lint
192-```
193-This will:
194-- Tidy go.mod dependencies
195-- Run go vet
196-- Format code with golangci-lint
197-- Run static analysis linters
198-
199-## 4. Testing
200-Run the test suite:
201-```bash
202-make test
203-```
204-Tests run with:
205-- 10 second timeout
206-- Race detection enabled
207-- Benchmark memory tracking
208-
209-## 5. Build Verification
210-Ensure the project builds:
211-```bash
212-make build
213-```
214-
215-## 6. Database Migrations
216-If database schema changed:
217-```bash
218-make migrate
219-```
220-
221-## Notes
222-- All commands should pass without errors
223-- The project uses tabs for indentation (size 4)
224-- Mock files are auto-excluded from linting
225-- Tests should complete within 10 seconds
226diff --git a/.serena/project.yml b/.serena/project.yml
227deleted file mode 100644
228index 2d70284c0b28e1e88d903a9cd018567266653ef6..0000000000000000000000000000000000000000
229--- a/.serena/project.yml
230+++ /dev/null
231@@ -1,84 +0,0 @@
232-# list of languages for which language servers are started; choose from:
233-#   al               bash             clojure          cpp              csharp           csharp_omnisharp
234-#   dart             elixir           elm              erlang           fortran          go
235-#   haskell          java             julia            kotlin           lua              markdown
236-#   nix              perl             php              python           python_jedi      r
237-#   rego             ruby             ruby_solargraph  rust             scala            swift
238-#   terraform        typescript       typescript_vts   yaml             zig
239-# Note:
240-#   - For C, use cpp
241-#   - For JavaScript, use typescript
242-# Special requirements:
243-#   - csharp: Requires the presence of a .sln file in the project folder.
244-# When using multiple languages, the first language server that supports a given file will be used for that file.
245-# The first language is the default language and the respective language server will be used as a fallback.
246-# Note that when using the JetBrains backend, language servers are not used and this list is correspondingly ignored.
247-languages:
248-- go
249-
250-# the encoding used by text files in the project
251-# For a list of possible encodings, see https://docs.python.org/3.11/library/codecs.html#standard-encodings
252-encoding: "utf-8"
253-
254-# whether to use the project's gitignore file to ignore files
255-# Added on 2025-04-07
256-ignore_all_files_in_gitignore: true
257-
258-# list of additional paths to ignore
259-# same syntax as gitignore, so you can use * and **
260-# Was previously called `ignored_dirs`, please update your config if you are using that.
261-# Added (renamed) on 2025-04-07
262-ignored_paths: []
263-
264-# whether the project is in read-only mode
265-# If set to true, all editing tools will be disabled and attempts to use them will result in an error
266-# Added on 2025-04-18
267-read_only: false
268-
269-# list of tool names to exclude. We recommend not excluding any tools, see the readme for more details.
270-# Below is the complete list of tools for convenience.
271-# To make sure you have the latest list of tools, and to view their descriptions, 
272-# execute `uv run scripts/print_tool_overview.py`.
273-#
274-#  * `activate_project`: Activates a project by name.
275-#  * `check_onboarding_performed`: Checks whether project onboarding was already performed.
276-#  * `create_text_file`: Creates/overwrites a file in the project directory.
277-#  * `delete_lines`: Deletes a range of lines within a file.
278-#  * `delete_memory`: Deletes a memory from Serena's project-specific memory store.
279-#  * `execute_shell_command`: Executes a shell command.
280-#  * `find_referencing_code_snippets`: Finds code snippets in which the symbol at the given location is referenced.
281-#  * `find_referencing_symbols`: Finds symbols that reference the symbol at the given location (optionally filtered by type).
282-#  * `find_symbol`: Performs a global (or local) search for symbols with/containing a given name/substring (optionally filtered by type).
283-#  * `get_current_config`: Prints the current configuration of the agent, including the active and available projects, tools, contexts, and modes.
284-#  * `get_symbols_overview`: Gets an overview of the top-level symbols defined in a given file.
285-#  * `initial_instructions`: Gets the initial instructions for the current project.
286-#     Should only be used in settings where the system prompt cannot be set,
287-#     e.g. in clients you have no control over, like Claude Desktop.
288-#  * `insert_after_symbol`: Inserts content after the end of the definition of a given symbol.
289-#  * `insert_at_line`: Inserts content at a given line in a file.
290-#  * `insert_before_symbol`: Inserts content before the beginning of the definition of a given symbol.
291-#  * `list_dir`: Lists files and directories in the given directory (optionally with recursion).
292-#  * `list_memories`: Lists memories in Serena's project-specific memory store.
293-#  * `onboarding`: Performs onboarding (identifying the project structure and essential tasks, e.g. for testing or building).
294-#  * `prepare_for_new_conversation`: Provides instructions for preparing for a new conversation (in order to continue with the necessary context).
295-#  * `read_file`: Reads a file within the project directory.
296-#  * `read_memory`: Reads the memory with the given name from Serena's project-specific memory store.
297-#  * `remove_project`: Removes a project from the Serena configuration.
298-#  * `replace_lines`: Replaces a range of lines within a file with new content.
299-#  * `replace_symbol_body`: Replaces the full definition of a symbol.
300-#  * `restart_language_server`: Restarts the language server, may be necessary when edits not through Serena happen.
301-#  * `search_for_pattern`: Performs a search for a pattern in the project.
302-#  * `summarize_changes`: Provides instructions for summarizing the changes made to the codebase.
303-#  * `switch_modes`: Activates modes by providing a list of their names
304-#  * `think_about_collected_information`: Thinking tool for pondering the completeness of collected information.
305-#  * `think_about_task_adherence`: Thinking tool for determining whether the agent is still on track with the current task.
306-#  * `think_about_whether_you_are_done`: Thinking tool for determining whether the task is truly completed.
307-#  * `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store.
308-excluded_tools: []
309-
310-# initial prompt for the project. It will always be given to the LLM upon activating the project
311-# (contrary to the memories, which are loaded on demand).
312-initial_prompt: ""
313-
314-project_name: "api"
315-included_optional_tools: []