Remove .serena AI assistant metadata from repository

- Remove .serena folder containing AI assistant cache and memories
- Add .serena/ to .gitignore to prevent future commits of AI metadata
- Keep repository focused on actual project files
This commit is contained in:
Benjamin Slingo 2025-08-30 09:00:49 -04:00
parent 91a1bb7a54
commit af91871716
6 changed files with 4 additions and 248 deletions

5
.gitignore vendored
View file

@ -66,4 +66,7 @@ ehthumbs.db
# Coverage reports
coverage/
*.lcov
*.lcov
# AI Assistant metadata
.serena/

View file

@ -1,56 +0,0 @@
# RTSDA Web Project Overview
## Project Purpose
This is a church website project for Rockville Tolland Seventh-day Adventist Church, featuring:
- Event management and submission system
- Sermon archive and streaming
- Bulletin management
- Contact forms
- Admin interface
## Tech Stack
- **Frontend**: Astro 5.13.0 with TailwindCSS
- **Backend**: Rust-based church-core library with NAPI-RS bindings
- **Architecture**: Hybrid - Astro frontend with Rust backend via native bindings
- **API**: External API at `https://api.rockvilletollandsda.church/api/`
## Key Components
- `astro-church-website/` - Main Astro frontend
- `church-core/` - Rust backend library
- `axum-church-website/` - Alternative backend (Axum-based)
## Project Structure
```
/
├── astro-church-website/ # Main Astro frontend
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── layouts/ # Page layouts
│ │ ├── pages/ # Astro pages and API routes
│ │ │ ├── api/ # API endpoints
│ │ │ ├── events/ # Event-related pages
│ │ │ ├── admin/ # Admin interface
│ │ │ └── bulletin/ # Bulletin management
│ │ └── lib/ # Utilities and bindings
│ ├── package.json
│ ├── Cargo.toml # Rust dependencies for NAPI
│ └── build.rs # Build script
├── church-core/ # Rust backend library
└── axum-church-website/ # Alternative Axum backend
```
## Development Commands
- `npm run dev` - Start development server (localhost:4321)
- `npm run build` - Build production site (includes native build)
- `npm run build:native` - Build native Rust bindings only
- `npm run preview` - Preview built site
## Key Features
1. **Event Submission Form** (`/events/submit`) - Users can submit events for approval
2. **Admin Interface** (`/admin`) - Event management and approval
3. **Bulletin Archive** (`/bulletin`) - Historical bulletins
4. **Live Streaming** (`/live`) - Church service streaming
5. **Sermon Archive** (`/sermons`) - Past sermons and audio
## Known Issue
There's a database error when users select "2nd 3rd Saturday" in the recurring field of the event submission form, causing a 500 error.

View file

@ -1,71 +0,0 @@
# Suggested Development Commands
## Core Development Commands
```bash
# Install dependencies
npm install
# Start development server
npm run dev # Starts at localhost:4321
# Build for production
npm run build # Includes native Rust build
npm run build:native # Build only Rust bindings
npm run preview # Preview production build
# Astro CLI commands
npm run astro ... # Run any Astro CLI command
npm run astro -- --help # Get Astro CLI help
```
## System Utilities (Darwin/macOS)
```bash
# Basic file operations
ls # List files
cd <directory> # Change directory
find . -name "*.ts" # Find TypeScript files
grep -r "pattern" . # Search for patterns
# Git operations
git status # Check git status
git add . # Stage all changes
git commit -m "message" # Commit changes
git push # Push to remote
# Package management
npm install <package> # Install new package
npm uninstall <package> # Remove package
npm audit # Check for vulnerabilities
```
## Rust/NAPI Commands
```bash
# Native bindings
cargo build --release # Build Rust code
napi build --platform --release # Build NAPI bindings
# Rust development
cargo check # Check Rust code
cargo test # Run Rust tests
cargo clippy # Rust linter
```
## Testing & Quality (when available)
```bash
# Check if these exist in project:
npm run test # Run tests (if configured)
npm run lint # Lint code (if configured)
npm run format # Format code (if configured)
npm run typecheck # TypeScript checking (if configured)
```
## Debugging
```bash
# Development debugging
npm run dev -- --verbose # Verbose development mode
npm run build -- --verbose # Verbose build
# View logs
tail -f logs/app.log # If logs exist
console logs via browser dev tools # For frontend debugging
```

View file

@ -1,52 +0,0 @@
# Task Completion Checklist
When completing any development task in this project, follow these steps:
## 1. Code Quality Checks
- [ ] **TypeScript Validation**: Run `npx tsc --noEmit` to check TypeScript types
- [ ] **Build Test**: Run `npm run build` to ensure the project builds successfully
- [ ] **Development Server**: Test with `npm run dev` to ensure functionality works locally
## 2. Rust/Native Code (if applicable)
- [ ] **Rust Check**: Run `cargo check` in the church-core directory
- [ ] **Native Build**: Run `npm run build:native` to ensure NAPI bindings compile
- [ ] **Cargo Clippy**: Run `cargo clippy` for Rust linting (if available)
## 3. Frontend Testing
- [ ] **Manual Testing**: Test all affected functionality in the browser
- [ ] **Cross-browser Check**: Test in different browsers if UI changes were made
- [ ] **Mobile Responsiveness**: Check mobile layout if UI changes were made
## 4. API Integration
- [ ] **API Endpoints**: Test any modified API routes (`/api/*`)
- [ ] **External API**: Verify integration with `https://api.rockvilletollandsda.church/api/`
- [ ] **Error Handling**: Ensure proper error responses and user feedback
## 5. Documentation
- [ ] **Code Comments**: Add comments for complex logic
- [ ] **README Updates**: Update documentation if new features or requirements
- [ ] **Memory Updates**: Update project memory files if architecture changes
## 6. Git Best Practices
- [ ] **Commit Messages**: Use clear, descriptive commit messages
- [ ] **Branch Management**: Work on feature branches when appropriate
- [ ] **Clean History**: Squash commits if multiple small fixes
## 7. Performance & Security
- [ ] **Bundle Size**: Check if changes affect build size significantly
- [ ] **Security**: Ensure no sensitive data is exposed
- [ ] **Caching**: Verify API caching headers are appropriate
## Common Issues to Watch For
- **NAPI Bindings**: Ensure native code compiles on target platforms
- **External API Dependency**: Handle cases where external API is unavailable
- **Image Uploads**: Validate file sizes and types properly
- **Form Validation**: Both client-side and server-side validation
- **Recurring Events**: Special attention to date/time handling
## Pre-deployment Checklist
- [ ] All TypeScript errors resolved
- [ ] Production build succeeds
- [ ] All features tested manually
- [ ] External dependencies verified
- [ ] Environment variables documented (if new ones added)

View file

@ -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: rust
# 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: "rtsda-web-main"