Publish a system
Inspect and publish one immutable system version through Creator Studio or the local and test CLI.
You can publish a system through Creator Studio or the Aether CLI. Both paths run the same validation, enforce the same package limits, and resolve the same dependencies. Neither path can replace a package version that has already been published.
Publication records a creator-supplied rights declaration. It does not mean Aether independently verified copyright ownership, trademarks, licenses, or artwork provenance.
#Prepare the artifact
From the system project:
cd /path/to/system-project
aether system validate .
aether system build .
aether system inspect dist/system.aethersystem.zipKeep the complete inspect output with the version review. It names the exact SHA-256 identity, compatibility, types, sheets, companion applications, automation, starter documents, dependencies, services, migrations, and rights declaration.
Before publishing, verify that:
- the version has never been used for different bytes;
- Aether and SDK ranges cover only versions you tested;
- listing copy names actual contents and limits;
- every image and included file has recorded distribution rights;
- required packages and service providers already exist in the target Marketplace;
- every declared migration source has a fixture and a passing destination-schema check.
#Publish through Creator Studio
- Open Creator Studio → New item and choose Systems.
- Add the title, one-line summary, description, visibility, and up to six tags.
- Upload the
.aethersystem.zipartifact. - Review the structured inspection for document types, native sheets, companion applications, automation, starter content, dependencies, services, capabilities, migrations, compatibility, files, and package limits.
- Enter the license and distribution-rights declaration. Add a truthful cover and alt text.
- Review the immutable version and complete artifact hash, then publish.
The ordinary workflow does not require editing raw JSON in the browser. Return to Items to see the published version and state. A later version is another immutable artifact and must pass the full inspection again.
#Publish through the CLI
The developer publisher is intentionally limited to a configured localhost or test endpoint. It requires a signed-in test-session cookie and a PNG, JPEG, or WebP cover:
export AETHER_STUDIO_COOKIE="aether_session=<local-test-session>"
aether system publish dist/system.aethersystem.zip \
--endpoint http://localhost:3000/api/marketplace/publish \
--cover media/cover.png \
--cover-alt "Starfall character sheet beside a hex map" \
--note "Adds ship actors and a version 1 to version 2 migration."The cookie grants the same creator identity as the browser session. Do not place it in source, shell history shared with others, screenshots, logs, or an artifact. The command verifies the archive before upload and prints the published id, version, endpoint origin, and artifact identity.
An exact repeat is safe only when the Marketplace's immutable-version rule accepts the same publication. Changed bytes require a new version. The CLI does not publish to an arbitrary remote host, create a production release, or bypass package ownership.
#Migration fixtures
For each forward migration, keep a source-world fixture at the declared from version and assert
the transformed documents against the target schemas. For each reverse migration, repeat the test
in the opposite direction. A reverse declaration is required before a GM can request a manual
downgrade.
Also keep one deliberate failure fixture. It must prove that staged data, the target graph, and the completion audit are discarded while the previous checkpoint and graph remain active.
#Troubleshooting
The artifact hash changed without a version change. Restore the reviewed bytes or increment the version. Published versions are immutable.
A dependency or service is missing. Publish a compatible provider first, or change the edge to optional and implement an explicit degraded path. Required edges fail the entire preflight.
The package is compatible on paper but unavailable to a world. Inspect the exact world's pinned graph. Another consumer may require a conflicting provider range, or the target may lack a complete migration path.
Creator Studio refuses a file. Fix the first named manifest field or path, rebuild, and inspect again. Do not remove inventory entries merely to hide unexpected files.
The CLI says a session is required. Sign in to the target local or test Creator Studio and pass
that test session through AETHER_STUDIO_COOKIE. A production account cookie is not appropriate for
this developer command.