Skip to content
Merged
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
91 changes: 91 additions & 0 deletions .claude/commands/bug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Bug Planning

Create a new plan in specs/*.md to resolve the `Bug` using the exact specified markdown `Plan Format`. Follow the `Instructions` to create the plan use the `Relevant Files` to focus on the right files.

## GitHub Issue Detection

If the input below looks like a GitHub issue URL (e.g., `https://github.com/owner/repo/issues/123` or `#123`), you MUST:

1. **Fetch the issue** using: `gh issue view <number> --json title,body,comments,labels,author`
2. **Read all comments** to understand the full context, reproduction steps, and any clarifications
3. **Use the issue content** as the bug description instead of the raw URL
4. **Reference the issue** in the plan (e.g., "Fixes #123")

Example:
```bash
gh issue view 4150 --json title,body,comments,labels,author
```

## Instructions

- You're writing a plan to resolve a bug, it should be thorough and precise so we fix the root cause and prevent regressions.
- Create the plan in the `specs/*.md` file. Name it with format `YYMMDD-<descriptive-name>.md` (e.g., `250128-fix-database-connection.md`). Get the current date first.
- Use the plan format below to create the plan.
- Research the codebase to understand the bug, reproduce it, and put together a plan to fix it.
- IMPORTANT: Replace every <placeholder> in the `Plan Format` with the requested value. Add as much detail as needed to fix the bug.
- Use your reasoning model: THINK HARD about the bug, its root cause, and the steps to fix it properly.
- IMPORTANT: Be surgical with your bug fix, solve the bug at hand and don't fall off track.
- IMPORTANT: We want the minimal number of changes that will fix and address the bug.
- Don't use decorators. Keep it simple.
- If you need a new library, use `uv add` and be sure to report it in the `Notes` section of the `Plan Format`.
- Respect requested files in the `Relevant Files` section.
- Start your research by reading the `docs/ai_docs/project-guide.md` file.

## Relevant Files

Focus on the following files:
- `docs/ai_docs/project-guide.md` - Contains the project overview and development instructions.
- `api/**` - FastAPI backend (routers, schemas, dependencies).
- `core/**` - Shared business logic (database, repositories, config).
- `app/**` - React frontend (components, pages, hooks).
- `tests/**` - Test suite (unit, integration, e2e).
- `.github/workflows/**` - GitHub Actions workflows (CI/CD, automation).
- `automation/**` - Automation scripts.
- `docs/**` - Documentation.
- `plots/**` - Plot specifications and implementations (if relevant).
- `prompts/**` - AI agent prompts (if relevant).

## Plan Format

```md
# Bug: <bug name>

## Bug Description
<describe the bug in detail, including symptoms and expected vs actual behavior>

## Problem Statement
<clearly define the specific problem that needs to be solved>

## Solution Statement
<describe the proposed solution approach to fix the bug>

## Steps to Reproduce
<list exact steps to reproduce the bug>

## Root Cause Analysis
<analyze and explain the root cause of the bug>

## Relevant Files
Use these files to fix the bug:

<find and list the files that are relevant to the bug describe why they are relevant in bullet points. If there are new files that need to be created to fix the bug, list them in an h3 'New Files' section.>

## Step by Step Tasks
IMPORTANT: Execute every step in order, top to bottom.

<list step by step tasks as h3 headers plus bullet points. use as many h3 headers as needed to fix the bug. Order matters, start with the foundational shared changes required to fix the bug then move on to the specific changes required to fix the bug. Include tests that will validate the bug is fixed with zero regressions. Your last step should be running the `Validation Commands` to validate the bug is fixed with zero regressions.>

## Validation Commands
Execute every command to validate the bug is fixed with zero regressions.

<list commands you'll use to validate with 100% confidence the bug is fixed with zero regressions. every command must execute without errors so be specific about what you want to run to validate the bug is fixed with zero regressions. Include commands to reproduce the bug before and after the fix.>
- `uv run ruff check . && uv run ruff format .` - Lint and format code
- `uv run pytest tests/unit` - Run unit tests
- `uv run pytest tests/integration` - Run integration tests (if applicable)

## Notes
<optionally list any additional notes or context that are relevant to the bug that will be helpful to the developer>
```

## Bug
$ARGUMENTS
75 changes: 75 additions & 0 deletions .claude/commands/chore.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Chore Planning

Create a new plan in specs/*.md to resolve the `Chore` using the exact specified markdown `Plan Format`. Follow the `Instructions` to create the plan use the `Relevant Files` to focus on the right files.

## GitHub Issue Detection

If the input below looks like a GitHub issue URL (e.g., `https://github.com/owner/repo/issues/123` or `#123`), you MUST:

1. **Fetch the issue** using: `gh issue view <number> --json title,body,comments,labels,author`
2. **Read all comments** to understand the full context and any clarifications
3. **Use the issue content** as the chore description instead of the raw URL
4. **Reference the issue** in the plan (e.g., "Related to #123")

Example:
```bash
gh issue view 4150 --json title,body,comments,labels,author
```

## Instructions

- You're writing a plan to resolve a chore, it should be simple but we need to be thorough and precise so we don't miss anything or waste time with any second round of changes.
- Create the plan in the `specs/*.md` file. Name it with format `YYMMDD-<descriptive-name>.md` (e.g., `250128-update-dependencies.md`). Get the current date first.
- Use the plan format below to create the plan.
- Research the codebase and put together a plan to accomplish the chore.
- IMPORTANT: Replace every <placeholder> in the `Plan Format` with the requested value. Add as much detail as needed to accomplish the chore.
- Use your reasoning model: THINK HARD about the plan and the steps to accomplish the chore.
- Respect requested files in the `Relevant Files` section.
- Start your research by reading the `docs/ai_docs/project-guide.md` file.

## Relevant Files

Focus on the following files:
- `docs/ai_docs/project-guide.md` - Contains the project overview and development instructions.
- `api/**` - FastAPI backend (routers, schemas, dependencies).
- `core/**` - Shared business logic (database, repositories, config).
- `app/**` - React frontend (components, pages, hooks).
- `tests/**` - Test suite (unit, integration, e2e).
- `.github/workflows/**` - GitHub Actions workflows (CI/CD, automation).
- `automation/**` - Automation scripts.
- `docs/**` - Documentation.
- `plots/**` - Plot specifications and implementations (if relevant).
- `prompts/**` - AI agent prompts (if relevant).

## Plan Format

```md
# Chore: <chore name>

## Chore Description
<describe the chore in detail>

## Relevant Files
Use these files to resolve the chore:

<find and list the files that are relevant to the chore describe why they are relevant in bullet points. If there are new files that need to be created to accomplish the chore, list them in an h3 'New Files' section.>

## Step by Step Tasks
IMPORTANT: Execute every step in order, top to bottom.

<list step by step tasks as h3 headers plus bullet points. use as many h3 headers as needed to accomplish the chore. Order matters, start with the foundational shared changes required to fix the chore then move on to the specific changes required to fix the chore. Your last step should be running the `Validation Commands` to validate the chore is complete with zero regressions.>

## Validation Commands
Execute every command to validate the chore is complete with zero regressions.

<list commands you'll use to validate with 100% confidence the chore is complete with zero regressions. every command must execute without errors so be specific about what you want to run to validate the chore is complete with zero regressions. Don't validate with curl commands.>
- `uv run ruff check . && uv run ruff format .` - Lint and format code
- `uv run pytest tests/unit` - Run unit tests
- `uv run pytest tests/integration` - Run integration tests (if applicable)

## Notes
<optionally list any additional notes or context that are relevant to the chore that will be helpful to the developer>
```

## Chore
$ARGUMENTS
112 changes: 112 additions & 0 deletions .claude/commands/feature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Feature Planning

Create a new plan in specs/*.md to implement the `Feature` using the exact specified markdown `Plan Format`. Follow the `Instructions` to create the plan use the `Relevant Files` to focus on the right files.

## GitHub Issue Detection

If the input below looks like a GitHub issue URL (e.g., `https://github.com/owner/repo/issues/123` or `#123`), you MUST:

1. **Fetch the issue** using: `gh issue view <number> --json title,body,comments,labels,author`
2. **Read all comments** to understand the full context and any clarifications
3. **Use the issue content** as the feature description instead of the raw URL
4. **Reference the issue** in the plan (e.g., "Related to #123")

Example:
```bash
gh issue view 4150 --json title,body,comments,labels,author
```

## Instructions

- You're writing a plan to implement a net new feature that will add value to the application.
- Create the plan in the `specs/*.md` file. Name it with format `YYMMDD-<descriptive-name>.md` (e.g., `250128-add-user-auth.md`). Get the current date first.
- Use the `Plan Format` below to create the plan.
- Research the codebase to understand existing patterns, architecture, and conventions before planning the feature.
- IMPORTANT: Replace every <placeholder> in the `Plan Format` with the requested value. Add as much detail as needed to implement the feature successfully.
- Use your reasoning model: THINK HARD about the feature requirements, design, and implementation approach.
- Follow existing patterns and conventions in the codebase. Don't reinvent the wheel.
- Design for extensibility and maintainability.
- If you need a new library, use `uv add` and be sure to report it in the `Notes` section of the `Plan Format`.
- Respect requested files in the `Relevant Files` section.
- Start your research by reading the `docs/ai_docs/project-guide.md` file.

## Relevant Files

Focus on the following files:
- `docs/ai_docs/project-guide.md` - Contains the project overview and development instructions.
- `api/**` - FastAPI backend (routers, schemas, dependencies).
- `core/**` - Shared business logic (database, repositories, config).
- `app/**` - React frontend (components, pages, hooks).
- `tests/**` - Test suite (unit, integration, e2e).
- `.github/workflows/**` - GitHub Actions workflows (CI/CD, automation).
- `automation/**` - Automation scripts.
- `docs/**` - Documentation.
- `plots/**` - Plot specifications and implementations (if relevant).
- `prompts/**` - AI agent prompts (if relevant).

## Plan Format

```md
# Feature: <feature name>

## Feature Description
<describe the feature in detail, including its purpose and value to users>

## User Story
As a <type of user>
I want to <action/goal>
So that <benefit/value>

## Problem Statement
<clearly define the specific problem or opportunity this feature addresses>

## Solution Statement
<describe the proposed solution approach and how it solves the problem>

## Relevant Files
Use these files to implement the feature:

<find and list the files that are relevant to the feature describe why they are relevant in bullet points. If there are new files that need to be created to implement the feature, list them in an h3 'New Files' section.>

## Implementation Plan
### Phase 1: Foundation
<describe the foundational work needed before implementing the main feature>

### Phase 2: Core Implementation
<describe the main implementation work for the feature>

### Phase 3: Integration
<describe how the feature will integrate with existing functionality>

## Step by Step Tasks
IMPORTANT: Execute every step in order, top to bottom.

<list step by step tasks as h3 headers plus bullet points. use as many h3 headers as needed to implement the feature. Order matters, start with the foundational shared changes required then move on to the specific implementation. Include creating tests throughout the implementation process. Your last step should be running the `Validation Commands` to validate the feature works correctly with zero regressions.>

## Testing Strategy
### Unit Tests
<describe unit tests needed for the feature>

### Integration Tests
<describe integration tests needed for the feature>

### Edge Cases
<list edge cases that need to be tested>

## Acceptance Criteria
<list specific, measurable criteria that must be met for the feature to be considered complete>

## Validation Commands
Execute every command to validate the feature works correctly with zero regressions.

<list commands you'll use to validate with 100% confidence the feature is implemented correctly with zero regressions. every command must execute without errors so be specific about what you want to run to validate the feature works as expected. Include commands to test the feature end-to-end.>
- `uv run ruff check . && uv run ruff format .` - Lint and format code
- `uv run pytest tests/unit` - Run unit tests
- `uv run pytest tests/integration` - Run integration tests (if applicable)

## Notes
<optionally list any additional notes, future considerations, or context that are relevant to the feature that will be helpful to the developer>
```

## Feature
$ARGUMENTS
12 changes: 12 additions & 0 deletions .claude/commands/implement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Implement the following plan
Follow the `Instructions` to implement the `Plan` then `Report` the completed work.

## Instructions
- Read the plan, think hard about the plan and implement the plan.

## Plan
$ARGUMENTS

## Report
- Summarize the work you've just done in a concise bullet point list.
- Report the files and total lines changed with `git diff --stat`
40 changes: 16 additions & 24 deletions .claude/commands/prime.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,28 @@
# Prime

> Quickly understand the pyplots codebase - structure, rules, and current state.
> Execute the following sections to understand the codebase then summarize your understanding.

## Project Vision
## Run

@docs/concepts/vision.md
git ls-files ':!plots/'

## Project Config
## Read

@docs/ai_docs/project-guide.md
@docs/concepts/vision.md
@pyproject.toml

## Git Status

```bash
git status --short
git log --oneline -5
```
## Serena

## Codebase Exploration
- Run `activate_project` with project "pyplots"
- Run `list_memories` and read relevant ones
- Run `check_onboarding_performed`

Use Serena MCP tools to explore:
- `list_dir(".", recursive=false)` - Top-level structure
- `list_dir("api/", recursive=true)` - Backend API structure
- `list_dir("core/", recursive=true)` - Core business logic
- `list_dir("app/src/", recursive=true)` - Frontend structure
- `jet_brains_get_symbols_overview` on `api/main.py`, `core/database/models.py` for key symbols
Prefer Serena's symbolic tools (`jet_brains_find_symbol`, `jet_brains_get_symbols_overview`,
`jet_brains_find_referencing_symbols`) over brute-force file scanning.

## Summarize
Use Serena's thinking tools to maintain focus:

After exploring, provide:
1. **Purpose**: What does this project do?
2. **Architecture**: Key components and how they connect
3. **Workflow**: How specs become implementations
4. **Tech Stack**: Languages, frameworks, infrastructure
5. **Key Rules**: Critical constraints from CLAUDE.md
- `think_about_collected_information` - after research/search sequences
- `think_about_task_adherence` - before making code changes
- `think_about_whether_you_are_done` - when task seems complete
21 changes: 21 additions & 0 deletions .claude/commands/start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Start Development Servers

Start both backend and frontend development servers.

## Instructions

1. Start the FastAPI backend server in background:
```bash
uv run uvicorn api.main:app --reload --port 8000 &
```

2. Start the React frontend dev server:
```bash
cd app && yarn dev
```

## Notes
- Backend runs on http://localhost:8000
- Frontend runs on http://localhost:3000
- Use `pkill -f uvicorn` to stop the backend
- Use `pkill -f vite` to stop the frontend
10 changes: 8 additions & 2 deletions .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,15 @@
"permissions": {
"allow": [
"Write",
"MultiEdit",
"Edit",
"Bash"
"Bash",
"WebFetch",
"mcp__plugin_serena_serena__*",
"mcp__plugin_context7_context7__*"
],
"ask": [
"Bash(git commit *)",
"Bash(git push *)"
],
"deny": []
}
Expand Down
8 changes: 0 additions & 8 deletions .mcp.json

This file was deleted.

Loading
Loading