Nano Banana Pro
Agent skill for nano-banana-pro
This document contains strict guidelines that must be followed during the development of BetCortex. These rules ensure code quality, maintainability, and clean project structure.
Sign in to like and favorite skills
This document contains strict guidelines that must be followed during the development of BetCortex. These rules ensure code quality, maintainability, and clean project structure.
STRICT RULE: All test files MUST be placed in designated
Test folders within their respective directories.
ā CORRECT Structure: frontend/ āāā src/ ā āāā components/ ā āāā BettingCard.tsx āāā Test/ āāā components/ āāā BettingCard.test.tsx backend/ āāā app/ ā āāā services/ ā āāā allocator.py āāā Test/ āāā services/ āāā test_allocator.py ā INCORRECT Structure: frontend/ āāā src/ ā āāā components/ ā āāā BettingCard.tsx ā āāā BettingCard.test.tsx # WRONG - test file mixed with source
STRICT RULE: NO unnecessary files. Every file must serve a clear, immediate purpose.
ā DO NOT CREATE: - Placeholder files "for future use" - Duplicate functionality files - Test files for trivial functions - Backup copies (use git for version control) - Commented-out code files - Example/sample files in production folders ā ONLY CREATE: - Files with immediate implementation - Files required for current functionality - Essential configuration files - Documentation that reflects actual implementation
STRICT RULE: Maintain a clean, organized project structure at all times.
Frontend (React/TypeScript): - Components: PascalCase (BettingCard.tsx) - Utilities: camelCase (calculateROI.ts) - Hooks: camelCase with 'use' prefix (useLadderStrategy.ts) - Types: PascalCase with .types.ts (Allocation.types.ts) Backend (Python): - Modules: snake_case (allocation_engine.py) - Classes: PascalCase in code - Tests: test_[module_name].py
BetCortex/ āāā frontend/ ā āāā src/ ā ā āāā app/ # Next.js app router pages ā ā āāā components/ # Reusable components ā ā āāā hooks/ # Custom React hooks ā ā āāā lib/ # Utilities and helpers ā ā āāā store/ # State management ā ā āāā styles/ # Global styles ā ā āāā types/ # TypeScript definitions ā āāā Test/ # All frontend tests ā āāā backend/ ā āāā app/ ā ā āāā api/ # API endpoints ā ā āāā core/ # Core configurations ā ā āāā models/ # Database models ā ā āāā schemas/ # Pydantic schemas ā ā āāā services/ # Business logic ā āāā Test/ # All backend tests ā āāā docker/ # Docker configurations āāā docs/ # Documentation āāā scripts/ # Utility scripts
STRICT RULE: Create and maintain
DOCUMENTATION.md file that reflects ONLY implemented features.
# BetCortex Documentation ## Last Updated: [Date] ## Version: [Current Version] ## ā Implemented Features ### Feature Name - Description of what has been implemented - API endpoints created - UI components built - Database tables added - Example usage ## š§ In Progress ### Feature Name - What is currently being worked on - Expected completion ## š Not Yet Implemented ### Feature Name - Planned but not started
Documentation Update Rules:
STRICT RULE: Push to GitHub after EVERY major update.
ā PUSH REQUIRED: - New feature implementation complete - API endpoint creation - Database schema changes - UI component completion - Bug fixes that affect functionality - Configuration changes - Dependency updates ā DON'T PUSH: - Work in progress (unless in feature branch) - Broken code - Files with sensitive data (API keys, passwords) - Large binary files - Node_modules or virtual environment folders
# Format: <type>: <subject> feat: Add ladder exit strategy calculator fix: Correct ROI calculation in allocator docs: Update API documentation for /allocate endpoint style: Format betting card component refactor: Optimize database queries for performance test: Add unit tests for allocation engine chore: Update dependencies
# Before starting work git pull origin main # After major update git add . git commit -m "feat: Add [specific feature description]" git push origin main # For feature branches git checkout -b feature/ladder-exit # ... work ... git add . git commit -m "feat: Implement ladder exit calculations" git push origin feature/ladder-exit # Create PR for review
Component Creation:
State Management:
API Calls:
API Endpoints:
Database Operations:
Service Layer:
Start of Session:
git pull origin main npm install / pip install -r requirements.txt docker-compose up -d
During Development:
End of Session:
# Run tests npm test / pytest # Check for issues npm run lint / black . && isort . # Commit and push git add . git commit -m "feat: [description]" git push origin main # Update documentation # Edit DOCUMENTATION.md with new implementations git add DOCUMENTATION.md git commit -m "docs: Update documentation with [feature]" git push origin main
Create
DOCUMENTATION.md in the root directory:
# BetCortex Documentation ## Last Updated: [Current Date] ## Version: 0.1.0 ## ā Implemented Features ### Authentication System - JWT-based authentication with refresh tokens - Endpoints: - POST /api/v1/auth/register - POST /api/v1/auth/login - POST /api/v1/auth/refresh - Database tables: app_user, user_session - Frontend: Login/Register components ### [Next Feature] - Details... ## š§ In Progress ### Odds Upload System - Expected completion: [Date] - Current status: LLM integration 60% complete ## š Not Yet Implemented ### Ladder Exit Strategy ### Payment Integration ### Performance Tracking
Before ANY commit, verify:
# Clean up before pushing find . -name "*.pyc" -delete find . -name "__pycache__" -delete find . -name ".DS_Store" -delete # Check for large files find . -type f -size +1M # Run all tests npm test && cd ../backend && pytest # Format code npm run format && black . && isort . # Build check npm run build && docker-compose build
Remember: These rules exist to maintain a professional, clean, and efficient codebase. Following them strictly will result in a maintainable and scalable application.
GitHub Repository: https://github.com/rshinytools/BetCortex
This document is mandatory reading before any development work. Non-compliance will require code refactoring.