Skip to content

CLI: Command Structure and Plumbing #93

Closed
@ianphil

Description

A good user story should be (I-N-V-E-S-T principle)

  • Independent (from other user stories, allowing to realize them in any order);
  • Negotiable (omit details that would freeze the story);
  • Valuable (implementation delivers an increment of functionality, observable by and useful to users);
  • Estimable (developers should be able to estimate its size relative to other stories);
  • Sizable (implementation fits in one iteration – if it needs many to complete, it is an EPIC);
  • Testable (user must be able to check the conditions of satisfaction).

Description

As a developer, I'd like to have a CLI cmd structure with help documentation, so I understand how to use the tool.

Acceptance Criteria

Reference: [Done-Done Checklist] (https://github.com/Microsoft/code-with-engineering-playbook/blob/master/Engineering/BestPractices/DoneDone.md)

  • The cli actions include both unit and integration tests.
  • Should verify that I can install the CLI on my local machine.
  • Agreed upon cmd tree
  • Help boilerplate for each cmd
  • Each command returns print statement
  • CLI cmd tree in readme

Also, here are a few points that need to be addressed:

  1. Command tree should be agreed upon by MSFT (README)
  2. Command tree should be agreed upon by Customer (README)
  3. Help content will be boilerplate and updated as needed

Resources

Technical Design Document
Mockups

Tasks

Stories are intended to be completed in a single sprint; if task breakdown creates addition work then team should discuss promoting the Story to an Epic.
Reference: [Minimal Valuable Slices] (https://github.com/Microsoft/code-with-engineering-playbook/blob/master/Engineering/BestPractices/MinimalSlices.md)

Reference: [How to Write Better Tasks] (http://agilebutpragmatic.blogspot.com/2012/04/splitting-story-into-tasks-how-to-write.html)

Assignee should break down work into tasks here

  • Create a project in repo
  • Create preliminary cmd tree
  • Team approval/updates to cmd tree
  • Customer approval/updates to cmd tree
  • Create root cmd and help
  • Update tasks for approved cmd tree cmds (similar to root)

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions