Skip to content
This repository has been archived by the owner on Mar 21, 2023. It is now read-only.

Roadmap Ideas #2

Open
elkwood opened this issue Aug 30, 2017 · 4 comments
Open

Roadmap Ideas #2

elkwood opened this issue Aug 30, 2017 · 4 comments

Comments

@elkwood
Copy link
Contributor

elkwood commented Aug 30, 2017

The initial goal of this cli will be to facilitate easy deployment and developer experience. We can use it to do the following tasks.

  1. Developer on-boarding: Walk through setup of repos required to run and develop core locally. (https://github.com/SBoudrias/Inquirer.js#goal-and-philosophy)
    We can also scaffold the desired folder structure and clone the developer's forks during the walkthrough. Think http://yeoman.io/ generators
  2. Developer environments: Launch the different projects that were setup in point 1 above.
  3. Deployment of projects: We can even deploy various Heroku projects and manage other common devops tasks here.

These are a few of the directions I can see this project moving toward. Looking for feedback or ideas where we'd like to see this move.

@elkwood
Copy link
Contributor Author

elkwood commented Aug 30, 2017

Initial cli functionality is in place here https://github.com/sprucelabsai/spruce-cli/pull/1
Right now the two example tasks just console log the args passed.

@liquidg3
Copy link
Member

CLI should focus on running the sprucebot platform (if authenticated properly) and skill creation.

sprucebot login 
-email:
-password:

sprucebot platform:deploy prod|test|dev|stage
** setting up docker image locally, please wait **
** api running at https://localhost:8080 **
** front end running at https://localhost:8181 **

sprucebot skill:create "Scratch & Sniff"
** checking out Skill template **
** naming scratch---sniff **

sprucebot skill:rename "Scratch & Win"
** renaming scratch---sniff to scratch---win **

sprucebot skill:deploy 879453542348729348:32049880293480234
** publishing to Sprucebot for review **
** skill has been queue for review **

sprucebot skill:test
** running 10 unit tests **
** 10 pass, 3 fail, 80% coverage **

sprucebot skill:event listen didEnter
** creating controllers/Listeners.js **
** adding didEnter(e) callback **

sprucebot skill:event ignore didEnter
** controllers/Listeners.js already exists **
** removing didEnter(e) callback **

sprucebot skill:endpoint add /owner/appointments.json 
** creating controllers/Owner.js **
** adding appointments(req, res) action **

sprucebot skill:endpoint add /guest/appointments.json
** controllers/Guest.js already exists **
** adding appointments(req, res) action ***

sprucebot skill:endpoint rename /guest/appointments.json /guest/appointments.xml
** renaming appointments(req, res) action to appointment(req, res) ***

@elkwood
Copy link
Contributor Author

elkwood commented Aug 30, 2017

Seems like a great api for skill development. To support all this we will need the task for setting up the initial file structure. A developer would be an internal developer and a user would some third party.

sprucebot platform:init [developer|user]
[?] Please enter your github username: mcdermed
** Cloning https://github.com/mcdermed/sprucebot-core **
 ** created directory ./sprucebot-core/ **
** Cloning https://github.com/mcdermed/sprucebot-web **
 ** created directory ./sprucebot-web/ **

@elkwood
Copy link
Contributor Author

elkwood commented Aug 30, 2017

Editing files can be pretty challenging, so tasks that manipulate preexisting file might be a "nice to have". You basically have to readFileAsString and the writeFileFromString. Generating the files is much easier since we are working from ejs templates or something similar.

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

No branches or pull requests

2 participants