Scarp v0.0.5-alpha.4 — published project workflow
Published: November 3, 2026. This is the newest published Scarp v0.0.5-alpha.4 prerelease, from tagged source commit 79141329176f5dce51457e90a6652902f6432135. It is an experimental Rust-implemented interpreter, not a native-code compiler or a stable project/package specification. The source of the behavior below is the tagged project implementation and its end-to-end compiler tests.
What actually shipped
| Command | Availability and effect |
|---|---|
scarp create DIRECTORY |
New in alpha.4. Creates a new local directory, manifest, and starter .srp source. Rejects an existing directory, even if empty. |
scarp verify DIRECTORY |
New project-directory mode. Validates manifest, entry path, imported modules, names and types; does not run ordinary statements. scarp verify FILE.srp remains supported. |
scarp launch DIRECTORY |
New in alpha.4. Checks the project manifest and executes its declared entry through the actual interpreter. Accepts runtime budget options. |
scarp exec FILE.srp |
Already shipped in alpha.3. Executes an individual source file without requiring a project manifest. |
scarp inspect modules --json FILE.srp |
Already shipped in alpha.3. Produces static module metadata, not project execution. |
The original run, check, tokens and modules invocations remain available temporarily for migration. The historical check can evaluate selected runtime paths; verify does not run ordinary program statements.
Reproduce a real alpha.4 project
Use a v0.0.5-alpha.4 executable. From a directory where hello-world does not exist, run:
scarp version
scarp create hello-world
scarp verify hello-world
scarp launch hello-world
create generates hello-world/Scarp.project and hello-world/src/main.srp. The exact version-1 manifest is:
scarp-project: 1
name: hello-world
entry: src/main.srp
The exact starter program generated by the published compiler is:
print("Hello from Scarp!");
The verify command is silent on success. launch executes that starter and prints:
Hello from Scarp!
These three artifacts match the official alpha.4 src/project.rs generator; a dedicated conformance job builds the exact published commit and compares the created file bytes and stdout.
Manifest format and boundaries
Scarp.project is a versioned development manifest v1, not a package registry format. The manifest has exactly three ordered lines and at most 4,096 UTF-8 bytes. It uses scarp-project: 1, name: ..., and entry: .... Unknown/duplicate fields are errors.
- The project name must occupy 1–96 UTF-8 bytes and cannot contain control characters, path separators, a colon, or surrounding whitespace.
- The entry value must be an existing relative
.srpfile inside the selected project, with forward slashes and no./..components, colon, backslash or control characters. Its text must be at most 512 UTF-8 bytes. - The manifest must be an ordinary file, not a symlink. An entry symlink is acceptable only if its canonical target remains under the canonical project root.
- Project directories are always explicit:
launchand projectverifydo not search parent directories or discover workspaces automatically. createrequires an existing parent directory and never overwrites or adopts an already existing project directory.
Static validation versus execution
A type-correct program can still fail at runtime, so a successful static verify does not guarantee successful launch. The compiler tests demonstrate this with an entry containing a runtime division by zero: project verify succeeds, while launch fails with exit code 1 and no program stdout.
launch supports execution-budget controls such as --max-steps, --max-prints, --max-calls and --max-text-bytes. Project verify rejects runtime budget flags because it does not run ordinary statements. Both can report structured errors with --diagnostic-format=json on stderr. Source/runtime errors normally exit 1; invalid command usage exits 2.
Verified download targets
The published release provides archives and SHA-256 checksums for Windows x64, Linux x64, and macOS Apple Silicon. Download the archive and its matching checksum from the official alpha.4 GitHub release. Compare the archive's SHA-256 before extraction; do not execute a mismatched or unverified file.
What this release does not add
No scarp build/compile native executable generation, project dependency downloading, package registry, lockfile, workspace discovery, multi-entrypoint selection, general user-defined records/enums, GPU backend or built-in async language support. cargo build produces the Rust-based Scarp tool, not a native executable for an arbitrary .srp program.
For a beginner-friendly walk-through, follow Quickstart: alpha.4 projects, the published release matrix, and the historical alpha.3 CLI reference. Compiler behavior and manifest syntax may change in later prereleases.