arctir / proctor

A CLI and libraries acting as a toolkit for introspecting software from source to runtime.
Apache License 2.0
17 stars 1 forks source link

Introduce source introspection library #14

Closed joshrosso closed 1 year ago

joshrosso commented 1 year ago

Proposal

Introduce proctor source ... to the proctor CLI. Accompanying this will be a source library that can be imported as go module.

Initial ideas of command we can expose using the library include:

source
    commits: outputs a list of commits based on tag, sha (head), etc
    diff: identifies different commits between two tags
    artifacts: list any artifacts attached to the project (first rev will be listing things attached via [GitHub releases](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases))

Implementation details

This will largely be refactoring our library from the existing git-adapter (closed-source platform agent) and bringing it into this CLI.

Then, as a final step, we'd require it accordingly in the adapter.

joshrosso commented 1 year ago

My current thinking is that we'll end up with a CLI structure looking something like:

proctor source contributions list {repo}
proctor source contributions diff {repo} --tag-1=${TAG1} --tag-2=${TAG2}
proctor source artifacts {repo}

Placing artifacts under source may be a bit of a bad UX. I'm open to suggestions here if we feel differently.