Projects
Create, link, clone, and check status of Strayl projects from the CLI.
st init
Create a new Strayl project from the current git repository.
st initYou must be inside a git repository to run this command. It will:
- Create the project in your Strayl account
- Add a
straylgit remote pointing to the new repository - Configure git credentials automatically
- Optionally push your current branch to
dev
Options
| Flag | Description |
|---|---|
[name] | Project name as a positional argument |
--name <name> | Project name (defaults to current directory name) |
--private | Create as a private project (default: public) |
--description <desc> | Project description |
Example
cd my-app
st init --name "My App" --privateAfter creating, you can push your code:
Strayl project created: https://app.strayl.dev/alice/my-app
Push current code to dev? [Y/n]
st link
Link an existing local git repository to an existing Strayl project.
st link username/projectRequires username/project format. This adds the strayl remote and configures git credentials. The remote dev branch must be empty — if the project already has code, use st clone instead.
Options
| Flag | Description |
|---|---|
--force-push | Force-push local code to dev (use only if dev is empty) |
Example
cd my-app
st link alice/my-appAfter linking, you'll be prompted to push your local code to dev.
st clone
Clone a Strayl repository to a local directory.
st clone username/repoThis is a wrapper around git clone that accepts the username/repo shorthand instead of a full URL. The strayl git credentials are used automatically.
Example
st clone alice/my-app
cd my-app
npm install
npm run devYou can also pass a full URL:
st clone https://api.strayl.dev/alice/my-app.gitst status
Show the current project and pending change proposals.
st statusOutput:
Project: alice/my-app → https://app.strayl.dev/alice/my-app
Branch: add-dark-mode
Visibility: public
Pending changes (2):
chg_abc123 Add dark mode toggle proposed
chg_def456 Fix signup validation ⚠ needs_restack
The ⚠ indicator means the change has a conflict with dev and needs to be restacked before it can be merged.