Skip to content
This repository has been archived by the owner on Dec 5, 2019. It is now read-only.

CLI Roadmap #163

Open
4 tasks
maxlinc opened this issue Dec 19, 2014 · 1 comment
Open
4 tasks

CLI Roadmap #163

maxlinc opened this issue Dec 19, 2014 · 1 comment

Comments

@maxlinc
Copy link
Collaborator

maxlinc commented Dec 19, 2014

I've started moving from Rake->Thor, but I'd like to further enhance the CLI so it's easier for anyone to use pacto - both ruby devs and people uses Pacto for non-ruby projects.

I've also heard that the pacto-server options are confusing, and I'd like to the current Goliath-based server with a Celluloid based server in the future. Most of the options come from Goliath, so it would be a lot of work to map those options to another server.

So I'm thinking about these as new commands:

  • pacto lint [CONTRACTS]: Validates the syntax of one or more contract files. It'll start as the equivalent of "meta_validate", with a better name, but in the future it might also give tips for improving your contracts (both style or semantics).
  • pacto proxy [CONTRACTS]: Start a server that acts as an reverse proxy to live services so Pacto can intercept the API for validation and reporting while clients are still talking to a real service.
  • pacto stub [CONTRACTS]: Start a server that returns stubbed responses based on the contracts.
  • pacto send [CONTRACTS]: Sends requests based on the contracts. The default behavior will be similar to the current "validate", but I've experimented with an --interactive mode that lets you select from available samples and review/alter the generated data before its' sent.
@maxlinc
Copy link
Collaborator Author

maxlinc commented Dec 19, 2014

In the future I might also add:

  • pacto convert [CONTRACTS]: This would be used to convert contracts between formats or versions to help people upgrade. We need a legacy -> swagger converter, but in the future there might also be conversion between swagger versions or even for other formats like RAML.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant