├── .editorconfig ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── pull_request_template.md └── workflows │ ├── ci.yml │ ├── docs.yml │ ├── pypi-publish.yml │ ├── release.yml │ └── version-bump.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .prettierrc ├── .python-version ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── IMPLEMENTATION.md ├── LICENSE ├── Makefile ├── README.md ├── SECURITY.md ├── TODO.md ├── assets └── logo.svg ├── docs ├── README.md ├── advanced │ ├── automating-validation.md │ ├── ci-cd-integration.md │ ├── contributing.md │ ├── enterprise-deployment.md │ ├── opa-integration.md │ └── performance-optimization.md ├── api │ ├── core.md │ ├── index.md │ ├── loader.md │ ├── reference.md │ ├── rules.md │ ├── types.md │ └── validator.md ├── assets │ └── images │ │ ├── demo.yml │ │ ├── logo.svg │ │ ├── plan-lint-001.gif │ │ └── plan-lint-002.gif ├── contributing.md ├── documentation │ ├── api-reference.md │ ├── custom-rule-development.md │ ├── index.md │ ├── mcp-integration.md │ ├── plan-structure.md │ ├── policy-formats.md │ ├── risk-scoring.md │ └── rule-types.md ├── examples │ ├── custom-rules.md │ ├── finance-agent-system.md │ ├── index.md │ └── sql-injection.md ├── getting-started.md ├── index.md ├── policy-authoring.md └── stylesheets │ └── logo.svg ├── examples ├── README.md ├── __init__.py ├── benchmark_linter.py ├── finance_agent_system │ ├── README.md │ ├── __init__.py │ ├── agent_system.py │ ├── finance_policy.rego │ ├── finance_policy.yaml │ ├── main.py │ ├── requirements.txt │ ├── test_opa.py │ └── validator.py ├── interactive_demo.py ├── opa_validation_demo.py ├── realistic_demo.py └── validator_example.py ├── mkdocs.yml ├── pyproject.toml ├── requirements-dev.txt ├── requirements.txt ├── src └── plan_lint │ ├── __init__.py │ ├── __main__.py │ ├── cli.py │ ├── core.py │ ├── examples │ ├── policy.yaml │ └── price_drop.json │ ├── loader.py │ ├── opa.py │ ├── reporters │ ├── __init__.py │ ├── cli.py │ └── json.py │ ├── rules │ ├── __init__.py │ ├── deny_sql_write.py │ └── no_raw_secret.py │ ├── schemas │ └── plan.schema.json │ └── types.py └── tests ├── conftest.py ├── test_cli.py ├── test_core.py └── test_opa.py /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.github/workflows/docs.yml -------------------------------------------------------------------------------- /.github/workflows/pypi-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.github/workflows/pypi-publish.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/version-bump.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.github/workflows/version-bump.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/.prettierrc -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.11 2 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /IMPLEMENTATION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/IMPLEMENTATION.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/SECURITY.md -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/TODO.md -------------------------------------------------------------------------------- /assets/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/assets/logo.svg -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/advanced/automating-validation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/advanced/automating-validation.md -------------------------------------------------------------------------------- /docs/advanced/ci-cd-integration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/advanced/ci-cd-integration.md -------------------------------------------------------------------------------- /docs/advanced/contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/advanced/contributing.md -------------------------------------------------------------------------------- /docs/advanced/enterprise-deployment.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/advanced/enterprise-deployment.md -------------------------------------------------------------------------------- /docs/advanced/opa-integration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/advanced/opa-integration.md -------------------------------------------------------------------------------- /docs/advanced/performance-optimization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/advanced/performance-optimization.md -------------------------------------------------------------------------------- /docs/api/core.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/api/core.md -------------------------------------------------------------------------------- /docs/api/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/api/index.md -------------------------------------------------------------------------------- /docs/api/loader.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/api/loader.md -------------------------------------------------------------------------------- /docs/api/reference.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/api/reference.md -------------------------------------------------------------------------------- /docs/api/rules.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/api/rules.md -------------------------------------------------------------------------------- /docs/api/types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/api/types.md -------------------------------------------------------------------------------- /docs/api/validator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/api/validator.md -------------------------------------------------------------------------------- /docs/assets/images/demo.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/assets/images/demo.yml -------------------------------------------------------------------------------- /docs/assets/images/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/assets/images/logo.svg -------------------------------------------------------------------------------- /docs/assets/images/plan-lint-001.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/assets/images/plan-lint-001.gif -------------------------------------------------------------------------------- /docs/assets/images/plan-lint-002.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/assets/images/plan-lint-002.gif -------------------------------------------------------------------------------- /docs/contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/contributing.md -------------------------------------------------------------------------------- /docs/documentation/api-reference.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/documentation/api-reference.md -------------------------------------------------------------------------------- /docs/documentation/custom-rule-development.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/documentation/custom-rule-development.md -------------------------------------------------------------------------------- /docs/documentation/index.md: -------------------------------------------------------------------------------- 1 | # Documentation Overview 2 | 3 | Learn how to use and configure Plan-Lint. 4 | -------------------------------------------------------------------------------- /docs/documentation/mcp-integration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/documentation/mcp-integration.md -------------------------------------------------------------------------------- /docs/documentation/plan-structure.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/documentation/plan-structure.md -------------------------------------------------------------------------------- /docs/documentation/policy-formats.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/documentation/policy-formats.md -------------------------------------------------------------------------------- /docs/documentation/risk-scoring.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/documentation/risk-scoring.md -------------------------------------------------------------------------------- /docs/documentation/rule-types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/documentation/rule-types.md -------------------------------------------------------------------------------- /docs/examples/custom-rules.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/examples/custom-rules.md -------------------------------------------------------------------------------- /docs/examples/finance-agent-system.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/examples/finance-agent-system.md -------------------------------------------------------------------------------- /docs/examples/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/examples/index.md -------------------------------------------------------------------------------- /docs/examples/sql-injection.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/examples/sql-injection.md -------------------------------------------------------------------------------- /docs/getting-started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/getting-started.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/policy-authoring.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/policy-authoring.md -------------------------------------------------------------------------------- /docs/stylesheets/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/docs/stylesheets/logo.svg -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/README.md -------------------------------------------------------------------------------- /examples/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/benchmark_linter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/benchmark_linter.py -------------------------------------------------------------------------------- /examples/finance_agent_system/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/finance_agent_system/README.md -------------------------------------------------------------------------------- /examples/finance_agent_system/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/finance_agent_system/agent_system.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/finance_agent_system/agent_system.py -------------------------------------------------------------------------------- /examples/finance_agent_system/finance_policy.rego: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/finance_agent_system/finance_policy.rego -------------------------------------------------------------------------------- /examples/finance_agent_system/finance_policy.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/finance_agent_system/finance_policy.yaml -------------------------------------------------------------------------------- /examples/finance_agent_system/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/finance_agent_system/main.py -------------------------------------------------------------------------------- /examples/finance_agent_system/requirements.txt: -------------------------------------------------------------------------------- 1 | # Core dependencies 2 | plan-lint>=0.1.0 3 | 4 | # For simulation 5 | colorama>=0.4.4 -------------------------------------------------------------------------------- /examples/finance_agent_system/test_opa.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/finance_agent_system/test_opa.py -------------------------------------------------------------------------------- /examples/finance_agent_system/validator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/finance_agent_system/validator.py -------------------------------------------------------------------------------- /examples/interactive_demo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/interactive_demo.py -------------------------------------------------------------------------------- /examples/opa_validation_demo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/opa_validation_demo.py -------------------------------------------------------------------------------- /examples/realistic_demo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/realistic_demo.py -------------------------------------------------------------------------------- /examples/validator_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/examples/validator_example.py -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/requirements-dev.txt -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/requirements.txt -------------------------------------------------------------------------------- /src/plan_lint/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/__init__.py -------------------------------------------------------------------------------- /src/plan_lint/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/__main__.py -------------------------------------------------------------------------------- /src/plan_lint/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/cli.py -------------------------------------------------------------------------------- /src/plan_lint/core.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/core.py -------------------------------------------------------------------------------- /src/plan_lint/examples/policy.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/examples/policy.yaml -------------------------------------------------------------------------------- /src/plan_lint/examples/price_drop.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/examples/price_drop.json -------------------------------------------------------------------------------- /src/plan_lint/loader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/loader.py -------------------------------------------------------------------------------- /src/plan_lint/opa.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/opa.py -------------------------------------------------------------------------------- /src/plan_lint/reporters/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/plan_lint/reporters/cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/reporters/cli.py -------------------------------------------------------------------------------- /src/plan_lint/reporters/json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/reporters/json.py -------------------------------------------------------------------------------- /src/plan_lint/rules/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/plan_lint/rules/deny_sql_write.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/rules/deny_sql_write.py -------------------------------------------------------------------------------- /src/plan_lint/rules/no_raw_secret.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/rules/no_raw_secret.py -------------------------------------------------------------------------------- /src/plan_lint/schemas/plan.schema.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/schemas/plan.schema.json -------------------------------------------------------------------------------- /src/plan_lint/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/src/plan_lint/types.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/test_cli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/tests/test_cli.py -------------------------------------------------------------------------------- /tests/test_core.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/tests/test_core.py -------------------------------------------------------------------------------- /tests/test_opa.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cirbuk/plan-lint/HEAD/tests/test_opa.py --------------------------------------------------------------------------------