Skip to content

Commit 8a3c025

Browse files
committed
skills
1 parent ec167fa commit 8a3c025

36 files changed

+14687
-7
lines changed

.claude/AGENTS.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
- In all interactions and commit messages, be extremely concise and sacrifice grammar for the sake of concision.
2+
3+
## PR Comments
4+
5+
- When tagging Claude in GitHub issues, use '@claude'
6+
7+
## GitHub
8+
9+
- Your primary method for interacting with GitHub should be the GitHub CLI.
10+
11+
## Plans
12+
13+
- At the end of each plan, give me a list of unresolved questions to answer, if any. Make the questions extremely concise. Sacrifice grammar for the sake of concision.

.claude/commands/s.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

.claude/prompt.json

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"beforeStart": [
3+
{
4+
"tag": "MANDATORY-FIRST-RESPONSE",
5+
"header": "🚨 STOP - YOUR FIRST TOOL CALL MUST BE TodoWrite",
6+
"instructions": [
7+
"DO NOT analyze the task yet. DO NOT read files. DO NOT edit anything. DO NOT load skills yet.",
8+
"YOUR FIRST ACTION: Call TodoWrite with the todo below, marking it as in_progress",
9+
"Check if the todo's condition applies - if NO, mark completed immediately and proceed with normal work",
10+
"If condition applies: work through all steps → mark completed → proceed with normal work",
11+
"If you skip TodoWrite or jump straight to file operations, you have FAILED to follow instructions"
12+
],
13+
"todos": [
14+
"Skill analysis (SKIP if message contains 'quick'): (1) Check if rationalizing with thoughts like 'simple question', 'just checking files', 'don't need formal skill', 'overkill', 'might be relevant' - if YES to ANY, stop rationalizing; (2) List ALL available skills from context; (3) For EACH skill: Read its description and check for 'always load first' or foundational patterns - mark these ✓ IMMEDIATELY. Then ask 'Does this task involve [skill topic]?' If YES or MIGHT or MAYBE = mark ✓. Only mark ✗ if DEFINITELY not related; (4) Use Skill tool to load ALL marked ✓ IN ONE PARALLEL CALL - do NOT load one skill then wait to see if it tells you to load others. Load ALL potentially relevant skills upfront; (5) Output '[Skills checked: X available, Y loaded: name1, name2, ...]'. CRITICAL: 'Might be relevant' = MUST load. 'Could apply' = MUST load. '1% chance' = MUST load. Do NOT depend on one skill to tell you to load another."
15+
]
16+
}
17+
],
18+
"beforeComplete": [
19+
{
20+
"tag": "VERIFICATION-CHECKLIST",
21+
"header": "Before claiming work is complete, fixed, or passing - NO completion claims without FRESH verification evidence:",
22+
"instructions": [
23+
"Create TodoWrite with ALL todos below (each has its own condition)",
24+
"For EACH todo: Check if its condition applies - if NO, mark completed immediately and skip to next",
25+
"If condition applies: mark in_progress → complete the check → mark completed",
26+
"Work through every todo even if some don't apply (conditions are per-todo, not global)",
27+
"We manually start session with `npm run logs && npm run typecheck:watch` as Background Bash Shell - read output when checking errors",
28+
"Run `npm run typecheck` only when Background Bash Shells are not visible/running",
29+
"NEVER make git commits unless user explicitly asked",
30+
"NEVER run `npm run dev` or `npm run build` unless explicitly asked"
31+
],
32+
"todos": [
33+
"TypeScript check (ONLY if updated ts files): Verify no `any` used (pause and ask user if `any` seems required)",
34+
"Typecheck (ONLY if updated ts files): Read typecheck:watch output OR run `npm run typecheck` - verify passes",
35+
"Lint: Run `npm run lint:fix` - verify passes"
36+
]
37+
}
38+
],
39+
"afterCompact": [
40+
{
41+
"tag": "POST-COMPACT-RECOVERY",
42+
"header": "🚨 CONTEXT WIPED - MANDATORY SKILL RELOAD REQUIRED",
43+
"instructions": [
44+
"STOP. Context compaction has DELETED all previously loaded skills. You have FORGOTTEN everything.",
45+
"DO NOT proceed with any task until you complete skill reloading below",
46+
"DO NOT assume you remember any skills - they are ALL gone from memory",
47+
"YOUR IMMEDIATE ACTION: Complete the mandatory reload checklist below",
48+
"Skipping this = GUARANTEED FAILURE because you lost all behavioral patterns"
49+
],
50+
"todos": [
51+
"Skill reload after compaction: (1) Check TodoWrite to identify what task you were working on; (2) List ALL available skills from context; (3) For EACH skill: Read its description and check for 'always load first' or foundational patterns - mark these ✓ IMMEDIATELY. Then ask 'Does this apply to my current task?' If YES or MIGHT or MAYBE = mark ✓. Only mark ✗ if DEFINITELY not related; (4) Use Skill tool to load ALL marked ✓ IN ONE PARALLEL CALL (REQUIRED - they were wiped) - do NOT load one skill then wait to see if it tells you to load others. Load ALL potentially relevant skills upfront; (5) ONLY after reloading skills, resume the task. CRITICAL: All previously loaded skills are GONE and MUST be reloaded. 'Might apply' = MUST load."
52+
]
53+
}
54+
]
55+
}

