Skip to content

[Standalone/CLI] Promote standalone product generator to stable devkit command #72

Description

@ogyrec-o

Summary

Promote the standalone product generator from script/helper form into a stable devkit command.

#68 intentionally added a conservative script first, without freezing the final CLI surface too early. Once the product manifest, buildable generated repo, and product-boundary packaging contracts are clearer, the generator should become a stable command.

Motivation

The script is good for Stage 2a/2b, but the long-term author experience should be a supported devkit command with stable help text, validation, and docs.

The command should feel like a first-class product creation workflow, not an internal packaging script.

Possible command shape

Exact binary and subcommand are TBD.

Possible shapes:

  • freven-devkit new-standalone-product
  • freven_boot new-standalone-product
  • freven_boot product new
  • dedicated freven_product or freven_devkit helper crate

The issue should decide the correct public surface before freezing it.

Requirements

  • Reuse or port current script validation behavior.
  • Preserve dry-run / plan mode.
  • Preserve deterministic output.
  • Preserve zero-Vanilla default.
  • Provide clear --help.
  • Provide clear error messages for invalid identity.
  • Support generated product.toml.
  • Document command examples.
  • Decide where the command lives:
    • freven_boot
    • a dedicated devkit tool crate
    • an external packaged helper
  • Preserve packaged authoring profile availability.

Acceptance criteria

This is done when:

  • the stable command exists
  • docs show the supported command instead of only the script
  • the script is either retained as compatibility wrapper or intentionally removed
  • existing generator checks are ported or replaced
  • packaged authoring profiles expose the stable command
  • shipped standalone product profile does not expose authoring-only generator tools
  • migration notes explain the relationship to scripts/new_standalone_product.sh

Non-goals

  • Do not design store metadata here.
  • Do not build editor/catalog/publishing backend here.
  • Do not force product-owned packaging to be completed in this issue unless it is already ready.

Related context

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:mod-loadingMod discovery, resolution, manifests, negotiation, attach/load behavior.area:runtimeRuntime behavior, lifecycle, ticking, session behavior, execution flow.component:bootfreven-boot: launcher, instance bootstrap, boot flows, packaging entrypoints.component:devkitDevkit-level / cross-repo work: manifests, integration glue, release shell, repo-wide coordination.component:docsDocumentation, guides, READMEs, architecture docs, examples docs.component:enginefreven-engine: core engine/runtime/simulation/client-server internals.component:packagingBuild artifacts, zips, release packaging, manifests, distribution layout.future-foundationLong-term foundation, not necessarily blocking rc10.priority:p1High priority. Important and near-term.status:confirmedConfirmed bug/request. Reproduced, accepted, or clearly valid.transport:cross-transportShared semantic work that must align across builtin/wasm/native/external.type:architectureLong-term structural / contract / system design work, not just isolated implementation.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions