Documentation

How Julion works

Full workflow guide & CLI reference — including all new features shipped June 2026.

The workflow

Julion turns any project into a portable .on container — a compressed archive with checksums and a binary signature header. Containers live in your own Google Drive under a structured folder hierarchy.

YOUR PROJECT Node.js project Python app Any codebase .on Seals · Stores · Restores ANYWHERE Your laptop Team server CI / cloud VM
1

Initialize & connect

Run julion begin inside your project, then julion connect google to link your Google account. Julion stores your Drive token locally — no servers involved.

2

Seal your project

Run julion seal to compress the entire file tree into a .on container. Each file gets a checksum. The archive is portable and self-contained.

3

Deposit to Drive

Run julion deposit to push the container to Google Drive under JULION/<repository>/. Use --deposit on seal to do both in one command.

4

Fetch & restore anywhere

On any machine, run julion fetch to pull the snapshot from Drive and restore the full file tree into your folder automatically.

What's new — June 2026

Major CLI and restore improvements shipped today. Julion is now a full project portability platform — not a Git replacement.

Changes today

  • fetch auto-restoresjulion fetch downloads and extracts files into your folder (no manual unseal)
  • Ultra restore — both basic and ultra .on formats supported on unseal/fetch
  • --mirror — seal every file including .env, vendor/, node_modules/
  • --archive-only — fetch raw .on when you only want the archive
  • Dashboard intelligence — boot card, health, handoff, project map on repository viewer
  • Dry-runjulion plan / --dry-run preview restore without writing files
  • Encrypted vault--encrypt AES-256 .vault.on for safe mirror + cloud
  • VS Code extension — sidebar, status bar, right-click seal, Julion terminal profile
Boot CardAuto-generated run & setup steps embedded in every snapshot
Profileslaravel-deploy, node-ci, handoff, client-demo presets
Parity CheckValidate PHP/Node versions before restore
Selective Unseal--only and --except path filters
Structural DiffCompare snapshots by shape, not line-by-line
Health ReportPortability score + secret/large-file warnings
Handoff PacketNotes + tickets embedded for team delivery
Verify / SignIntegrity hash + optional signature
Delta SnapshotsStore only changed files vs a base .on
Env Modes--env structure redacts secrets; include keeps .env
julion openJump back to recently restored projects
julion serveTemp extract + run from boot card
Offline Relayexport / import with metadata sidecar
ScheduleDaily/weekly snapshot job config in ~/.julion
SearchFind files across local .on archives
Freeze TagsImmutable milestone labels on snapshots
Project MapRoutes, models, configs auto-indexed in snapshot
Webhooks--notify on deposit/seal

Installation

Install the Julion CLI globally via npm, or build it from the repo source if you cloned this project.

npm install -g julion

If you are using the cloned repository instead of the published package:

cd c:\\laragon\\www\\Julion npm install npm run build -w julion npm run julion -- --version

Verify installation:

julion --version

julion begin

Initialize Julion in the current project directory. Creates the necessary config files and registers the project.

julion begin Setup

Run this once inside a project before using any other Julion commands. It sets up local Julion metadata and makes the project restore-ready.

julion begin

Steps: 1) open your project folder, 2) run julion begin, 3) connect Google if you want Drive backup.

Example
# Navigate into your project and init cd my-project julion begin

julion connect

Authenticate with a cloud provider. Currently supports Google Drive. Your credentials are stored locally and never sent to Julion servers.

julion connect <provider> [options] Auth

Opens a browser-based OAuth flow to authenticate with the specified provider. After authentication, Julion stores your access token locally so you can use Drive commands.

julion connect <provider> [options]

Steps: 1) run julion connect google, 2) sign in through the browser, 3) use julion fetch or julion deposit.

Argument / OptionDescriptionDefault
<provider> Cloud provider to authenticate with. Currently supports: google required
--website Authenticate via the Julion website login flow instead of the CLI-native flow. Opens julion.julio.co.tz and polls for completion. false
Examples
# Standard CLI auth (opens browser inline) julion connect google
# Website-based auth flow julion connect google --website

julion seal

Create a .on snapshot of the current project. Walks the file tree, computes checksums, and compresses everything into a single portable container.

julion seal [options] Core

Seals the current working directory into a .on archive containing the full file tree, metadata, and per-file checksums. Can optionally upload to Drive immediately after sealing.

julion seal [options]

Steps: 1) run from project root, 2) choose profile or mirror mode, 3) add --deposit --repository to upload to Drive.

