Skip to content

[Advancement] Introduce a project manifest (starforge.toml) as the single source of truth - #1100

Merged
Nanle-code merged 3 commits into
Nanle-code:masterfrom
rindicomfort:feat/introduce-project-manifest-938
Oct 1, 2026
Merged

Nanle-code merged 3 commits into
Nanle-code:masterfrom
rindicomfort:feat/introduce-project-manifest-938

Conversation

@rindicomfort

Copy link
Copy Markdown
Contributor

Summary

Resolves #938 by introducing a standard project manifest (starforge.toml) as the single source of truth for StarForge projects.

Changes Made

  • Manifest Core Module (src/manifest.rs):

    • Implemented ProjectManifest data structures with serde supporting [package], [contracts], [networks], [deploy], and [scripts] tables.
    • Implemented versioning (version = "1") and strict schema validation.
    • Implemented upward directory discovery (discover_manifest and find_and_load_manifest).
    • Implemented programmatically generated JSON Schema (ProjectManifest::json_schema()).
  • Manifest Command Suite (src/commands/manifest.rs):

    • Added starforge manifest validate to validate project manifests.
    • Added starforge manifest schema to output or export JSON Schema (starforge.schema.json).
    • Added starforge manifest init to scaffold starforge.toml in existing projects.
    • Added starforge manifest show to view summary or JSON representation of discovered manifests.
  • starforge new Integration (src/commands/new.rs):

    • Updated contract and dApp scaffolding to automatically generate a pre-configured starforge.toml.
  • starforge deploy & starforge test Integration:

    • Made --wasm optional when a valid starforge.toml is present in the working directory or parent directories.
    • Automatically resolves contract WASM paths, target networks, and wallets from starforge.toml.
  • Documentation & Migration:

    • Added JSON Schema at docs/starforge.schema.json.
    • Added complete user documentation at docs/manifest.md.
    • Added migration guide for existing projects at docs/MANIFEST_MIGRATION.md.

Closes #938

…#938)

- Add project manifest module () supporting [contracts], [networks], [deploy], [scripts], versioning, and upward directory discovery.
- Add  command suite (, , , ) in .
- Update  to generate starter  for contract and dApp projects.
- Update  and  to read contract WASM targets, deployment environments, and wallets from  when  is omitted.
- Add JSON Schema (), manifest documentation (), and migration guide ().

Closes Nanle-code#938
@drips-wave

drips-wave Bot commented Sep 27, 2026

Copy link
Copy Markdown

@rindicomfort Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Nanle-code

Copy link
Copy Markdown
Owner

@rindicomfort resolve conflicts

@rindicomfort

Copy link
Copy Markdown
Contributor Author

resloved @Nanle-code

@Nanle-code
Nanle-code merged commit dd1735d into Nanle-code:master Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Advancement] Introduce a project manifest (starforge.toml) as the single source of truth

2 participants