zeon init

Adopt an existing project folder: create the cloud project, link the directory, and push what is already there.

zeon init takes a Zeon project that already exists on disk and gives it a home in the cloud. Use it when you have the files but no link: a folder someone sent you, a repo you cloned from plain git, a project reconstructed by hand.

cd my-project
zeon init

It is the counterpart to zeon new project, which starts from nothing, and to zeon clone, which starts from a project the cloud already has.

What it does

Four steps, in order:

  1. Checks the folder looks like a Zeon project.
  2. Creates an empty cloud project, named after the directory.
  3. Creates the .zeon/ metadata that links the two.
  4. Commits every local file and pushes it.
⬆️

Yes, it pushes. You do not follow it with zeon push. When it finishes it prints initialized <name> (<project-id>) and then how many files went up. A folder with the required directories but nothing in them is fine: it reports no files to push (empty working tree) and you are still linked.

What it requires

The three project directories have to be there, at the top level:

my-project/
├── skills/
├── workflows/
└── worlds/

That is the same layout the platform requires to run a project at all. Miss one and it stops with not a valid Zeon project: missing required directory: worlds, naming whichever are absent. Empty directories count, so mkdir skills workflows worlds is enough to get a bare repo over the line.

You also have to be signed in. Without a token it stops with not authenticated. Run \zeon auth login` first.`

What stops it

It saysWhat happenedWhat to do
this directory is already linked to a cloud project (.zeon/ exists)The folder is already a working tree.Use zeon push or zeon sync instead.
not a valid Zeon project: missing required director…One or more of skills/, workflows/, worlds/ is absent.Create them, then run it again.
project name already exists in the cloud: '<name>'The directory name is the project name, and you already have one by that name.Rename the directory, or archive the existing project with zeon project archive.
not authenticatedNo credentials.zeon auth login.

Every one of these is checked before anything is created, so a refusal leaves both your folder and your cloud account untouched.

Options

OptionDefaultWhat it does
-m, --messageImport existing projectThe message on the initial commit.
zeon init -m "Import plate-prep work from the old repo"

Naming

There is no name argument. The directory name becomes the cloud project name, so rename the folder before running it if you want something else:

mv ~/Downloads/project-final-v3 ~/work/plate-prep
cd ~/work/plate-prep
zeon init

Adopting a git repository

A repo you cloned with git clone works, as long as it carries the three directories. Zeon's sync is its own mechanism living in .zeon/, entirely separate from git, and the two sit side by side in one folder without interfering.

Two things follow from that:

  • Your git history is not imported. The cloud project starts empty and gets one commit holding your files as they stand right now. .git/ itself is skipped and never uploaded, along with .venv/, __pycache__/ and node_modules/.
  • Your git remote is untouched. Pushing to Zeon and pushing to git stay independent, so you can keep using both.

See How sync works.

Related


Did this page help you?