vibe-and-thrive 1.7.5 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -102,6 +102,27 @@ install_ralph() {
102
102
  if [[ ! -f "PROMPT.md" ]] && [[ -f "$PKG_ROOT/templates/PROMPT.md" ]]; then
103
103
  cp "$PKG_ROOT/templates/PROMPT.md" "PROMPT.md"
104
104
  fi
105
+
106
+ # Install CLAUDE.md if missing (project-specific AI instructions)
107
+ if [[ ! -f "CLAUDE.md" ]]; then
108
+ local claude_template=""
109
+ # Select template based on project type
110
+ if [[ -f "manage.py" ]]; then
111
+ claude_template="$PKG_ROOT/templates/examples/CLAUDE-django.md"
112
+ elif [[ -f "pyproject.toml" ]] && grep -q "fastapi" pyproject.toml 2>/dev/null; then
113
+ claude_template="$PKG_ROOT/templates/examples/CLAUDE-fastapi.md"
114
+ elif [[ -d "frontend" ]] && [[ -d "backend" || -d "api" ]]; then
115
+ claude_template="$PKG_ROOT/templates/examples/CLAUDE-fullstack.md"
116
+ elif [[ -f "package.json" ]] && grep -q '"react"' package.json 2>/dev/null; then
117
+ claude_template="$PKG_ROOT/templates/examples/CLAUDE-react.md"
118
+ elif [[ -f "package.json" ]]; then
119
+ claude_template="$PKG_ROOT/templates/examples/CLAUDE-node.md"
120
+ fi
121
+
122
+ if [[ -n "$claude_template" ]] && [[ -f "$claude_template" ]]; then
123
+ cp "$claude_template" "CLAUDE.md"
124
+ fi
125
+ fi
105
126
  }
106
127
 
107
128
  configure_mcp() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe-and-thrive",
3
- "version": "1.7.5",
3
+ "version": "1.8.0",
4
4
  "description": "Ship quality code faster with AI - RALPH autonomous loop, Claude Code hooks, and pre-commit checks",
5
5
  "author": "Allie Jones <allie@allthrive.ai>",
6
6
  "license": "MIT",
@@ -1,5 +1,14 @@
1
1
  # Project Instructions for AI Coding Agents
2
2
 
3
+ ## Naming Conventions
4
+ - **Files**: `snake_case.py` — e.g., `user_views.py`, `auth_serializers.py`
5
+ - **Functions/Variables**: `snake_case` — e.g., `get_user_by_id`, `is_authenticated`
6
+ - **Classes**: `PascalCase` — e.g., `UserViewSet`, `AuthSerializer`
7
+ - **Models**: `PascalCase` singular — e.g., `User`, `BlogPost` (Django pluralizes table names)
8
+ - **Constants**: `SCREAMING_SNAKE` — e.g., `MAX_UPLOAD_SIZE`, `DEFAULT_PAGE_SIZE`
9
+ - **URL patterns**: `kebab-case` — e.g., `/api/user-profile/`, `/api/blog-posts/`
10
+ - **Template files**: `snake_case.html` — e.g., `user_detail.html`
11
+
3
12
  ## Tech Stack
4
13
  - **Backend**: Django 5, Django REST Framework
5
14
  - **Database**: PostgreSQL
@@ -1,5 +1,14 @@
1
1
  # CLAUDE.md - FastAPI Project
2
2
 
3
+ ## Naming Conventions
4
+ - **Files**: `snake_case.py` — e.g., `user_service.py`, `auth_router.py`
5
+ - **Functions/Variables**: `snake_case` — e.g., `get_user_by_id`, `is_valid`
6
+ - **Classes**: `PascalCase` — e.g., `UserService`, `AuthRouter`
7
+ - **Pydantic Models**: `PascalCase` — e.g., `UserCreate`, `UserResponse`
8
+ - **Constants**: `SCREAMING_SNAKE` — e.g., `MAX_RETRIES`, `DEFAULT_LIMIT`
9
+ - **Database tables**: `snake_case` — e.g., `user_sessions`, `api_keys`
10
+ - **API endpoints**: `kebab-case` — e.g., `/api/user-profile`, `/api/v1/auth`
11
+
3
12
  ## Project Overview
4
13
 
5
14
  This is a FastAPI backend application with async SQLAlchemy and Pydantic.
@@ -1,5 +1,13 @@
1
1
  # CLAUDE.md - FastMCP Server