.claude/ruler.toml

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# Ruler Configuration for Informed Medical
2+
# This project uses Ruler to manage AI agent instructions
3+
# Source: .ruler/ directory | Generated: root AGENTS.md, CLAUDE.md, etc.
4+
5+
# Default agents to apply when --agents flag is not specified
6+
default_agents = ["claude", "cursor", "codex"]
7+
8+
# --- Fork Configuration ---
9+
10+
root_folder = ".claude"
11+
12+
[rules]
13+
merge_strategy = "cursor"
14+
15+
[backup]
16+
enabled = false
17+
18+
# --- Global Configuration ---
19+
20+
# Skills support (manages .ruler/skills/ → .claude/skills/ propagation)
21+
[skills]
22+
enabled = true
23+
generate_from_rules = true
24+
25+
# Automatic .gitignore management
26+
[gitignore]
27+
enabled = true
28+
29+
# MCP (Model Context Protocol) server configuration
30+
[mcp]
31+
enabled = false # Disable for now - can enable later if needed
32+
merge_strategy = "merge"
33+
34+
# --- Agent-Specific Configuration ---
35+
36+
# Claude Code (primary agent)
37+
[agents.claude]
38+
enabled = true
39+
output_path = "CLAUDE.md"
40+
41+
# Cursor (secondary agent)
42+
[agents.cursor]
43+
enabled = true
44+
# Uses AGENTS.md by default
45+
46+
# OpenAI Codex CLI
47+
[agents.codex]
48+
enabled = true
49+
output_path_config = ".codex/config.toml"
50+
# Uses AGENTS.md by default
51+
52+
# Disable other agents
53+
[agents.copilot]
54+
enabled = false
55+
56+
[agents.aider]
57+
enabled = false
58+
59+
[agents.windsurf]
60+
enabled = false
61+
62+
[agents.cline]
63+
enabled = false
64+
65+
[agents.crush]
66+
enabled = false
67+
68+
[agents.amp]
69+
enabled = false
70+
71+
[agents.amazonqcli]
72+
enabled = false
73+
74+
[agents.firebase]
75+
enabled = false
76+
77+
[agents.gemini-cli]
78+
enabled = false
79+
80+
[agents.jules]
81+
enabled = false
82+
83+
[agents.junie]
84+
enabled = false
85+
86+
[agents.kilocode]
87+
enabled = false
88+
89+
[agents.opencode]
90+
enabled = false
91+
92+
[agents.openhands]
93+
enabled = false
94+
95+
[agents.goose]
96+
enabled = false
97+
98+
[agents.qwen]
99+
enabled = false
100+
101+
[agents.roo]
102+
enabled = false
103+
104+
[agents.zed]
105+
enabled = false
106+
107+
[agents.trae]
108+
enabled = false
109+
110+
[agents.warp]
111+
enabled = false
112+
113+
[agents.kiro]
114+
enabled = false
115+
116+
[agents.firebender]
117+
enabled = false
118+
119+
[agents.augmentcode]
120+
enabled = false
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
alwaysApply: true
3+
---

