StackGuardian / StackGuardian/tirith

feat(core): external providers and condition types — a plugin interface

Open
#347 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
165
Forks
42
Avg merge
1d 3h
Merged PRs (30d)
11

Description

Let users ship their own document readers and conditions without forking: tirith.providers /
tirith.conditions entry points (or --plugin-dir), a stable contract
(provide(provider_args, input_data) + the ProviderError severity model), and a schema so the
interactive interface and validation can list plugin arguments — plugins add typed operations the
Builder can render
, not an escape hatch, keeping "policies are data". Also the cheapest path to
community Dockerfile/Bicep readers and to companion CLIs plugging in. Ship after the R1
skip-ordering fix, or every plugin inherits the hazard. Related: #154, #155, #157, #134.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Builder and the tirith.providers/tirith.conditions entry points; review related issues #154, #155, #157, and #134 along with the R1 skip-ordering dependency. Done means external readers and condition types use the stated provide(provider_args, input_data) contract and ProviderError severity model, while the interactive interface and validation can list typed plugin arguments without bypassing policy data.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.