2
2
 
3
+ ## Naming Conventions
4
+ - **Files**: `snake_case.py` — e.g., `search_tool.py`, `db_resource.py`
5
+ - **Functions/Variables**: `snake_case` — e.g., `search_files`, `is_valid`
6
+ - **Classes**: `PascalCase` — e.g., `SearchResult`, `FileResource`
7
+ - **Tool names**: `snake_case` — e.g., `search_files`, `read_database`
8
+ - **Resource URIs**: `kebab-case` — e.g., `file://project-files`, `db://user-data`
9
+ - **Constants**: `SCREAMING_SNAKE` — e.g., `MAX_RESULTS`, `DEFAULT_TIMEOUT`
10
+
3
11
  ## Project Overview
4
12
 
5
13
  This is an MCP (Model Context Protocol) server built with FastMCP. It exposes tools, resources, and prompts to LLM clients.
@@ -1,5 +1,23 @@
1
1
  # Project Instructions for AI Coding Agents
2
2
 
3
+ ## Naming Conventions
4
+
5
+ ### Frontend (React/TypeScript)
6
+ - **Files**: `PascalCase.tsx` for components, `camelCase.ts` for utilities
7
+ - **Components**: `PascalCase` — e.g., `UserProfile`, `AuthProvider`
8
+ - **Hooks**: `useCamelCase` — e.g., `useAuth`, `useUserData`
9
+ - **Functions/Variables**: `camelCase` — e.g., `handleSubmit`, `isLoading`
10
+
11
+ ### Backend (Django/Python)
12
+ - **Files**: `snake_case.py` — e.g., `user_views.py`
13
+ - **Functions/Variables**: `snake_case` — e.g., `get_user_by_id`
14
+ - **Classes**: `PascalCase` — e.g., `UserViewSet`, `UserSerializer`
15
+
16
+ ### Shared
17
+ - **API endpoints**: `kebab-case` — e.g., `/api/user-profile/`
18
+ - **Database tables**: `snake_case` — e.g., `user_sessions`
19
+ - **Constants**: `SCREAMING_SNAKE` — e.g., `MAX_RETRIES`
20
+
3
21
  ## Tech Stack
4
22
  - **Frontend**: React 18, TypeScript, Vite, TailwindCSS
5
23
  - **Backend**: Django 5, Django REST Framework
@@ -1,5 +1,13 @@
1
1
  # Project Instructions for AI Coding Agents
2
2
 
3
+ ## Naming Conventions
4
+ - **Files**: `kebab-case.ts` — e.g., `user-service.ts`, `auth-middleware.ts`
5
+ - **Functions/Variables**: `camelCase` — e.g., `getUserById`, `isValid`
6
+ - **Classes/Interfaces/Types**: `PascalCase` — e.g., `UserService`, `CreateUserInput`
7
+ - **Constants**: `SCREAMING_SNAKE` — e.g., `MAX_RETRIES`, `DEFAULT_PORT`
8
+ - **Database tables**: `snake_case` — e.g., `user_sessions` (Prisma converts to camelCase)
9
+ - **API endpoints**: `kebab-case` — e.g., `/api/user-profile`, `/api/auth/sign-in`
10
+
3
11
  ## Tech Stack
4
12
  - **Runtime**: Node.js 20+
5
13
  - **Framework**: Express.js / Fastify
@@ -1,5 +1,14 @@
1
1
  # Project Instructions for AI Coding Agents
2
2
 
3
+ ## Naming Conventions
4
+ - **Files**: `PascalCase.tsx` for components, `camelCase.ts` for utilities — e.g., `UserProfile.tsx`, `useAuth.ts`
5
+ - **Components**: `PascalCase` — e.g., `UserProfile`, `AuthProvider`
6
+ - **Hooks**: `useCamelCase` — e.g., `useAuth`, `useUserData`
7
+ - **Functions/Variables**: `camelCase` — e.g., `handleSubmit`, `isLoading`
8
+ - **Types/Interfaces**: `PascalCase` — e.g., `UserProps`, `AuthState`
9
+ - **Constants**: `SCREAMING_SNAKE` — e.g., `API_BASE_URL`, `MAX_RETRIES`
10
+ - **CSS classes**: `kebab-case` (TailwindCSS utility classes are standard)
11
+
3
12
  ## Tech Stack
4
13
  - **Frontend**: React 18, TypeScript, Vite
5
14
  - **Styling**: TailwindCSS