OptionDescriptionDefault
--ultra Run the full ultra pipeline — maximum compression and metadata collection. false
-o, --out <path> Output path for the generated .on file. <projectName>.on
--deposit Upload the snapshot to Google Drive immediately after sealing. Requires --repository. false
--repository <name> Drive repository folder name (used with --deposit). Snapshot stored under JULION/<name>/ in your Drive.
--mirror Include every file — .env, vendor/, node_modules/, logs, and cache. false
--profile <name> Seal preset: laravel-deploy, node-ci, handoff, client-demo. Run julion profiles to list. default
--env <mode> structure redacts secret values in .env; include forces .env into snapshot. default
--report Embed a health report (score, warnings, large files) in the snapshot. false
--sign Sign snapshot with integrity hash. Verify later with julion verify. false
--delta <base> Delta snapshot — only files changed since base.on.
--freeze <tag> Immutable milestone tag stored in snapshot metadata.
--notify <url> Webhook POST after deposit (or set JULION_WEBHOOK).
Examples
# Laravel deploy profile (code + .env, no vendor) julion seal --profile laravel-deploy --ultra --deposit --repository my-app
# Mirror entire project julion seal --mirror --ultra --deposit --repository my-app
# Signed snapshot with health report julion seal --ultra --report --sign -o release-v2.on
# Delta since last snapshot julion seal --delta ./my-app-v1.on -o ./my-app-v2-delta.on

julion deposit

Upload an existing .on snapshot to Google Drive. The file is stored under JULION/<repository>/ in your Drive.

julion deposit <snapshot> [repository] Drive

Pushes a local .on file to your Google Drive. Requires prior authentication via julion connect google. Organises snapshots by repository name.

julion deposit <snapshot> [repository]

Steps: 1) authenticate via julion connect google, 2) run julion deposit my-app-v1.on my-app, 3) confirm the file appears in Drive.

ArgumentDescriptionDefault
<snapshot> Path to the local .on snapshot file to upload. required
[repository] Drive folder name to store the snapshot under. Creates the folder if it doesn't exist. optional
Examples
# Upload snapshot to a named repository julion deposit my-app-v1.on my-app
# Upload without a repository name julion deposit my-app-v1.on

julion fetch

Download a snapshot from Google Drive and restore project files into a folder.

julion fetch <repository> <snapshot> [options] Drive

Pulls a snapshot from your Google Drive repository and extracts the full project file tree into the current directory (or a target folder). Use --archive-only if you only want the raw .on file.

julion fetch <repository> <snapshot> [options]

Steps: 1) run julion connect google, 2) fetch the snapshot from Drive, 3) restore files into the target folder.

Argument / OptionDescriptionDefault
<repository> Name of the Drive repository folder that contains the snapshot. required
<snapshot> Filename of the .on snapshot to download from Drive. required
-o, --out <path> Directory to restore files into. With --archive-only, the local path for the .on file. current directory
--archive-only Download the .on archive without extracting files. false
--force Overwrite existing files during restore. false
--check Check environment parity (PHP/Node) from boot card before restoring. false
Examples
# Restore into current directory julion fetch my-app my-app-v1.on
# Restore into a specific folder julion fetch my-app my-app-v1.on -o ./my-project
# Download the .on file only julion fetch my-app my-app-v1.on --archive-only -o ./downloads/v1.on

julion unseal

Restore a .on snapshot into a target directory. Verifies checksums on every file during extraction.

julion unseal <snapshot> [target] [options] Core

Extracts the full file tree from a .on container into a target directory. Each restored file is verified against its stored checksum — if any file is corrupted or tampered with, the restore is aborted.

julion unseal <snapshot> [target] [options]

Steps: 1) point to the local .on file, 2) choose a restore folder, 3) add --force to overwrite existing files.

Argument / OptionDescriptionDefault
<snapshot> Path to the .on snapshot file to restore. required
[target] Directory to restore the project into. Created if it doesn't exist. current directory
--force Overwrite existing files in the target directory without prompting. false
--only <paths> Restore only matching paths (comma-separated, e.g. app/Models,config/). all
--except <paths> Skip matching paths (e.g. vendor/,node_modules/). none
--check Check environment parity (PHP/Node versions) from boot card before restoring. false
Examples
# Restore only Laravel models julion unseal my-app.on --only app/Models --force
# Restore with environment check julion unseal my-app.on ./restored --check --force

Feature commands

Julion-only capabilities — project portability features Git doesn't offer.

julion boot

Run post-restore setup from the embedded boot card (composer install, migrations, npm install, etc.).

