Migration Guide: Unified Backend Output Structure
This guide explains how to migrate from the old directory structure to the new unified backend output structure introduced in Plan 129.
What Changed
Old Structure (Before Plan 129)
my-project/
├── pac.at
├── source/
│ ├── front/
│ │ ├── app.at
│ │ └── pages/
│ └── back/
└── dist/ # Generated Vue project (or Jet at root)New Structure (After Plan 129)
my-project/
├── pac.at
├── front/ # Frontend source (directly at root, no source/ wrapper)
│ ├── app.at
│ └── pages/
├── back/ # Backend source (directly at root)
├── vue/ # Generated Vue project (was dist/)
├── jet/ # Generated Jetpack project (was project root)
├── tauri/ # Generated Tauri project
└── rust/ # Generated Rust backendKey Changes
- No
source/wrapper:front/andback/are now directly at project root - Backend-specific output: Generated code goes to
vue/,jet/,tauri/instead ofdist/
Key Changes
1. Output Directory Names
| Backend | Old Directory | New Directory |
|---|---|---|
| Vue | dist/ | vue/ |
| Jetpack | project root | jet/ |
| Tauri | dist/ | tauri/ |
| Rust | N/A | back/ |
2. New Commands
Old commands (deprecated):
auto vue [input.at] -o ./output
auto jet [input.at]New commands:
auto build # Build all backends
auto build --target vue # Build only Vue
auto run # Run dev server for all backends
auto run --target vue # Run only Vue dev server3. pac.at Configuration
New backend field in pac.at:
// Single backend
backend: "vue"
// Or split frontend/backend
backend: {
front: ["vue", "jet"]
back: "rust"
}Migration Steps
For Vue Projects
Backup your generated code (if needed):
bashmv dist dist-backupRun the new build command:
bashauto build --target vueVerify output in
vue/directory:bashls vue/Update .gitignore:
gitignore# Old # dist/ # New vue/
For Jetpack Projects
Generated code now goes to
jet/instead of project rootRun the new build command:
bashauto build --target jetVerify output in
jet/directory:bashls jet/
For Multi-Backend Projects
Update pac.at with backend configuration:
autobackend: { front: ["vue", "jet"] back: "rust" }Run build for all backends:
bashauto buildOutput will be in:
vue/- Vue frontendjet/- Jetpack frontendback/- Rust backend
Troubleshooting
Q: My old dist/ directory is still there
A: The old dist/ directory is not automatically removed. You can safely delete it:
rm -rf dist/Q: Build command says "target not found"
A: Make sure you have the backend field in your pac.at file, or specify the target explicitly:
auto build --target vueQ: Can I still use auto vue command?
A: The auto vue and auto jet commands are deprecated but still work. They will be removed in a future version. Please migrate to auto build and auto run.
Need Help?
If you encounter any issues with migration, please open an issue on GitHub with:
- Your
pac.atfile contents - The error message you're seeing
- Your project structure