* Refactoring the linter into an opinionated reformatter
* migrating how the rules are created for a more streamlined experience
* removing the keyword from the step model since there are no linting tests run on it or any of it's children
* Switch from pydantic to dataclasses
* Update to use the correct loader (Model.from_dict({})). Add extra data tests
* Got to a somewhat working breakdown of the rules (not including checking the actions)
* Major additions, test writing, and rule import framework
* update pip lockfile
* Build out the majority of the rules
* Add sub commands to manage the list of approved actions
* Add test coverage and get test coverage of the rules to 100%
* Update Python version in lint-ci to match refactored linter
* Removing old files. Update verbosity
* Finish in-code documentation
* Run black over the code
* Clean up the unused tests
* Expanded docs on how to add a new Rule
* Remove old linter
* First linting error fixes
* Fix all non-rule linter issues
* Switch to the cleaner json.load() function
* Fix unit tests
* Fix linting issues on job_environment_prefix
* Fix linting issues for RuleNameCapitalized
* Fix linting warnings for RuleNameExists
* Fix unit tests. Time to add some githooks...
* Update with linter findings for RuleStepUsesApproved
* Remove 'message' attribute from Rule base class. Fix linting findings for RuleStepPinned
* Fix linter findings
* Finish linter finding cleanup
* Reformat
* Fix type hinting
* Move lint-workflow to vs directory restore lint-workflow
* Fix tests after type fixes. Add tests to CI
* Add new workflow path to the PR trigger
* Update trigger to all pull_request events instead of push events
* Update workflow job names to be more helpful
* Switch back to python 3.9 for v1 linter
* Fix edge case where 'env' doesn't exist in a job
* Remove the end-to-end testing since it fails (as expected) and prevents a successful CI run
* Working on packaging with Hatch
* Update to Nix Unstable packages to allow for editable paths
* Updating file structure. Tests passing
* Got to installable and importable module
* Switch setting from a python file to a yaml file
* Update README with the new yaml settings
* Debugging E2E tests. Need to handle creating the Jobs that don't have Steps (see test_a.yaml)
* Save the latest vim session
* Fixed the complex workflow loading
* Update the JobRunnerVersionPinned rule to support callable workflows
* Fix the lint command to be compatible with callable workflows
* Format code and fix type annotations
* Clean up of local opinionated development environment
* Moving actions sub command to be in beta since we haven't decided to adopt that pattern
* Update all spelling errors identified and path issues (Thanks @vgrassia!)
* Add hacky safety measure to alert on GitHub Response Schema changes
* Fixed spelling issues