Documentation

Exporting Code

Export files, projects, and push to GitHub

This is where the Stellify development loop closes. The code your agent found, wired in, and verified leaves as standard Laravel — export individual files, download the entire project, or push straight to your GitHub repository. Your repo stays the source of truth; Stellify is the workbench the code passed through.

Export Individual Files

Download a single file as standard PHP or Vue:

  1. Open the file you want to export
  2. Click Export (or right-click in the file tree)
  3. Choose the format:
    • .php for controllers, models, classes
    • .vue for Vue single-file components
    • .js for JavaScript modules

The exported file is standard code - no Stellify-specific syntax or dependencies.

Export Entire Project

Download your complete project as a ZIP file ready to use with Laravel:

  1. Go to Project Settings
  2. Click Download ZIP in the Export Project section

The ZIP includes everything you need:

  • All your PHP files (controllers, models, middleware, classes)
  • Vue components
  • Routes (web.php and api.php)
  • composer.json with dependencies based on your project capabilities
  • package.json for Vue/Vite setup
  • Config files generated from your project settings
  • vite.config.js and tailwind.config.js

Setting Up Locally

  1. Install a fresh Laravel project:

    composer create-project laravel/laravel my-project
    cd my-project
    
  2. Extract the ZIP into your Laravel directory, replacing existing files

  3. Install dependencies:

    composer install
    npm install
    
  4. Configure your environment:

    • Copy .env.example to .env
    • Set your database credentials
    • Run php artisan key:generate
  5. Run migrations and start the server:

    php artisan migrate
    npm run dev
    php artisan serve
    

Your exported project structure:

your-project/
├── app/
│   ├── Http/
│   │   ├── Controllers/
│   │   └── Middleware/
│   └── Models/
├── config/
├── resources/
│   └── js/
│       └── components/
├── routes/
│   ├── web.php
│   └── api.php
├── composer.json
├── package.json
├── vite.config.js
└── tailwind.config.js

Export to GitHub

Push your project directly to a GitHub repository.

Quick Export

If you've exported before, you'll see a quick export view showing your last target and how many files have changed:

username/my-laravel-app
Branch: main
View last commit
Last exported: 2h ago
Total files: 47
Changed since last export: 3

Click Export Changes to push only modified files. Click Options to change the target repository or branch.

Export Options

The full export form lets you configure where to push:

Repository
Branch
Commit message (optional)
  • Repository: Choose an existing repo or create a new one
  • Branch: Target branch (created if it doesn't exist)
  • Commit message: Custom message for the commit
  • Force full export: Re-export all files, not just changes

What Gets Exported

The GitHub export includes:

  • All PHP files (controllers, models, etc.)
  • Vue components
  • Routes
  • Migrations
  • Configuration files
  • A standard Laravel project structure

Using Exported Code

Once exported, you can:

  • Run locally with php artisan serve
  • Deploy to any Laravel-compatible host
  • Continue development in your local IDE
  • Use CI/CD pipelines
  • Collaborate with developers not using Stellify

GitHub Live Sync

Beyond one-way exports, you can link a repository and branch for two-way sync:

  • Browse and import — view files in the connected repo and pull individual files into the editor, where they're parsed into Stellify's structured format
  • Commit back — push changes to specific files back to the repo with a commit message
  • Refresh — pick up changes made outside Stellify so the editor stays current

This makes Stellify a workbench your repository's code passes through: import a file, let AI refine it with surgical edits, run the tests, and commit it back. Your repo stays the source of truth.

Set up the connection in Project Settings → GitHub Integration.

Export Format

Exported code follows Laravel and Vue conventions:

PHP Files

<?php

namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;

class UserController extends Controller
{
    public function index()
    {
        return User::all();
    }
}

Vue Components

<template>
  <div class="container">
    <h1>{{ title }}</h1>
  </div>
</template>

<script setup>
import { ref } from 'vue'

const title = ref('Hello World')
</script>

No proprietary formats, no lock-in.