pre-flight-check 1.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. pre_flight_check-1.2.0/.claude-plugin/marketplace.json +17 -0
  2. pre_flight_check-1.2.0/.claude-plugin/plugin.json +10 -0
  3. pre_flight_check-1.2.0/.github/ISSUE_TEMPLATE/bug_report.yml +105 -0
  4. pre_flight_check-1.2.0/.github/ISSUE_TEMPLATE/config.yml +11 -0
  5. pre_flight_check-1.2.0/.github/ISSUE_TEMPLATE/feature_request.yml +82 -0
  6. pre_flight_check-1.2.0/.github/PULL_REQUEST_TEMPLATE.md +68 -0
  7. pre_flight_check-1.2.0/.github/workflows/ci.yml +409 -0
  8. pre_flight_check-1.2.0/.gitignore +34 -0
  9. pre_flight_check-1.2.0/CLAUDE.md +129 -0
  10. pre_flight_check-1.2.0/CONTRIBUTING.md +158 -0
  11. pre_flight_check-1.2.0/Formula/README.md +72 -0
  12. pre_flight_check-1.2.0/Formula/pre-flight-check.rb +49 -0
  13. pre_flight_check-1.2.0/INSTALL.md +372 -0
  14. pre_flight_check-1.2.0/LICENSE +21 -0
  15. pre_flight_check-1.2.0/PKG-INFO +213 -0
  16. pre_flight_check-1.2.0/README.md +183 -0
  17. pre_flight_check-1.2.0/adapters/README.md +58 -0
  18. pre_flight_check-1.2.0/bucket/README.md +66 -0
  19. pre_flight_check-1.2.0/bucket/pre-flight-check.json +32 -0
  20. pre_flight_check-1.2.0/examples/README.md +31 -0
  21. pre_flight_check-1.2.0/examples/node-broken/.gitignore +4 -0
  22. pre_flight_check-1.2.0/examples/node-broken/README.md +66 -0
  23. pre_flight_check-1.2.0/examples/node-broken/package.json +12 -0
  24. pre_flight_check-1.2.0/examples/node-broken/src/index.ts +22 -0
  25. pre_flight_check-1.2.0/examples/node-broken/tsconfig.json +13 -0
  26. pre_flight_check-1.2.0/examples/python-broken/.gitignore +7 -0
  27. pre_flight_check-1.2.0/examples/python-broken/README.md +73 -0
  28. pre_flight_check-1.2.0/examples/python-broken/pyproject.toml +12 -0
  29. pre_flight_check-1.2.0/examples/python-broken/src/__init__.py +0 -0
  30. pre_flight_check-1.2.0/examples/python-broken/src/calc.py +22 -0
  31. pre_flight_check-1.2.0/install.ps1 +264 -0
  32. pre_flight_check-1.2.0/install.sh +347 -0
  33. pre_flight_check-1.2.0/pyproject.toml +81 -0
  34. pre_flight_check-1.2.0/src/pre_flight_check/__init__.py +15 -0
  35. pre_flight_check-1.2.0/src/pre_flight_check/__main__.py +10 -0
  36. pre_flight_check-1.2.0/src/pre_flight_check/_data/AGENTS.md +157 -0
  37. pre_flight_check-1.2.0/src/pre_flight_check/_data/GEMINI.md +47 -0
  38. pre_flight_check-1.2.0/src/pre_flight_check/_data/SKILL.md +108 -0
  39. pre_flight_check-1.2.0/src/pre_flight_check/_data/__init__.py +2 -0
  40. pre_flight_check-1.2.0/src/pre_flight_check/_data/cline.md +79 -0
  41. pre_flight_check-1.2.0/src/pre_flight_check/_data/copilot-instructions.md +89 -0
  42. pre_flight_check-1.2.0/src/pre_flight_check/_data/cursor.mdc +110 -0
  43. pre_flight_check-1.2.0/src/pre_flight_check/_data/gemini-extension.json +6 -0
  44. pre_flight_check-1.2.0/src/pre_flight_check/_data/kiro.md +83 -0
  45. pre_flight_check-1.2.0/src/pre_flight_check/_data/roo.md +79 -0
  46. pre_flight_check-1.2.0/src/pre_flight_check/_data/run-pipeline.py +290 -0
  47. pre_flight_check-1.2.0/src/pre_flight_check/_data/windsurf.md +84 -0
  48. pre_flight_check-1.2.0/src/pre_flight_check/cli.py +181 -0
  49. pre_flight_check-1.2.0/src/pre_flight_check/engine.py +39 -0
  50. pre_flight_check-1.2.0/src/pre_flight_check/installer.py +179 -0
  51. pre_flight_check-1.2.0/uninstall.sh +34 -0
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
3
+ "name": "pre-flight-check",
4
+ "description": "Stop your AI agent from declaring 'done' on broken code. Fail-fast quality gate that runs Typecheck, Lint, Test, and Security Audit sequentially before any task is marked complete.",
5
+ "owner": {
6
+ "name": "mirekondro",
7
+ "url": "https://github.com/mirekondro"
8
+ },
9
+ "plugins": [
10
+ {
11
+ "name": "pre-flight-check",
12
+ "description": "Fail-fast Typecheck → Lint → Test → Security Audit gate. Auto-detects Node.js and Python. Forbids the agent from suppressing errors. Zero runtime dependencies.",
13
+ "source": "./",
14
+ "category": "quality"
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "pre-flight-check",
3
+ "description": "Fail-fast quality gate (Typecheck → Lint → Test → Security Audit) that runs before any task is declared done or code is committed. Auto-detects Node.js and Python projects.",
4
+ "author": {
5
+ "name": "mirekondro",
6
+ "url": "https://github.com/mirekondro"
7
+ },
8
+ "homepage": "https://github.com/mirekondro/The-Pre-Flight-Check",
9
+ "license": "MIT"
10
+ }
@@ -0,0 +1,105 @@
1
+ name: 🐛 Bug report
2
+ description: Something doesn't work as documented.
3
+ title: "[bug] "
4
+ labels: ["bug", "triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for the report. The more concrete you can be, the faster this gets fixed. Paste raw output rather than describing it.
10
+
11
+ - type: textarea
12
+ id: what-happened
13
+ attributes:
14
+ label: What happened?
15
+ description: Tell us what you ran and what you saw. One paragraph is fine.
16
+ placeholder: |
17
+ I ran `python3 ~/.claude/skills/pre-flight-check/scripts/run-pipeline.py` in a pnpm monorepo and it picked npm instead of pnpm.
18
+ validations:
19
+ required: true
20
+
21
+ - type: textarea
22
+ id: expected
23
+ attributes:
24
+ label: What did you expect?
25
+ placeholder: |
26
+ Detect pnpm-lock.yaml at the root, use `pnpm` for all stages.
27
+ validations:
28
+ required: true
29
+
30
+ - type: textarea
31
+ id: reproduction
32
+ attributes:
33
+ label: Minimal reproduction
34
+ description: Exact commands. If you can pin it to one of the fixtures under `examples/`, even better.
35
+ render: bash
36
+ placeholder: |
37
+ cd ~/projects/my-repo
38
+ python3 ~/.claude/skills/pre-flight-check/scripts/run-pipeline.py
39
+ validations:
40
+ required: true
41
+
42
+ - type: textarea
43
+ id: full-output
44
+ attributes:
45
+ label: Full pipeline output
46
+ description: Everything from the first `# Pre-Flight Check` line through the final `### ❌` / `### ✅` / `### ⚠️` block. Paste raw, do not summarise.
47
+ render: text
48
+ validations:
49
+ required: true
50
+
51
+ - type: input
52
+ id: os
53
+ attributes:
54
+ label: OS + version
55
+ placeholder: macOS 14.5 / Ubuntu 22.04 / Windows 11
56
+ validations:
57
+ required: true
58
+
59
+ - type: input
60
+ id: python-version
61
+ attributes:
62
+ label: Python version
63
+ description: Output of `python3 --version`.
64
+ placeholder: Python 3.11.7
65
+ validations:
66
+ required: true
67
+
68
+ - type: input
69
+ id: claude-version
70
+ attributes:
71
+ label: Claude Code version
72
+ description: Output of `claude --version`. Optional if unsure.
73
+ placeholder: claude 1.x.x
74
+
75
+ - type: input
76
+ id: skill-version
77
+ attributes:
78
+ label: Skill version / commit
79
+ description: First line of `~/.claude/skills/pre-flight-check/scripts/run-pipeline.py`, or the commit sha you installed from.
80
+ placeholder: main @ 3592de9
81
+
82
+ - type: dropdown
83
+ id: install-method
84
+ attributes:
85
+ label: How did you install the skill?
86
+ options:
87
+ - One-line install (curl|bash)
88
+ - One-line install (irm|iex)
89
+ - Local clone + install.sh
90
+ - Manual cp
91
+ - Other (describe in "What happened?")
92
+ validations:
93
+ required: true
94
+
95
+ - type: checkboxes
96
+ id: pre-flight
97
+ attributes:
98
+ label: Pre-submission checklist
99
+ options:
100
+ - label: I searched existing issues and didn't find a duplicate.
101
+ required: true
102
+ - label: I'm running Python ≥3.8.
103
+ required: true
104
+ - label: The output above is raw, complete, and unredacted (modulo absolute paths you'd rather not share).
105
+ required: true
@@ -0,0 +1,11 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: 📖 Documentation
4
+ url: https://github.com/mirekondro1/The-Pre-Flight-Check#readme
5
+ about: Install guide, supported runtimes, FAQ.
6
+ - name: 🛠️ Troubleshooting
7
+ url: https://github.com/mirekondro1/The-Pre-Flight-Check/blob/main/INSTALL.md#troubleshooting
8
+ about: 9 common failure modes with copy-paste fixes. Check here before opening a bug report.
9
+ - name: 🤝 Contributing
10
+ url: https://github.com/mirekondro1/The-Pre-Flight-Check/blob/main/CONTRIBUTING.md
11
+ about: How to add a new runtime adapter, fixture, or doc fix.
@@ -0,0 +1,82 @@
1
+ name: 💡 Feature request
2
+ description: Propose a new capability before opening a PR.
3
+ title: "[feat] "
4
+ labels: ["enhancement", "triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Read [CONTRIBUTING.md → Project philosophy](../blob/main/CONTRIBUTING.md#project-philosophy) before filing. **Especially** the "What we don't want" list — proposals for new dependencies, config files, or auto-installing tools will be declined.
10
+
11
+ New runtime adapters and new fixtures are welcome and rarely need long discussion. Behavioral changes to existing stages or to the failure-block format need agreement first.
12
+
13
+ - type: textarea
14
+ id: problem
15
+ attributes:
16
+ label: Problem
17
+ description: What user-visible problem does this solve? Be concrete — name a real workflow.
18
+ placeholder: |
19
+ I work in a Go monorepo. `pre-flight-check` exits with UNKNOWN RUNTIME so my agent skips quality gates entirely.
20
+ validations:
21
+ required: true
22
+
23
+ - type: textarea
24
+ id: proposal
25
+ attributes:
26
+ label: Proposal
27
+ description: What change do you want? Include the expected command(s) per stage if it's a new runtime.
28
+ placeholder: |
29
+ Add a Go adapter that detects `go.mod` and runs:
30
+ 1. TYPECHECK -> go vet ./...
31
+ 2. LINT -> golangci-lint run
32
+ 3. TEST -> go test ./...
33
+ 4. SECURITY AUDIT -> govulncheck ./...
34
+ validations:
35
+ required: true
36
+
37
+ - type: textarea
38
+ id: alternatives
39
+ attributes:
40
+ label: Alternatives considered
41
+ description: What else could solve the problem? Why is your proposal better?
42
+ placeholder: |
43
+ - Manually invoking each tool from a Makefile: doesn't enforce the agent contract.
44
+ - Project-local skill fork: works but doesn't help anyone else.
45
+
46
+ - type: dropdown
47
+ id: category
48
+ attributes:
49
+ label: Category
50
+ options:
51
+ - New runtime adapter
52
+ - New stage / tool for an existing runtime
53
+ - Failure-block format change
54
+ - Installer change
55
+ - Documentation
56
+ - New fixture
57
+ - Other
58
+ validations:
59
+ required: true
60
+
61
+ - type: textarea
62
+ id: scope
63
+ attributes:
64
+ label: Scope check
65
+ description: |
66
+ Tick whichever apply. Honesty saves us both time.
67
+ value: |
68
+ - [ ] This adds **no** Python runtime dependencies.
69
+ - [ ] This adds **no** configuration file.
70
+ - [ ] This does **not** install third-party tooling on behalf of the user.
71
+ - [ ] This does **not** change the failure-block Markdown shape (### ❌ FAILURE, **Command Executed:**, **Context for AI Fix:**).
72
+ - [ ] I'm willing to send the PR if accepted.
73
+
74
+ - type: checkboxes
75
+ id: pre-flight
76
+ attributes:
77
+ label: Pre-submission checklist
78
+ options:
79
+ - label: I read CONTRIBUTING.md and my proposal aligns with the project philosophy.
80
+ required: true
81
+ - label: I searched existing issues and didn't find a duplicate or rejected version of this.
82
+ required: true
@@ -0,0 +1,68 @@
1
+ <!--
2
+ Thanks for the PR. Fill out the sections below — terse is fine, blank is not.
3
+ For docs-only or typo fixes, you can skip the Test plan section.
4
+ -->
5
+
6
+ ## Summary
7
+
8
+ <!-- One paragraph. What does this change and why. Link the issue it resolves. -->
9
+
10
+ Closes #
11
+
12
+ ## Type
13
+
14
+ - [ ] 🐛 Bug fix (non-breaking)
15
+ - [ ] ✨ New feature (non-breaking — new runtime, new fixture, new flag)
16
+ - [ ] 💥 Breaking change (alters failure-block format, removes flag, changes default behavior)
17
+ - [ ] 📖 Documentation only
18
+ - [ ] 🛠️ Build / CI / installer change
19
+ - [ ] ♻️ Refactor (no behavior change)
20
+
21
+ ## Scope checklist
22
+
23
+ <!-- Project philosophy gates — read CONTRIBUTING.md if any of these don't apply. -->
24
+
25
+ - [ ] No new Python runtime dependencies added to `run-pipeline.py`.
26
+ - [ ] No new configuration file introduced.
27
+ - [ ] No third-party tooling auto-installed on behalf of the user.
28
+ - [ ] If the failure-block Markdown shape changed, this is flagged as a breaking change above.
29
+ - [ ] If a new runtime was added, a fixture under `examples/<runtime>-broken/` is included.
30
+
31
+ ## Test plan
32
+
33
+ <!--
34
+ What did you actually run? Include the exact commands and exit codes.
35
+ Untested PRs may sit. Smoke against at least one example fixture.
36
+ -->
37
+
38
+ - [ ] Syntax check: `python3 -c "import py_compile; py_compile.compile('skills/pre-flight-check/scripts/run-pipeline.py', doraise=True)"`
39
+ - [ ] `examples/node-broken/`: ran the pipeline, observed exit `1` + `### ❌ PRE-FLIGHT FAILURE: TYPECHECK`.
40
+ - [ ] `examples/python-broken/`: ran the pipeline, observed exit `1` + `### ❌ PRE-FLIGHT FAILURE: TYPECHECK`.
41
+ - [ ] Tested against a real project I work on (optional but encouraged — describe below).
42
+ - [ ] CI is green.
43
+
44
+ <details>
45
+ <summary>Real-project smoke output (optional)</summary>
46
+
47
+ ```
48
+ <paste output here>
49
+ ```
50
+
51
+ </details>
52
+
53
+ ## SKILL.md impact
54
+
55
+ - [ ] No change to agent contract.
56
+ - [ ] Updated `SKILL.md` to reflect new behavior (describe below).
57
+
58
+ ## Docs
59
+
60
+ - [ ] No user-visible change → no doc update needed.
61
+ - [ ] `README.md` updated.
62
+ - [ ] `INSTALL.md` updated.
63
+ - [ ] `examples/README.md` updated.
64
+ - [ ] N/A — docs-only PR.
65
+
66
+ ## Anything else reviewers should know
67
+
68
+ <!-- Edge cases you noticed, tradeoffs you considered, follow-ups you'd like. -->