julion boot [--snapshot <path>]Run

Steps: 1) restore a snapshot via fetch or unseal, 2) run julion boot --snapshot snapshot.on, 3) let Julion execute boot card tasks.

julion fetch my-app snapshot.on julion boot --snapshot snapshot.on

julion diff

Structural diff between two snapshots — added/removed/modified files, dependency and env changes.

julion diff <snap1> <snap2>Compare
julion diff my-app-v1.on my-app-v2.on

julion handoff

Create a handoff snapshot with notes, ticket IDs, boot card, and health report — ideal for freelancer/client delivery.

julion handoff [options]Team
julion handoff --notes "Phase 2 done" --tickets JIRA-101,JIRA-102 --repository client-x

julion profiles

List seal profiles. Use with julion seal --profile <name>.

julion profilesPresets
julion profiles default Safe snapshot — skips secrets, deps, logs laravel-deploy Code + .env, no vendor/ node-ci Source + lockfiles, no node_modules/ handoff Full mirror + boot card + health report client-demo public/ + .env.example only

VS Code / Cursor extension

IDE-native Julion — sidebar, status bar, explorer right-click, dry-run, vault seal, and a Julion Terminal profile with julion> prompt (like Git Bash for Git).

Install & runIDE
npm run build -w julion npm run extension:build # Open packages/vscode-julion → F5
$(archive) Status barShows framework + health score — click opens sidebar
Right-click folderExplorer → Julion: Seal This Folder / Vault Seal
Right-click .onJulion: Dry-Run Restore Plan
SidebarSeal · Fetch · Boot · Handoff · Dry-run · Vault · Terminal
Boot card inlineFrom julion info in sidebar
Julion TerminalCustom prompt + quick-command banner

Dry-run restore

Preview what would be restored — file list, disk size, skip/overwrite counts, and warnings — without writing anything.

julion plan / --dry-runSafety

Steps: 1) use julion plan to preview a local snapshot restore, 2) or use --dry-run on fetch/unseal for Drive/local preview, 3) then run the actual restore command when ready.

julion plan my-app.on ./target julion unseal my-app.on --dry-run julion fetch my-app snap.on --dry-run

Encrypted vault

AES-256-GCM encrypted .vault.on — safe to upload mirror snapshots (with .env) to Drive.

julion seal --encryptSecurity
julion seal --mirror --ultra --encrypt --deposit --repository my-app julion fetch my-app my-app.vault.on --passphrase "secret" julion unseal my-app.vault.on --passphrase "secret" --dry-run

Dashboard intelligence

The repository viewer shows all embedded snapshot extras — boot card, health report, handoff packet, project map, freeze tag, and profile.

Open /repository?repo=my-app after sealing with --report or --profile handoff. Intelligence cards appear above the file preview.

More commands

julion verify <snapshot>Trust

Verify integrity hash and signature on a signed snapshot.

julion open [--list|--last] [name]Workflow

List or jump to recently restored projects (stored in ~/.julion/recent.json).

julion serve <snapshot> [--port]Demo

Temporarily extract and run using the boot card start command.

julion search <query>Search

Search file names across local .on archives in a directory.

julion schedule list | addAutomation

Configure daily/weekly snapshot jobs. Stored in ~/.julion/schedule.json.

julion schedule add --daily --repository my-app --keep 7 --ultra
julion export / importOffline

Export .on + metadata sidecar for USB/air-gapped transfer. Import restores from the package.

julion export my-app.on -o ./relay-pack julion import ./relay-pack -o ./restored
julion begin --from <template>Templates

Start from a template .on in ~/.julion/templates/.

julion fetch --checkParity

Check PHP/Node parity from boot card before restoring from Drive.

Common workflows

Put the commands together for real-world scenarios.

First-time setup Quickstart
npm install -g julion cd my-project julion begin julion connect google
Snapshot & back up in one command Productivity
julion seal --ultra --deposit --repository my-app
Restore on a new machine Restore
julion connect google julion fetch my-app my-app-v1.on --check --force julion boot
Laravel full mirror backup Laravel
julion seal --mirror --ultra --deposit --repository my-laravel-app julion fetch my-laravel-app my-laravel-app.on --force
Client handoff Team
julion handoff --notes "Sprint 3 complete" --tickets PROJ-88 --repository client-acme
CI pipeline backup CI / CD
julion connect google --website julion seal --deposit --repository ci-builds -o build-$CI_COMMIT_SHA.on

Ready to start snapshotting?

Connect your Google account and take your first snapshot in under a minute.