Skip to content

feat: implement project configuration schema - #80

Merged
dDevAhmed merged 11 commits into
mainfrom
feat/cli-034-configuration-schema
Sep 11, 2026
Merged

feat: implement project configuration schema#80
dDevAhmed merged 11 commits into
mainfrom
feat/cli-034-configuration-schema

Conversation

@dDevAhmed

Copy link
Copy Markdown
Contributor

Summary

Implements CLI-034 by defining and enforcing the StellarForge MVP project configuration contract.

Included

  • adds versioned stellarforge.config.json schema
  • supports explicit network and named Stellar CLI identity
  • resolves precedence as CLI override → project config → missing
  • does not default missing network values
  • loads configuration only from the project root
  • rejects symlink/non-file configs and files above 64 KiB
  • rejects unsupported fields and secret-bearing field names
  • rejects raw Stellar G/S StrKey values as identities
  • integrates deployment with project config while preserving Testnet-only deployment
  • records the architecture in ADR-0005
  • documents the public configuration contract
  • tests valid, invalid, missing, precedence, redaction, StrKey, and symlink behavior

Security

  • JSON is parsed, never executed
  • no raw secret/signing material is accepted as project config
  • errors do not echo config contents or secret values
  • Mainnet is never selected implicitly
  • command-specific network restrictions remain authoritative

Closes #37

@dDevAhmed
dDevAhmed merged commit df29984 into main Sep 11, 2026
3 of 4 checks passed
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.

CLI-034 — Define and implement CLI configuration schema

1 participant