Skip to content

Conversation

@grezle
Copy link
Contributor

@grezle grezle commented Nov 14, 2025

This PR implements the create and deploy flows with flagged inputs and interactive prompts where flags are omitted.

```bash
# Deploy an application
pnpm ecloud app deploy \
npx ecloud app deploy \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

npx would need to use the actual package name, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

npx uses the named bin script from package.json, so npx ecloud works 🙏

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that'd only work if it's found locally, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the user installs the cli globally then it will be available everywhere, is that what you mean?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nah, i mean people normally use npx to run packages without installing them. if it's not on their machine at all, wouldn't they need to do npx @layr-labs/ecloud-cli app deploy?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahhh, sorry yes! It would be npx @layr-labs/ecloud-cli if its not installed, and npx ecloud if it is!

@solimander
Copy link
Collaborator

moving to ecloud compute app in a separate PR?

logger.info('Deploying on-chain...');
const { appAddress: deployedAppID, txHash } = await deployApp(
// 12. Deploy the app
logger.info("Deploying on-chain...");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this pattern of the SDK using logger.info for output (instead of exposing actionable hooks) is used throughout the codebase. imo, should expose events like onProgress({ stage: 'deploying' }) and let consumers handle presentation. logging for debug is fine, but consumers should control output format - makes it harder to build custom interfaces (progress bars, web UIs, different CLIs) when the SDK is presenting directly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good callout! I will get this refactored!

@grezle grezle merged commit 27f798a into master Nov 21, 2025
@shrimalmadhur shrimalmadhur deleted the feat/create-and-deploy-flows branch December 16, 2025 01:03
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.

5 participants