.claude/rules/2-tech-stack.mdc

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
---
2+
alwaysApply: true
3+
---
4+
5+
# Tech Stack Documentation
6+
7+
## Overview
8+
9+
Next.js application with Convex backend, Better Auth authentication, and Tailwind CSS v4 styling. Built with TypeScript and React.
10+
11+
## Programming Language & Runtime
12+
13+
- **TypeScript**
14+
- **Node.js**: v22
15+
- **Package Manager**: pnpm
16+
17+
## Frontend
18+
19+
### UI Framework
20+
21+
- **React** (with React Compiler enabled)
22+
- **Next.js** (App Router, Turbopack, Typed Routes)
23+
24+
### Styling
25+
26+
- **Tailwind CSS**: v4 (CSS-first configuration)
27+
- **PostCSS**: @tailwindcss/postcss
28+
- **tw-animate-css**
29+
- **Fonts**: Geist Sans, Geist Mono (Google Fonts)
30+
31+
### Component Libraries
32+
33+
- **Radix UI**: Complete UI primitives library
34+
- **shadcn/ui components**: Built on Radix UI
35+
- **class-variance-authority**
36+
- **clsx**
37+
- **tailwind-merge**
38+
39+
### State Management
40+
41+
- **jotai-x**
42+
- **React Hook Form**
43+
- **@hookform/resolvers**
44+
45+
### Data Fetching
46+
47+
- **@tanstack/react-query**
48+
- **@convex-dev/react-query**
49+
50+
### UI Components
51+
52+
- **cmdk** (Command palette)
53+
- **date-fns** (Date utilities)
54+
- **embla-carousel-react**
55+
- **input-otp**
56+
- **lucide-react** (Icons)
57+
- **react-day-picker**
58+
- **react-resizable-panels**
59+
- **recharts** (Charts)
60+
- **sonner** (Toast notifications)
61+
- **vaul** (Drawer component)
62+
63+
### Utilities
64+
65+
- **next-themes** (Theme management)
66+
- **nuqs** (URL state management)
67+
- **ts-essentials**
68+
- **use-debounce**
69+
- **superjson**
70+
71+
## Backend
72+
73+
### Backend Framework
74+
75+
- **Convex**
76+
- **convex-ents** (Entity system with relationships)
77+
- **convex-helpers**
78+
79+
### Authentication
80+
81+
- **better-auth**
82+
- **@convex-dev/better-auth** (Convex adapter)
83+
84+
### Backend Components
85+
86+
- **@convex-dev/aggregate**
87+
- **@convex-dev/rate-limiter**
88+
- **@convex-dev/resend** (Email service)
89+
90+
### Email
91+
92+
- **@react-email/components**
93+
- **@react-email/render**
94+
95+
### Validation
96+
97+
- **zod**
98+
99+
## Database & Storage
100+
101+
- **Convex Database**: Built-in reactive database
102+
- **Schema**: Defined using convex-ents with users table
103+
104+
## Development Tools & Workflow
105+
106+
### Build Tools
107+
108+
- **Next.js Turbopack**: Development server
109+
- **TypeScript**: Compiler with custom tsconfig
110+
- **React Compiler**: Babel plugin for automatic optimizations
111+
112+
### Code Quality
113+
114+
- **Ultracite**: Zero-config Biome preset (formatting & linting)
115+
- **Biome**: Rust-based linter and formatter (replaces Prettier)
116+
- **ESLint**: JavaScript linting with React Hooks plugin
117+
- **TypeScript ESLint**: TypeScript-specific linting
118+
- **Lefthook**: Git hooks management
119+
120+
### Environment Configuration
121+
122+
- **@t3-oss/env-nextjs**
123+
124+
## Path Aliases
125+
126+
- `@/*` → `./src/*`
127+
- `@convex/*` → `./convex/*`
128+
129+
## Convex Configuration
130+
131+
- Better Auth integration
132+
- Rate limiting
133+
- User aggregation
134+
- Custom authentication with email verification
135+
- Session management (30-day expiry, 15-day update age)

.claude/rules/3-project-status.mdc

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
alwaysApply: true
3+
---
4+
5+
## Project Status: Pre-MVP
6+
7+
**Current Stage**: Pre-MVP (highest velocity to ship)
8+
9+
### DO Care About (Production-Ready Foundation)
10+
11+
- **Security**: Authentication, authorization, session management
12+
- **Data Validation**: Zod schemas for all inputs
13+
- **Error Handling**: User-friendly error messages and proper error states
14+
- **Type Safety**: Full TypeScript coverage and type-safe APIs
15+
- **Data Integrity**: Proper database constraints and relationships
16+
- **Code Patterns**: Follow existing patterns in the codebase
17+
- **Core Features**: Complete implementation including error states
18+
- **API Security**: Rate limiting, protected procedures, userId filters
19+
20+
### DO NOT Care About (Skip for Velocity)
21+
22+
- **Breaking Changes**: Not deployed yet, refactor freely
23+
- **Unit Testing**: Unless specifically requested
24+
- **Performance Optimization**: Unless blocking functionality
25+
- **Backward Compatibility**: No existing users
26+
- **Migration Scripts**: No production data yet
27+
- **Extensive Documentation**: Unless requested
28+
- **Edge Cases**: That don't block core functionality
29+
- **Premature Abstractions**: Build what's needed now

0 commit comments

Comments
 (0)