Skip to content

[New Feature]: Better integrate new CLI capabilities (unit-tests, docs) #16

@riverma

Description

@riverma

Checked for duplicates

Have you checked for duplicate issue tickets?

Yes - I've already checked

Alternatives considered

Yes - and alternatives don't suffice

Related problems

When using slim-cli, I'm noticing there's a standard way to use the tool for all infusion techniques (i.e. slim list, slim apply, etc.), and then there are the new capabilities (i.e. slim generate-docs, slim generate-tests, etc.). These two are distinct and the SLIM-CLI tool doesn't clearly integrate the two well.

Why is this a problem? The reason is that the existing way for the tool to infuse best practices into a repository (i.e. slim apply SLIM-3.1) allows several things:

  1. Listing of best practices available for the user to pick from, that is obtained directly from SLIM registry asset field for each best practice. This is done via slim list.
  2. Applying the best practice to a given repository that already exists on disk OR needs to be pulled down from GitHub. This is handled automatically via the --repo-urls and the --repo-dir flags.
  3. Commits changes made to the repository to the local git.
  4. Optionally pushes changes up to GitHub. Handled by slim deploy ... or slim apply-deploy.
  5. IMPORTANT: allows for multiple best practices to be infused in one go, by specifying multiple best practice IDs in the command line. This supports our use case of applying slim best practices to hundreds of repositories simultaneously with many best practice improvements at once.

Describe the feature request

The unit-test and docs generation capabilities should adhere to the slim-cli way of doing things. Specifically:

  • Add any version controlled assets for your best practices to the slim-registry, and associate them with the correct best practice guide (i.e. Continuous Testing or Documentation Hosts)
  • Create / call your custom processing code (i.e. docgen.py, testgen.py) within the SLIM best practice ID processing code. Note, if only AI mode is supported, you'll have to be explicit if the user tries to run without the --use-ai flag.
  • Update the SLIM-CLI README accordingly, to ensure the wording adheres to the slim-cli way of infusing rather than being stand alone
  • Update the Continuous Testing and Documentation Hosts best practice guides to include any artifacts you're using as part of slim-cli.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

Status

🔖 Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions