mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-07 17:53:32 +08:00
Ports functionality from 10+ separate plugins into ECC so users only need one plugin installed. Consolidates: pr-review-toolkit, feature-dev, commit-commands, hookify, code-simplifier, security-guidance, frontend-design, explanatory-output-style, and personal skills. New agents (8): code-architect, code-explorer, code-simplifier, comment-analyzer, conversation-analyzer, pr-test-analyzer, silent-failure-hunter, type-design-analyzer New commands (9): commit, commit-push-pr, clean-gone, review-pr, feature-dev, hookify, hookify-list, hookify-configure, hookify-help New skills (8): frontend-design, hookify-rules, github-ops, knowledge-ops, lead-intelligence, oura-health, pmx-guidelines, remotion Enhanced skills (8): article-writing, content-engine, market-research, investor-materials, investor-outreach, x-api, security-scan, autonomous-loops — merged with personal skill content New hook: security-reminder.py (pattern-based OWASP vulnerability warnings on file edits) Totals: 36 agents, 69 commands, 128 skills, 29 hook scripts
6.3 KiB
6.3 KiB
name, description, origin
| name | description | origin |
|---|---|---|
| pmx-guidelines | PMX prediction markets platform development guidelines, architecture patterns, and project-specific best practices. Use when working on PMX or similar Next.js + Supabase + Solana prediction market codebases. Covers semantic search, real-money safety, deployment workflow, and design system rules. | ECC |
PMX Prediction Markets - Development Guidelines
Project-specific development guidelines, architectural patterns, and critical rules for prediction market platforms handling real money.
When to Activate
- Working on a prediction markets platform
- Building a Next.js + Supabase + Solana application that handles real money
- Implementing semantic search with Redis + OpenAI embeddings
- Following strict deployment workflows (no direct push to production)
- User references PMX or a similar prediction market codebase
Core Principles
1. Real Money Safety
This platform handles real money for real users.
- ONE person does all code review and production deployments
- Bugs mean financial losses. Test everything.
- NEVER push until EVERYTHING is bulletproof
2. Many Small Files > Few Large Files
- High cohesion, low coupling
- Files: 200-400 lines typical, 800 max
- Extract utilities from large components
- Organize by feature/domain, not by code type
3. No Emojis in Codebase
- Never in documentation, code comments, console output, or error messages
- Use clear text: "SUCCESS:" not checkmarks, "ERROR:" not X marks
4. Single README.md for All Documentation
- All documentation in ONE file:
README.md - Use collapsible sections for organization
- No separate .md files (except CLAUDE.md)
5. Immutability in JavaScript/TypeScript
Always create new objects, never mutate:
// WRONG: Mutating original object
async function fetchWithRetry(url, options) {
options.headers['Authorization'] = newToken // MUTATION
response = await fetch(url, options)
}
// CORRECT: Create new object
async function fetchWithRetry(url, options) {
const retryOptions = {
...options,
headers: {
...options.headers,
Authorization: `Bearer ${newToken}`
}
}
response = await fetch(url, retryOptions)
}
Tech Stack
- Frontend: Next.js 15, React 19, TypeScript
- Database: Supabase PostgreSQL
- Blockchain: Solana Web3.js
- Authentication: Privy (@privy-io/react-auth)
- UI: Tailwind CSS + Three.js
- Search: Redis Stack + OpenAI embeddings (semantic search)
- Trading: Meteora CP-AMM SDK
- Charts: Lightweight Charts + Recharts
Semantic Search System
Architecture (Mandatory Pattern)
User Query -> Debounce (500ms) -> Generate Embedding (OpenAI) ->
Vector Search (Redis KNN) -> Fetch Data (Supabase) ->
Sort by Similarity -> Results Displayed
Performance
- ~300ms average (200ms OpenAI + 10ms Redis + 50ms Supabase)
- Cost: ~$0.0001 per search
- Scales to 100K+ markets
- Automatic fallback to substring search if Redis unavailable
Critical Implementation Rule
Always use the useSemanticSearch hook:
const {
searchQuery,
searchResults,
isSearching,
handleSearchChange, // Use this, NOT setSearchQuery
clearSearch
} = useSemanticSearch(500)
// ALWAYS check semantic search is enabled
if (isSemanticEnabled && searchResults) {
// Use semantic results
} else {
// Use substring fallback
}
Git Workflow (Critical)
- Test locally FIRST
- Commit locally only:
git commit - DO NOT push upstream
- Wait for review
- Small commits: one logical change per commit
- Never commit:
.env.local,node_modules/, build artifacts
Branch Strategy
main(upstream) - PRODUCTION - DO NOT PUSH DIRECTLYmain(fork) - Your fork - Push here for testing- Feature branches:
fix/issue-32,feat/add-feature
Pre-Deployment Requirements (Mandatory)
-
Comprehensive Local Testing
- Every feature tested manually
- Every API endpoint tested with curl
- Every edge case considered
- Mobile AND desktop tested
- No console errors anywhere
-
Comprehensive Automated Testing
- Unit tests for utilities
- Integration tests for APIs
- E2E tests for critical flows
- Database migration tests
- Race condition tests
-
Security Review
- No secrets exposed
- All inputs validated
- Authentication/authorization verified
- Rate limiting tested
-
Only After All Above
- Commit locally with detailed message
- DO NOT push to production
- Wait for project owner review
CSS and Styling Rules
- Unify styles: Extend existing patterns, never create parallel systems
- Tailwind first: Prefer Tailwind utilities over custom CSS
- One CSS file only:
globals.css - Delete unused styles immediately
Design System
- Background:
#0a1929,#1a2a3a,#2a3a4a - Primary:
#00bcd4(cyan) - Text:
#ffffff(white),#94a3b8(gray) - Spacing: Tailwind spacing scale (4px base)
- Typography: Inter font family
- Shadows: Subtle glows for glass-morphism
Next.js Best Practices
- Use Next.js built-ins first:
router.back(),useSearchParams(), Server Components - Client components:
'use client'for interactivity - Server components: Static content, data fetching, SEO
- Proper loading states on all data-fetching components
- Dynamic imports for code splitting
API Design
Conventions
- Next.js API Routes pattern (route.js files)
- Authentication via Privy (JWT tokens)
- Supabase client for database operations
- Comprehensive error handling with NextResponse
- Rate limiting on search endpoints
- Caching headers for static data
Supabase Pattern (Mandatory)
const { data, error } = await supabase
.from('markets')
.select('*')
.eq('published', true)
if (error) {
console.error('Supabase error:', error)
return NextResponse.json({ success: false, error: error.message }, { status: 500 })
}
return NextResponse.json({ success: true, data })
Security
- All API keys server-side only
- Input validation on all API routes
- Sanitize user inputs before queries
- Use Supabase RLS (Row Level Security)
- Rate limiting on expensive operations
- HTTPS everywhere in production
- Never hardcode secrets (Supabase URLs, OpenAI keys, Redis connection strings)
Remember: This handles real money. Reliability and correctness are paramount. Test everything. Never push directly to production.