Files
rspade_system/docs/QUICKSTART.md
root 438623a729 Add CLAUDE.md management for published repositories
Update publish script to create .env.dist at project root

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 04:03:03 +00:00

142 lines
3.6 KiB
Markdown
Executable File

# RSpade Framework - Quick Start Guide
## Installation
### Clone the Repository
Clone the RSpade project with the framework submodule:
```bash
git clone --recurse-submodules ssh://git@privategit.hanson.xyz:3322/brianhansonxyz/rspade_project.git /path/to/project
cd /path/to/project
```
**Alternative method** (clone then initialize submodules):
```bash
git clone ssh://git@privategit.hanson.xyz:3322/brianhansonxyz/rspade_project.git /path/to/project
cd /path/to/project
git submodule update --init --recursive
```
The `--recurse-submodules` flag automatically initializes and clones the `system` directory, which contains the RSpade framework.
### Initial Setup
1. **Copy environment configuration:**
```bash
cp .env.dist .env
```
2. **Configure your database** in `.env`:
```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password
```
3. **Install dependencies:**
```bash
cd system
composer install
npm install
```
4. **Generate application key:**
```bash
php artisan key:generate
```
5. **Run migrations:**
```bash
php artisan migrate
```
6. **Build the manifest:**
```bash
php artisan rsx:manifest:build
```
### Updating the Framework
The framework is managed as a git submodule in the `system` directory. To pull framework updates:
```bash
php artisan rsx:framework:pull
```
This command:
- Fetches updates from the upstream framework repository
- Applies updates while preserving your application code in `./rsx`
- Rebuilds manifests and bundles automatically
**Note**: The `system` submodule is preconfigured with both `origin` and `rspade_upstream` remotes pointing to the framework repository. The `rsx:framework:pull` command uses `rspade_upstream` to check for and apply updates.
## Your First Module
Create a simple module to verify everything works:
```bash
php artisan rsx:app:module:create welcome
```
This creates:
- `/rsx/app/welcome/welcome_controller.php` - Controller with routes
- `/rsx/app/welcome/welcome_view.blade.php` - Blade template
- `/rsx/app/welcome/welcome.js` - JavaScript class
- `/rsx/app/welcome/welcome.scss` - Styles
Visit `http://your-domain/welcome` to see your new module.
## Essential Commands
### Development
```bash
php artisan rsx:check # Check code quality
php artisan rsx:routes # View all routes
php artisan rsx:debug /route # Test a route
php artisan rsx:manifest:build # Rebuild manifest
```
### Creating Structure
```bash
php artisan rsx:app:module:create <name> # Create new module
php artisan rsx:app:module:feature:create <m> <f> # Add feature to module
php artisan rsx:app:component:create --name=<name> # Create jqhtml component
```
### Database
```bash
php artisan make:migration:safe create_table_name # Create migration
php artisan migrate # Run migrations
php artisan db:query "SELECT * FROM users" --json # Query database
```
## Next Steps
- Read `./docs/CLAUDE.dist.md` for comprehensive framework documentation
- Explore the demo module at `/rsx/app/demo/`
- Review `./docs/framework_divergences.md` to understand how RSpade differs from standard Laravel
## Getting Help
Run any command with `--help` to see detailed usage:
```bash
php artisan rsx:app:module:create --help
```
Use the man system for detailed documentation on specific topics:
```bash
php artisan rsx:man # List all topics
php artisan rsx:man routing # View routing documentation
php artisan rsx:man jqhtml # View jqhtml component documentation
```