The command-line interface for the StellarForge ecosystem, designed to help developers create, validate, test, and deploy structured Stellar applications.
Status: π§ Foundation / MVP Development
License: MIT
Planned implementation: TypeScript on Node.js
StellarForge CLI is planned as the primary command-line entry point into the StellarForge developer-tooling ecosystem.
The project addresses repetitive setup around Stellar application development: project structure, supported tooling, configuration, local workflows, testing, and deployment orchestration. Rather than claiming to replace the underlying Stellar tools, StellarForge CLI will provide a consistent layer that coordinates them through documented conventions and reusable project templates.
The repository is currently in its foundation phase. Architecture, security, release engineering, contributor workflows, and the first implementation milestones are being established before the CLI is presented as production-ready software.
The v1.0 MVP aims to make the core workflow approachable through commands such as:
stellarforge new my-app
stellarforge doctor
stellarforge dev
stellarforge test
stellarforge deployThese commands are planned and will become available incrementally through the roadmap. Do not assume a command documented here is implemented until the corresponding release notes state that it is available.
Planned command:
stellarforge new my-appThe generator will create supported project foundations with validated paths, controlled templates, explicit overwrite behavior, and testable output.
The MVP targets four initial template categories:
- Basic App
- Full Stack App
- Stellar smart contract
- API Service
Additional domain templates may be considered after the MVP based on validated developer needs.
Planned command:
stellarforge doctorDiagnostics will check the developer tooling required by supported workflows and provide actionable remediation without exposing sensitive environment values.
Planned command:
stellarforge devThis command will orchestrate supported local-development processes; it will not reimplement the underlying Stellar development tools.
Planned command:
stellarforge testThe CLI will provide a consistent entry point for supported project tests while preserving meaningful failures and exit codes.
Planned command:
stellarforge deployThe MVP deployment scope is Stellar Testnet. Mainnet deployment requires additional architecture and security review and is not part of the initial MVP.
stellarforge-cli owns:
- command parsing and CLI UX;
- project scaffolding orchestration;
- controlled template integration;
- environment diagnostics;
- local development/test orchestration;
- deployment orchestration;
- CLI-specific configuration, errors, logs, tests, and documentation.
It does not own the implementation of future shared SDKs, workflow engines, indexers, contract-security engines, or unrelated application business logic. Those capabilities belong in their appropriate StellarForge modules when/if created.
A developer CLI runs in trusted developer and CI environments, so security constrains the architecture from the start.
The project treats command input, filesystem paths, configuration, environment variables, process output, network responses, dependencies, and pull-request code as untrusted until validated for their intended use.
Key principles include:
- safe child-process execution without unsafe shell interpolation;
- path validation and traversal protection;
- secret-safe logs and errors;
- minimal/reviewed dependencies;
- least-privilege GitHub Actions;
- dependency and static-analysis checks;
- protected release automation.
See SECURITY.md, the threat model, and ADR-0004.
| Command | MVP purpose | Status |
|---|---|---|
stellarforge new |
Create a supported Stellar project | Planned |
stellarforge doctor |
Validate the development environment | Planned |
stellarforge dev |
Orchestrate supported local development | Planned |
stellarforge test |
Run supported project tests | Planned |
stellarforge deploy |
Deploy through the MVP Testnet workflow | Planned |
stellarforge --help |
Display CLI usage/help | Planned |
stellarforge --version |
Display CLI version | Planned |
stellarforge add, plugin architecture, and remote template registries are post-v1 candidates, not MVP commitments.
The planned release path is:
- v0.1 β CLI Foundation
- v0.2 β Project Generator & Templates
- v0.3 β Configuration & Diagnostics
- v0.4 β Development & Testing Commands
- v0.5 β Stellar Testnet Deployment
- v0.6 β Security, Documentation & DX Hardening
- v0.7βv0.9 β MVP Stabilization
- v1.0 β Stable CLI MVP
See ROADMAP.md for scope and post-v1 candidates.
As implementation begins, the repository is being organized around:
stellarforge-cli/
βββ .changeset/
βββ .github/
βββ docs/
β βββ adr/
β βββ architecture/
β βββ contributing/
β βββ guides/
β βββ prd/
β βββ reference/
βββ src/
βββ tests/
βββ README.md
βββ ROADMAP.md
βββ CHANGELOG.md
βββ CONTRIBUTING.md
βββ CODE_OF_CONDUCT.md
βββ SECURITY.md
βββ LICENSE
Some implementation directories/files will appear as their corresponding foundation issues are completed.
The proposed release strategy uses Semantic Versioning and Changesets. Release-impacting PRs will record their intended version/changelog effect close to the code change.
See ADR-0003.
We welcome development, documentation, testing, research, security, and developer-experience contributions.
Before starting implementation:
- read CONTRIBUTING.md;
- select a clearly scoped issue;
- review linked architecture/security requirements;
- confirm assignment when the issue/program requires it;
- keep the PR focused on its acceptance criteria.
The project prioritizes meaningful, independently reviewable contributions over PR volume.
Do not disclose suspected vulnerabilities in public issues. Follow SECURITY.md and use GitHub Private Vulnerability Reporting when available.
StellarForge CLI is one component of the broader StellarForge open-source developer-tooling initiative.
The root DigiNodes/StellarForge repository coordinates ecosystem-level architecture, governance, documentation, and roadmap decisions. Additional module repositories will be linked here only when they actually exist and have an established role.
StellarForge CLI is intended to be released under the MIT License. The repository license file is established as part of the public foundation before code distribution.