Download the PHP package rafaelogic/codesnoutr without Composer
On this page you can find all versions of the php package rafaelogic/codesnoutr. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rafaelogic/codesnoutr
More information about rafaelogic/codesnoutr
Files in rafaelogic/codesnoutr
Package codesnoutr
Short Description A comprehensive Laravel code scanner that detects security vulnerabilities, performance issues, and code quality problems with AI-powered fixes
License MIT
Informations about the package codesnoutr
CodeSnoutr - Laravel Code Scanner Package
A comprehensive Laravel code scanner that detects security vulnerabilities, performance issues, and code quality problems with a modern web interface and AI-powered auto-fix capabilities.
⚠️ Important: This package is designed for local development environments only. It is not recommended for production use.
📚 Table of Contents
- ✨ Features
- 📋 Requirements
- 🚀 Installation
- ⚡ Quick Start
- ⚙️ Configuration
- 🔍 Scanning Categories
- 🤖 AI Integration
- 📈 Current Status
- �️ Roadmap
- �📁 Package Structure
- 🤝 Contributing
- 🔒 Security
- 📄 License
✨ Features
🔍 Comprehensive Scanning
- ✅ Security vulnerability detection (SQL injection, XSS, hardcoded credentials)
- ✅ Performance optimization suggestions (N+1 queries, missing indexes, cache opportunities)
- ✅ Code quality analysis (complexity, naming conventions, documentation)
- ✅ Laravel best practices enforcement (Eloquent, routes, validation)
- ✅ Blade template analysis (XSS protection, CSRF, accessibility, SEO)
- ✅ Context-aware exception handling for inheritance and constants
🎨 Modern Web Interface
- ✅ Complete dark/light mode support with user preferences
- ✅ Livewire-powered interactive dashboard with expandable details
- ✅ Tailwind CSS styling with responsive design and modern hover effects
- ✅ Real-time filtering, sorting, and bulk operations
- ✅ Enhanced file grouping with collapsible sections and smooth animations
🚀 Flexible Scanning Options
- ✅ Single file scanning with detailed analysis
- ✅ Directory scanning with exclusion patterns
- ✅ Full codebase scanning with progress tracking
- ✅ Category-based filtering (security, performance, quality, laravel)
- ✅ Intelligent queue management with auto-start functionality
- ✅ Real-time queue status monitoring and automatic worker detection
- ✅ Queue worker protection - Prevents job dispatch when worker not running, saves AI tokens
🔧 Developer Integration
- ✅ Comprehensive Artisan commands with flexible options
- ✅ Export capabilities (JSON, CSV, database storage)
- ✅ Detailed reports with code context and suggestions
- ✅ Configuration-driven behavior with extensive options
- ✅ Automatic queue detection and management for background processing
🤖 AI Smart Assistant
- ✅ Complete AI-powered chat interface for code scanning assistance
- ✅ OpenAI integration with conversation management
- ✅ Context-aware suggestions, tips, and best practices
- ✅ Real-time markdown rendering with code syntax highlighting
- ✅ Dark/light mode optimized interface with smooth scrolling
🤖 AI-Ready Architecture
- ✅ Professional chat interface with loading indicators
- ✅ Robust response processing for complex AI output
- ✅ UTF-8 character support and encoding handling
- 🚧 Context-aware suggestion framework (expandable)
- 🚧 Safe code generation with preview system (coming soon)
- 🚧 Cost tracking and safety limits (planned)
📋 Requirements
System Requirements
-
PHP: 8.1 or higher with required extensions:
mbstring- Multi-byte string handlingcurl- API requests and HTTP communicationxml- XML parsing for configurationzip- Archive handlingbcmath- Arbitrary precision mathematicstokenizer- PHP code tokenization for scanningjson- JSON encoding/decodingpdo- Database connectivityfileinfo- File type detection
-
Laravel: 10.0, 11.0, or 12.0
- Livewire 2.x or 3.x (automatically installed)
- Alpine.js (included with Livewire)
-
Database (for local development):
- MySQL 5.7+ / MariaDB 10.3+
- PostgreSQL 10+
- SQLite 3.8+
- Minimum 50MB free space for scan results
- Local Environment:
- Minimum 512MB RAM (1GB+ recommended)
- PHP
max_execution_time≥ 300 seconds (for large scans) - Two terminal windows (one for app, one for queue worker)
- PHP
memory_limit≥ 256MB (512MB+ recommended) - Disk space: 100MB+ for package and scan data
Queue & Cache Requirements (For AI Auto-Fix)
CRITICAL: The AI Auto-Fix and Fix All features require proper queue and cache configuration:
Cache Driver (Required)
- ✅ Supported:
file,redis,database - ❌ NOT Supported:
array(doesn't persist across processes) - Why: Queue workers and web interface must share progress data
Queue Driver (Required)
- ✅ Supported:
database,redis,beanstalkd,sqs - ❌ NOT Supported:
sync(blocks the interface) - Why: AI fixes run in background to prevent timeouts
Queue Worker (Required)
- Must have at least one worker running:
php artisan queue:work - Supervisor recommended for production
- CodeSnoutr includes automatic worker detection
AI Auto-Fix Requirements (Optional)
To use AI-powered automatic fixing:
-
OpenAI Account: platform.openai.com
- Valid API key with access to GPT-4 or GPT-3.5
- Minimum $5 credit balance recommended
- Rate limits: See OpenAI tier documentation
-
Internet Connection: Stable connection for API requests
-
Recommended Models:
gpt-4- Best quality, higher cost (~$0.03/issue)gpt-4-turbo- Faster, more cost-effective (~$0.01/issue)gpt-3.5-turbo- Budget option (~$0.002/issue)
- Cost Estimation:
- Small project (50 issues): $0.10 - $1.50
- Medium project (200 issues): $0.40 - $6.00
- Large project (1000 issues): $2.00 - $30.00
Frontend Requirements
-
Modern Browser:
- Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
- JavaScript enabled
- LocalStorage enabled (for theme preferences)
- Screen Resolution: 1024x768 minimum (responsive design)
🚀 Installation
Prerequisites
Before installing CodeSnoutr, ensure your system meets these requirements:
- PHP: 8.1 or higher with the following extensions:
mbstring,curl,xml,zip,bcmath,tokenizer
- Laravel: 10.0, 11.0, or 12.0
- Database: MySQL 5.7+, PostgreSQL 10+, or SQLite 3.8+
- Composer: Latest version recommended
- Frontend: Modern browser with JavaScript enabled
Step 1: Install via Composer
Install the package using Composer:
Step 2: Run Installation Command
Execute the installation command to set up CodeSnoutr:
This interactive installation will:
- Publish Configuration: Creates
config/codesnoutr.phpwith default settings - Run Migrations: Sets up database tables for scans, issues, and settings
- Publish Assets: Copies CSS and JavaScript files to
public/vendor/codesnoutr/ - Create Directories: Sets up necessary storage directories
- Configure Routes: Registers web and API routes
- Set Permissions: Ensures proper file permissions
Step 3: Configure Environment (Optional)
Add CodeSnoutr-specific environment variables to your .env file:
⚠️ Important Cache Configuration
The Fix All Issues feature requires a persistent cache driver to track progress between the queue worker and web interface. The
arraycache driver will NOT work because it's per-process memory and doesn't share data between processes.Supported Cache Drivers:
- ✅
file- Works out of the box, good for development- ✅
redis- Best performance, recommended for production- ✅
database- Requiresphp artisan cache:table && php artisan migrate- ❌
array- Does NOT work (no cross-process sharing)Why This Matters:
- Queue workers run in separate processes from your web server
- Progress updates must be shared between these processes
- Without proper cache driver, progress bars won't update
- AI fixes may waste tokens if jobs run unexpectedly
Step 4: Configure Queue & Cache (Required for Fix All Features)
⚠️ Important: CodeSnoutr is designed for local development environments only. Do not use in production.
🎯 Quick Setup for Local Development
For the Fix All Issues feature to work properly, you MUST configure both queue and cache drivers:
📋 Cache Driver Requirements
The Fix All progress tracking requires a cache driver that persists across processes:
| Driver | Status | Setup | Use Case |
|---|---|---|---|
| file | ✅ Recommended | Works out of box | Local development |
| database | ✅ Supported | Run php artisan cache:table |
Alternative option |
| array | ❌ Won't Work | N/A | Queue workers can't share data |
Why This Matters:
🔧 Queue Worker for Development
Open a new terminal window and run:
Tips:
- Keep the queue worker running in a separate terminal
- Use
--verboseflag to see jobs being processed - Press
Ctrl+Cto stop the worker when done - Restart worker after code changes to pick up new code
🛡️ Queue Worker Protection
CodeSnoutr includes automatic queue worker detection to prevent wasting AI tokens:
- ✅ Before Fix All: Checks if queue worker is running
- ❌ Blocks Dispatch: If no worker detected, shows error with instructions
- 💰 Saves Tokens: Prevents jobs from accumulating and running unexpectedly
- 🔔 User Notification: Clear error message with recommendations
What You'll See:
📊 Monitoring Progress
The Fix All feature includes comprehensive logging:
Browser Console (F12):
Laravel Logs:
Troubleshooting:
Step 5: Access the Dashboard
Navigate to the CodeSnoutr dashboard:
You should see:
- ✅ Dashboard with welcome message
- ✅ Navigation menu with all sections
- ✅ Dark/light mode toggle
- ✅ Ready-to-use scanning interface
Troubleshooting Installation
Permission Issues
Database Issues
Asset Publishing Issues
Queue Worker Issues
Important: CodeSnoutr now includes queue worker protection to prevent wasting AI tokens. If you try to run Fix All without a queue worker running, you'll see an error message and the job will not be dispatched.
Why This Matters:
- Prevents jobs from being queued when they can't execute
- Saves AI API tokens by not dispatching unprocessable jobs
- Provides immediate feedback when queue worker is missing
- Clear instructions on how to start the worker
See QUEUE_WORKER_PROTECTION.md for detailed documentation.
Manual Installation (Advanced)
If you prefer manual installation or need custom configuration:
1. Publish Components Individually
2. Run Migrations Manually
3. Configure Custom Routes (Optional)
If you want to customize routes, add to your routes/web.php:
Updating CodeSnoutr
When updating to a new version:
Uninstallation
To completely remove CodeSnoutr:
Docker Installation
For Docker environments, add to your Dockerfile:
Production Deployment
For production environments:
-
Optimize Performance:
-
Set Up Monitoring:
-
Configure Logging:
- Set Up Scheduled Tasks (Optional):
⚡ Quick Start
🚀 First Scan in 30 Seconds
After installation, get your first scan results immediately:
🌐 Web Interface Walkthrough
-
Open the Dashboard: Visit
http://your-app.com/codesnoutr -
Start Your First Scan:
- Click "New Scan" or "Scan Wizard"
- Choose scan type: File, Directory, or Full Codebase
- Select categories: Security, Performance, Quality, Laravel
- Click "Start Scan"
-
View Results:
- Real-time progress updates during scanning
- Automatic redirect to results when complete
- Filter by severity: Critical, High, Medium, Low, Info
- Expand issue groups for detailed analysis
- Explore Features:
- Dark Mode: Toggle in the top navigation
- AI Assistant: Click the floating AI button (with OpenAI configured)
- Export: Download results as JSON or CSV
- Settings: Configure scanning preferences
🛠️ Common Use Cases
Security Audit
Performance Review
Code Quality Check
Pre-deployment Scan
Web Dashboard
Access your CodeSnoutr dashboard:
The web interface provides:
- Dashboard: Overview with statistics and recent scans
- Scanner: Interactive scanning with real-time progress and automatic queue management
- Results: Advanced filtering, sorting, and issue management with expandable details
- AI Assistant: Smart chat interface for code scanning help and best practices
- Settings: Configuration management and AI setup
🔄 Enhanced User Experience
CodeSnoutr provides a seamless scanning experience with modern UI/UX features:
- Smart File Grouping: Issues are intelligently grouped by file with collapsible sections
- Expandable Details: Click to expand issue details in the detailed table view
- Modern Hover Effects: Elegant glow border effects provide visual feedback
- Automatic Redirects: Smooth workflow transitions after resolving issues
- Real-Time Updates: Live status updates without page refreshes
- Responsive Design: Works perfectly on desktop, tablet, and mobile devices
🔄 Automatic Queue Management
CodeSnoutr intelligently manages Laravel queues for optimal performance:
- Auto-Detection: Automatically checks if queue workers are running before starting scans
- Smart Start: Launches queue workers automatically if none are detected
- Real-Time Status: Shows queue status during scan preparation
- Background Processing: All scans run in background jobs for better performance
- Progress Tracking: Real-time updates without blocking the UI
No Configuration Required: Queue management works out-of-the-box with sensible defaults. Customize behavior in config/codesnoutr.php if needed.
🤖 AI Smart Assistant
The AI Assistant provides intelligent help throughout your code scanning experience:
- Context-Aware Conversations: Ask questions about code scanning, security, performance, and Laravel best practices
- Real-Time Markdown Rendering: Beautiful formatting for code examples, bullet points, and structured responses
- Smart Suggestions: Get personalized tips based on your current scanning context
- Code Examples: Interactive code snippets with syntax highlighting
- Best Practices: Expert advice on PHP/Laravel development standards
Access the AI Assistant: Look for the floating AI button in the bottom-right corner of the interface, or navigate to any CodeSnoutr page where it's available as a slide-out panel.
Configuration: Set up your OpenAI API key in Settings → AI Integration to unlock the full potential of AI-powered assistance.
Artisan Commands
Scan entire codebase:
Scan specific file:
Scan directory:
Filter by categories:
Export results:
⚙️ Configuration
The configuration file is published to config/codesnoutr.php with comprehensive options:
🔍 Scanning Categories
Security 🔒
Implemented Detection Rules:
- ✅ SQL injection vulnerabilities (raw queries, unsafe concatenation)
- ✅ XSS risks (unescaped output, dangerous HTML tags)
- ✅ Hardcoded credentials (passwords, API keys, secrets)
- ✅ Insecure file operations (unsafe uploads, directory traversal)
- ✅ Weak cryptography (MD5, SHA1 usage)
- ✅ Unsafe deserialization and eval() usage
Performance ⚡
Implemented Analysis Rules:
- ✅ N+1 query detection and eager loading suggestions
- ✅ Missing database indexes identification
- ✅ Cache opportunity detection for expensive operations
- ✅ Memory usage optimization (chunking large datasets)
- ✅ Loop efficiency improvements (count() in conditions)
- ✅ File operation optimization suggestions
Code Quality 📝
Implemented Quality Checks:
- ✅ Code complexity analysis (deep nesting, long methods)
- ✅ Naming convention enforcement (variables, classes, methods)
- ✅ Documentation requirements (PHPDoc for public methods)
- ✅ Code standards (line length, trailing whitespace)
- ✅ Best practices (magic numbers, empty catch blocks)
- ✅ Dead code and unused variable detection
- ✅ Context-aware variable validation with snake_case exception handling
- ✅ Intelligent inheritance and interface analysis
Laravel Best Practices 🎯
Implemented Laravel Rules:
- ✅ Eloquent optimization (select(*) usage, raw SQL in models)
- ✅ Route efficiency (missing names, model binding opportunities)
- ✅ Blade template quality (PHP blocks, deep nesting)
- ✅ Validation completeness and rule strength
- ✅ Service container best practices
- ✅ Migration quality and safety checks
- ✅ Enhanced console command and artisan command analysis
Blade Template Analysis 🎨
Comprehensive Blade Template Scanning:
- ✅ XSS vulnerability detection (unescaped output, dangerous functions)
- ✅ CSRF protection validation for forms
- ✅ Performance optimization (N+1 queries, inline styles, complex loops)
- ✅ Template complexity analysis (nesting depth, logic separation)
- ✅ Accessibility compliance (alt text, form labels, ARIA attributes)
- ✅ SEO optimization (meta tags, structured content)
- ✅ Code quality (deprecated syntax, hardcoded values, unused variables)
- ✅ Best practices enforcement (component usage, section structure)
🤖 AI Integration (Ready for Implementation)
Current Status
The package includes complete infrastructure for AI integration:
- ✅ Configuration Framework: OpenAI API setup and cost tracking
- ✅ UI Components: Settings interface for AI configuration
- ✅ Safety Systems: Preview and approval mechanisms
- ✅ Context Engine: Code analysis and suggestion generation framework
Setup OpenAI (When Ready)
- Get an API key from OpenAI
-
Configure in your
.env: - Or configure via the web interface at
/codesnoutr/settings
Planned AI Features
- Smart Auto-fixes: Context-aware code improvements
- Explanation Generation: Detailed explanations of issues
- Best Practice Suggestions: Laravel-specific recommendations
- Safety Checks: Preview changes before applying
- Cost Management: Usage tracking and monthly limits
🤖 AI Auto-Fix Setup Guide
⚠️ Local Development Only: This package is designed for local development environments.
Prerequisites Checklist
Before using AI Auto-Fix, ensure you have:
- ✅ Queue Worker Running (in a separate terminal)
- ✅ Persistent Cache (file or database driver, NOT array)
- ✅ OpenAI API Key (from platform.openai.com)
- ✅ Code Backup (always backup before running auto-fix)
Quick Setup
1. Start Queue Worker
Open a new terminal and run:
2. Configure Cache Driver
In your .env:
Or use database cache:
3. Set Up OpenAI API Key
Get your API key from platform.openai.com/api-keys
Option 1: Configure in .env:
Option 2: Use Web Interface:
- Navigate to
/codesnoutr/settings - Go to "AI Integration" tab
- Enter your API key and save
4. Verify Everything Works
Using AI Auto-Fix
Single Issue Fix
- Navigate to scan results
- Click on an issue to expand details
- Click "AI Auto-Fix" button
- Review the proposed fix in the preview
- Click "Apply Fix" to implement
Fix All Issues
- Navigate to scan results
- Click "Fix All with AI" button
- Confirm you want to proceed
-
Monitor progress in real-time:
- Progress bar shows completion
- Live updates every second
- Success/failure count
- Estimated time remaining
- Review summary when complete:
- Fixed issues count
- Failed issues count
- Total cost (AI tokens used)
- Link to detailed results
Troubleshooting AI Auto-Fix
Common Issues
"Queue Worker Not Running" Error:
Progress Bar Not Updating:
- Make sure
CACHE_DRIVER=file(notarray) - Test cache:
Cache::put('test', 1); Cache::get('test'); - Check browser console (F12) for errors
OpenAI Errors:
- Rate Limit: Wait and retry, or reduce concurrent fixes
- Invalid Key: Check
.envhas correct key starting withsk- - No Credits: Add funds at platform.openai.com/account/billing
Cost Management:
Best Practices
- ✅ Test Small First: Try a few issues before Fix All
- ✅ Review Fixes: Always review AI changes before committing
- ✅ Use Git: Commit your code before running auto-fix
- ✅ Monitor Costs: Track OpenAI usage and set budget alerts
- ✅ Backup Code: Always have backups before automated fixes
- ⚠️ Code Privacy: AI sends your code to OpenAI servers
- 🔒 Protect Keys: Never commit API keys to version control
📈 Current Status
✅ Production Ready (v1.0.0)
Core Package - 100% Complete
- [x] Complete package structure with service provider
- [x] Database migrations and Eloquent models
- [x] Core ScanManager with full scanning capabilities
- [x] All four rule engines fully implemented
- [x] Comprehensive Artisan commands
- [x] Professional configuration system
Web Interface - 100% Complete
- [x] Modern Livewire components (Dashboard, Scanner, Results, Settings)
- [x] Complete dark/light mode system with user preferences
- [x] Responsive design with Tailwind CSS and modern hover effects
- [x] Interactive features with Alpine.js and smooth animations
- [x] Advanced filtering, sorting, and bulk operations
- [x] Enhanced file grouping with expandable issue details
- [x] Export functionality (JSON, CSV)
- [x] Real-time queue status monitoring and management
- [x] Automatic redirects and workflow optimization
Developer Experience - 100% Complete
- [x] Comprehensive documentation and setup guides
- [x] Professional code quality with testing framework
- [x] Flexible CLI interface with multiple output formats
- [x] Extensive configuration options
- [x] Professional error handling and validation
- [x] Context-aware static analysis with inheritance support
- [x] Enhanced queue management with auto-detection
� Ready for Implementation
AI Integration - Infrastructure Complete
- [x] OpenAI configuration framework
- [x] Cost tracking and safety systems
- [x] UI components for AI settings
- [ ] OpenAI API client implementation
- [ ] Auto-fix generation algorithms
Advanced Features - Framework Ready
- [x] Export system foundation
- [x] Analytics data structure
- [ ] Debugbar integration (custom collector)
- [ ] PDF report generation
- [ ] Scheduled scanning capabilities
📊 Package Statistics
- Total Files: 50+ source files
- Lines of Code: 8,000+ lines of professional PHP
- Test Coverage: Unit test framework established
- Documentation: Complete with examples and guides
- Code Quality: PSR-4, PHPStan, Laravel Pint configured
- UI Components: Modern Livewire components with enhanced UX
- Recent Updates: Enhanced queue management, expandable details, modern hover effects
�️ Roadmap
OpenAI API Client Implementation
For detailed information about our AI integration plans, see the OpenAI Client Roadmap.
Quick Overview:
📅 v1.1.0 (Q4 2025) - Stability Release
- Enhanced error handling with retry logic
- Improved JSON parsing for AI responses
- Better validation and testing
- Configuration wizard
📅 v1.2.0 (Q1 2026) - Performance Release
- Intelligent caching (30-50% cost savings)
- Prompt optimization (20-30% token reduction)
- Smart model selection
- Cost reduction features
📅 v1.3.0 (Q2 2026) - Advanced Features
- OpenAI Function calling integration
- Streaming responses for real-time feedback
- Enhanced progress tracking
- Vision API for diagram analysis
📅 v2.0.0 (Q3 2026) - Intelligence Release
- Feedback loop system
- Pattern recognition and learning
- Custom rule suggestions
- Fine-tuning support
📅 v2.1.0 (Q4 2026) - Expansion Release
- Multi-file refactoring
- Automated test generation
- Security vulnerability patching
- PR/commit automation
📅 v3.0.0 (2027) - Multi-Provider Release
- Support for Claude, Gemini, and local models
- Provider abstraction layer
- Hybrid optimization
- Enterprise features
Current Focus:
- ✅ Core AI features implemented (v1.0.0)
- 🚧 Stability improvements in progress
- 📋 Performance optimization planned
See OPENAI_CLIENT_ROADMAP.md for complete details including:
- Detailed feature breakdown per phase
- Success metrics and KPIs
- Technical debt tracking
- Contribution opportunities
�📁 Package Structure
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
Development Setup
-
Clone the repository
-
Install dependencies
-
Set up a test Laravel application
-
Link the package for development
- Run tests and quality checks
Development Tools
The package includes professional development tools:
- Laravel Pint: Code formatting and style enforcement
- PHPStan: Static analysis for type safety and bugs
- PHPUnit: Unit and feature testing framework
- GitHub Actions: Automated CI/CD pipeline
🔒 Security
If you discover any security-related issues, please email [email protected] instead of using the issue tracker. All security vulnerabilities will be promptly addressed.
Security Features
The package itself includes:
- Input Validation: Comprehensive path and parameter validation
- Output Sanitization: Safe rendering of code snippets and user data
- Access Control: Configurable access restrictions
- Data Protection: Secure storage of scan results and configurations
📄 License
The MIT License (MIT). Please see License File for more information.
👥 Credits
- Rafa Rafael - Creator and maintainer
- All Contributors - Community contributions
📝 Changelog
Please see CHANGELOG for more information on what has changed recently.
🚀 Roadmap
Phase 2: AI Integration (Q4 2025)
- OpenAI API Client: Complete implementation with rate limiting
- Auto-Fix Generation: Context-aware code improvements
- Safety Systems: Preview and approval mechanisms
- Cost Management: Usage tracking and budget controls
Phase 3: Advanced Features (Q1 2026)
- Debugbar Integration: Custom collector with quick access
- PDF Reports: Professional report generation
- Scheduled Scanning: Automated periodic scans
- Advanced Analytics: Trend analysis and historical comparisons
Phase 4: Enterprise Features (Q2 2026)
- Team Collaboration: Multi-user support and shared configurations
- Public API: RESTful API for third-party integrations
- Custom Rule Builder: Visual interface for creating custom rules
- Advanced Integrations: CI/CD pipeline integration tools
🤝 Contributing
We welcome contributions! CodeSnoutr is open source and available on GitHub.
📍 Repository
- GitHub: https://github.com/rafaelogic/codesnoutr
- Issues: Report bugs or request features
- Discussions: Join the community
🛠️ Development Setup
-
Clone the repository:
-
Install dependencies:
-
Run the test suite:
-
Format code:
- Run static analysis:
📝 Contributing Guidelines
- Fork the repository and create your branch from
main - Write tests for any new functionality
- Follow PSR-12 coding standards
- Update documentation for any API changes
- Create a pull request with a clear description
🐛 Bug Reports
When reporting bugs, please include:
- Laravel version
- PHP version
- CodeSnoutr version
- Steps to reproduce
- Expected vs actual behavior
💡 Feature Requests
We're always interested in new ideas! Please check existing issues first, then create a new issue with:
- Use case description
- Proposed implementation approach
- Any relevant examples or mockups
📄 License
CodeSnoutr is open-sourced software licensed under the MIT license.
🏆 Why Choose CodeSnoutr?
✅ Production Ready
- Complete implementation with professional code quality
- Comprehensive testing and validation
- Extensive documentation and examples
- Ready for enterprise deployment
⚡ Performance Optimized
- Efficient scanning algorithms with chunking for large codebases
- Indexed database queries for fast result retrieval
- Memory-optimized processing with configurable limits
- Lazy loading and pagination for responsive UI
🎨 Modern Experience
- Beautiful, responsive interface that works on all devices
- Intuitive workflow from scanning to issue resolution
- Dark/light mode with user preference persistence
- Real-time updates and interactive components
🔧 Developer Friendly
- Flexible CLI interface with multiple output formats
- Comprehensive configuration options
- Extensible architecture for custom rules
- Professional documentation and examples
Built with ❤️ for the Laravel community
CodeSnoutr v1.0.0 - Production ready as of August 2025
❓ Frequently Asked Questions
General Questions
Q: Is CodeSnoutr ready for production use? A: Yes! CodeSnoutr v1.0.0 is production-ready with comprehensive testing, professional code quality, and full Laravel compatibility.
Q: What Laravel versions are supported? A: CodeSnoutr supports Laravel 10.0, 11.0, and 12.0 with PHP 8.1+.
Q: Does CodeSnoutr slow down my application? A: No. CodeSnoutr runs scans in background queues and doesn't affect your application's performance. The web interface is lightweight and optimized.
Installation & Setup
Q: Do I need to set up queues? A: While optional, queues are highly recommended for better performance. CodeSnoutr can auto-manage queue workers or you can set up dedicated workers.
Q: Can I customize which files are scanned?
A: Yes! Configure scan paths, exclusions, and file types in config/codesnoutr.php or through the web interface.
Q: How do I update CodeSnoutr?
A: Run composer update rafaelogic/codesnoutr and republish assets with php artisan vendor:publish --tag=codesnoutr-assets --force.
Features & Functionality
Q: What types of issues can CodeSnoutr detect? A: CodeSnoutr detects 50+ types of issues including security vulnerabilities, performance problems, code quality issues, and Laravel best practice violations.
Q: Can I export scan results? A: Yes! Export results as JSON, CSV, or store them in your database. Use the web interface or CLI commands.
Q: Is AI integration required? A: No. AI features are optional and require an OpenAI API key. All core functionality works without AI integration.
Technical Questions
Q: Can I create custom scanning rules?
A: Yes! Extend the AbstractRuleEngine class to create custom rules. See the source code examples in src/Scanners/Rules/.
Q: Does CodeSnoutr work with Docker? A: Yes! CodeSnoutr is fully compatible with Docker. See the installation guide for Docker-specific instructions.
Q: Can I integrate CodeSnoutr with CI/CD? A: Absolutely! Use the CLI commands in your CI/CD pipeline to automatically scan code and fail builds on critical issues.
Troubleshooting
Q: Scans are not starting or taking too long A: Check your queue configuration. Ensure queue workers are running or enable auto-start in the configuration.
Q: Getting permission errors A: Make sure your web server has read permissions on your codebase and write permissions on storage directories.
Q: Web interface not loading properly
A: Clear Laravel caches (php artisan cache:clear) and ensure assets are published (php artisan vendor:publish --tag=codesnoutr-assets --force).
Q: UI appears broken with no CSS styling A: This means the assets weren't published correctly. Run:
Verify assets exist at public/vendor/codesnoutr/build/. See CSS_TROUBLESHOOTING.md for detailed help.
🆘 Support & Community
Getting Help
- 📖 Documentation: Comprehensive guides in this README
- 🐛 Bug Reports: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📧 Security Issues: [email protected]
Community
- ⭐ Star the Project: GitHub Repository
- 🐦 Follow Updates: @rafaelogic
- 💼 Professional Support: Available for enterprise customers
Feature Requests
We're always looking to improve! Submit feature requests through:
- GitHub Issues with the "enhancement" label
- GitHub Discussions in the "Ideas" category
- Direct email for enterprise features
All versions of codesnoutr with dependencies
illuminate/support Version ^10.0|^11.0|^12.0
illuminate/console Version ^10.0|^11.0|^12.0
illuminate/database Version ^10.0|^11.0|^12.0
livewire/livewire Version ^3.6.4
nikic/php-parser Version ^4.0|^5.0
symfony/finder Version ^6.0|^7.0
seld/jsonlint Version ^1.11