lite-kits 0.1.1__py3-none-any.whl → 0.3.1__py3-none-any.whl

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 (63) hide show
  1. lite_kits/__init__.py +56 -4
  2. lite_kits/cli.py +696 -185
  3. lite_kits/core/__init__.py +6 -0
  4. lite_kits/core/banner.py +1 -1
  5. lite_kits/core/conflict_checker.py +115 -0
  6. lite_kits/core/detector.py +140 -0
  7. lite_kits/core/installer.py +236 -351
  8. lite_kits/core/manifest.py +146 -146
  9. lite_kits/core/validator.py +146 -0
  10. lite_kits/kits/README.md +6 -6
  11. lite_kits/kits/dev/README.md +241 -241
  12. lite_kits/kits/dev/{claude/commands → commands/.claude}/audit.md +143 -143
  13. lite_kits/kits/dev/{claude/commands → commands/.claude}/cleanup.md +2 -2
  14. lite_kits/kits/{git/claude/commands → dev/commands/.claude}/commit.md +2 -2
  15. lite_kits/kits/{project/claude/commands → dev/commands/.claude}/orient.md +3 -4
  16. lite_kits/kits/{git/claude/commands → dev/commands/.claude}/pr.md +1 -1
  17. lite_kits/kits/{git/claude/commands → dev/commands/.claude}/review.md +202 -202
  18. lite_kits/kits/{project/claude/commands → dev/commands/.claude}/stats.md +162 -162
  19. lite_kits/kits/{project/github/prompts → dev/commands/.github}/audit.prompt.md +143 -143
  20. lite_kits/kits/{git/github/prompts → dev/commands/.github}/cleanup.prompt.md +2 -2
  21. lite_kits/kits/{git/github/prompts → dev/commands/.github}/commit.prompt.md +2 -2
  22. lite_kits/kits/dev/{github/prompts → commands/.github}/orient.prompt.md +3 -4
  23. lite_kits/kits/{git/github/prompts → dev/commands/.github}/pr.prompt.md +1 -1
  24. lite_kits/kits/{git/github/prompts → dev/commands/.github}/review.prompt.md +202 -202
  25. lite_kits/kits/dev/{github/prompts → commands/.github}/stats.prompt.md +163 -163
  26. lite_kits/kits/kits.yaml +497 -180
  27. lite_kits/kits/multiagent/README.md +6 -6
  28. lite_kits/kits/multiagent/{claude/commands → commands/.claude}/sync.md +331 -331
  29. lite_kits/kits/multiagent/{github/prompts → commands/.github}/sync.prompt.md +73 -69
  30. lite_kits/kits/multiagent/memory/git-worktrees-protocol.md +370 -370
  31. lite_kits/kits/multiagent/memory/parallel-work-protocol.md +536 -536
  32. lite_kits/kits/multiagent/memory/pr-workflow-guide.md +275 -275
  33. lite_kits/kits/multiagent/templates/collaboration-structure/README.md +166 -166
  34. lite_kits/kits/multiagent/templates/decision.md +79 -79
  35. lite_kits/kits/multiagent/templates/handoff.md +95 -95
  36. lite_kits/kits/multiagent/templates/session-log.md +68 -68
  37. lite_kits-0.3.1.dist-info/METADATA +259 -0
  38. lite_kits-0.3.1.dist-info/RECORD +41 -0
  39. {lite_kits-0.1.1.dist-info → lite_kits-0.3.1.dist-info}/licenses/LICENSE +21 -21
  40. lite_kits/kits/dev/claude/commands/commit.md +0 -612
  41. lite_kits/kits/dev/claude/commands/orient.md +0 -146
  42. lite_kits/kits/dev/claude/commands/pr.md +0 -593
  43. lite_kits/kits/dev/claude/commands/review.md +0 -202
  44. lite_kits/kits/dev/claude/commands/stats.md +0 -162
  45. lite_kits/kits/dev/github/prompts/audit.prompt.md +0 -143
  46. lite_kits/kits/dev/github/prompts/cleanup.prompt.md +0 -382
  47. lite_kits/kits/dev/github/prompts/commit.prompt.md +0 -591
  48. lite_kits/kits/dev/github/prompts/pr.prompt.md +0 -603
  49. lite_kits/kits/dev/github/prompts/review.prompt.md +0 -202
  50. lite_kits/kits/git/README.md +0 -365
  51. lite_kits/kits/git/claude/commands/cleanup.md +0 -361
  52. lite_kits/kits/git/scripts/bash/get-git-context.sh +0 -208
  53. lite_kits/kits/git/scripts/powershell/Get-GitContext.ps1 +0 -242
  54. lite_kits/kits/project/README.md +0 -228
  55. lite_kits/kits/project/claude/commands/audit.md +0 -143
  56. lite_kits/kits/project/claude/commands/review.md +0 -112
  57. lite_kits/kits/project/github/prompts/orient.prompt.md +0 -150
  58. lite_kits/kits/project/github/prompts/review.prompt.md +0 -112
  59. lite_kits/kits/project/github/prompts/stats.prompt.md +0 -163
  60. lite_kits-0.1.1.dist-info/METADATA +0 -447
  61. lite_kits-0.1.1.dist-info/RECORD +0 -58
  62. {lite_kits-0.1.1.dist-info → lite_kits-0.3.1.dist-info}/WHEEL +0 -0
  63. {lite_kits-0.1.1.dist-info → lite_kits-0.3.1.dist-info}/entry_points.txt +0 -0
@@ -1,242 +0,0 @@
1
- #Requires -Version 5.1
2
-
3
- <#
4
- .SYNOPSIS
5
- Gathers comprehensive git repository context for AI agents.
6
-
7
- .DESCRIPTION
8
- Collects git status, branch information, recent commits, and change statistics
9
- in a structured format suitable for AI agent orientation and commit workflows.
10
-
11
- .PARAMETER IncludeCommits
12
- Number of recent commits to include (default: 5)
13
-
14
- .PARAMETER IncludeDiff
15
- Include file diff statistics (default: true)
16
-
17
- .PARAMETER Format
18
- Output format: Object, Json, or Text (default: Object)
19
-
20
- .EXAMPLE
21
- Get-GitContext
22
- Returns git context as PowerShell object
23
-
24
- .EXAMPLE
25
- Get-GitContext -Format Text | Write-Host
26
- Displays formatted text output
27
-
28
- .EXAMPLE
29
- Get-GitContext -IncludeCommits 10 -Format Json
30
- Returns last 10 commits as JSON
31
- #>
32
-
33
- [CmdletBinding()]
34
- param(
35
- [Parameter()]
36
- [int]$IncludeCommits = 5,
37
-
38
- [Parameter()]
39
- [switch]$IncludeDiff,
40
-
41
- [Parameter()]
42
- [ValidateSet('Object', 'Json', 'Text')]
43
- [string]$Format = 'Object'
44
- )
45
-
46
- # Check if we're in a git repository
47
- if (-not (git rev-parse --git-dir 2>$null)) {
48
- Write-Error "Not a git repository"
49
- return
50
- }
51
-
52
- # Gather git context
53
- $context = [PSCustomObject]@{
54
- Branch = $null
55
- CommitHash = $null
56
- Status = @{
57
- Staged = @()
58
- Unstaged = @()
59
- Untracked = @()
60
- Counts = @{
61
- Staged = 0
62
- Unstaged = 0
63
- Untracked = 0
64
- }
65
- }
66
- RecentCommits = @()
67
- Remote = @{
68
- Url = $null
69
- Ahead = 0
70
- Behind = 0
71
- Tracking = $null
72
- }
73
- Stats = @{
74
- TotalFiles = 0
75
- Insertions = 0
76
- Deletions = 0
77
- }
78
- }
79
-
80
- # Get current branch
81
- $context.Branch = git branch --show-current
82
-
83
- # Get current commit hash
84
- $context.CommitHash = git rev-parse --short HEAD 2>$null
85
-
86
- # Get git status
87
- $statusLines = git status --porcelain
88
-
89
- foreach ($line in $statusLines) {
90
- if ($line) {
91
- $statusCode = $line.Substring(0, 2)
92
- $filePath = $line.Substring(3)
93
-
94
- # Staged files (first character)
95
- if ($statusCode[0] -match '[MADRC]') {
96
- $context.Status.Staged += [PSCustomObject]@{
97
- Status = $statusCode[0]
98
- Path = $filePath
99
- }
100
- $context.Status.Counts.Staged++
101
- }
102
-
103
- # Unstaged files (second character)
104
- if ($statusCode[1] -match '[MD]') {
105
- $context.Status.Unstaged += [PSCustomObject]@{
106
- Status = $statusCode[1]
107
- Path = $filePath
108
- }
109
- $context.Status.Counts.Unstaged++
110
- }
111
-
112
- # Untracked files
113
- if ($statusCode -eq '??') {
114
- $context.Status.Untracked += [PSCustomObject]@{
115
- Path = $filePath
116
- }
117
- $context.Status.Counts.Untracked++
118
- }
119
- }
120
- }
121
-
122
- # Get remote tracking info
123
- $tracking = git rev-parse --abbrev-ref --symbolic-full-name '@{u}' 2>$null
124
- if ($tracking) {
125
- $context.Remote.Tracking = $tracking
126
-
127
- # Get ahead/behind counts
128
- $aheadBehind = git rev-list --left-right --count HEAD...$tracking 2>$null
129
- if ($aheadBehind) {
130
- $parts = $aheadBehind -split '\s+'
131
- $context.Remote.Ahead = [int]$parts[0]
132
- $context.Remote.Behind = [int]$parts[1]
133
- }
134
- }
135
-
136
- # Get remote URL
137
- $remoteUrl = git remote get-url origin 2>$null
138
- if ($remoteUrl) {
139
- $context.Remote.Url = $remoteUrl
140
- }
141
-
142
- # Get recent commits
143
- if ($IncludeCommits -gt 0) {
144
- $commitFormat = '%H%x00%h%x00%an%x00%ae%x00%ad%x00%s'
145
- $commitLines = git log -n $IncludeCommits --pretty=format:$commitFormat --date=relative
146
-
147
- foreach ($line in $commitLines) {
148
- if ($line) {
149
- $parts = $line -split "`0", 6
150
- $context.RecentCommits += [PSCustomObject]@{
151
- Hash = $parts[0]
152
- ShortHash = $parts[1]
153
- Author = $parts[2]
154
- Email = $parts[3]
155
- Date = $parts[4]
156
- Subject = $parts[5]
157
- }
158
- }
159
- }
160
- }
161
-
162
- # Get diff statistics
163
- if ($IncludeDiff -and $context.Status.Counts.Staged -gt 0) {
164
- $diffStat = git diff --cached --numstat
165
-
166
- foreach ($line in $diffStat) {
167
- if ($line) {
168
- $parts = $line -split '\s+', 3
169
- $insertions = if ($parts[0] -eq '-') { 0 } else { [int]$parts[0] }
170
- $deletions = if ($parts[1] -eq '-') { 0 } else { [int]$parts[1] }
171
-
172
- $context.Stats.Insertions += $insertions
173
- $context.Stats.Deletions += $deletions
174
- $context.Stats.TotalFiles++
175
- }
176
- }
177
- }
178
-
179
- # Output based on format
180
- switch ($Format) {
181
- 'Json' {
182
- $context | ConvertTo-Json -Depth 10
183
- }
184
- 'Text' {
185
- # Formatted text output
186
- Write-Output "==============================================================="
187
- Write-Output "📊 Git Status (on: $($context.Branch)):"
188
- Write-Output "==============================================================="
189
- Write-Output "Staged: $($context.Status.Counts.Staged) files"
190
- Write-Output "Unstaged: $($context.Status.Counts.Unstaged) files"
191
- Write-Output "Untracked: $($context.Status.Counts.Untracked) files"
192
-
193
- if ($context.Remote.Tracking) {
194
- Write-Output ""
195
- Write-Output "Remote: $($context.Remote.Tracking)"
196
- if ($context.Remote.Ahead -gt 0) {
197
- Write-Output " Ahead by $($context.Remote.Ahead) commit(s)"
198
- }
199
- if ($context.Remote.Behind -gt 0) {
200
- Write-Output " Behind by $($context.Remote.Behind) commit(s)"
201
- }
202
- }
203
-
204
- if ($context.Status.Staged.Count -gt 0) {
205
- Write-Output ""
206
- Write-Output "Staged files:"
207
- foreach ($file in $context.Status.Staged) {
208
- Write-Output " $($file.Status) $($file.Path)"
209
- }
210
- }
211
-
212
- if ($context.Status.Unstaged.Count -gt 0) {
213
- Write-Output ""
214
- Write-Output "Unstaged files:"
215
- foreach ($file in $context.Status.Unstaged) {
216
- Write-Output " $($file.Status) $($file.Path)"
217
- }
218
- }
219
-
220
- if ($context.Status.Untracked.Count -gt 0) {
221
- Write-Output ""
222
- Write-Output "Untracked files:"
223
- foreach ($file in $context.Status.Untracked) {
224
- Write-Output " ?? $($file.Path)"
225
- }
226
- }
227
-
228
- if ($context.RecentCommits.Count -gt 0) {
229
- Write-Output ""
230
- Write-Output "Recent commits:"
231
- foreach ($commit in $context.RecentCommits) {
232
- Write-Output " $($commit.ShortHash) $($commit.Subject) ($($commit.Date))"
233
- }
234
- }
235
-
236
- Write-Output "==============================================================="
237
- }
238
- default {
239
- # Return PowerShell object
240
- $context
241
- }
242
- }
@@ -1,228 +0,0 @@
1
- # Project Kit
2
-
3
- **Status**: ✅ Recommended (Default)
4
-
5
- Essential project-level utilities and enhancements for vanilla spec-kit. Includes agent orientation, quality checks, and enhanced feature creation scripts.
6
-
7
- ## What It Adds
8
-
9
- ### Commands (AI Agents)
10
-
11
- | Command | Claude Code | GitHub Copilot | Description |
12
- |---------|-------------|----------------|-------------|
13
- | `/orient` | ✅ | ✅ | Agent orientation protocol (most essential!) |
14
- | `/audit` | 🚧 | 🚧 | Security & quality audit |
15
- | `/stats` | 🚧 | 🚧 | Project statistics |
16
-
17
- ### Scripts (Enhanced Vanilla)
18
-
19
- | Script | Bash | PowerShell | Description |
20
- |--------|------|------------|-------------|
21
- | Feature creation | 🚧 | 🚧 | Custom feature numbering/naming |
22
-
23
- ✅ = Implemented | 🚧 = Coming Soon
24
-
25
- ## Installation
26
-
27
- ### As part of recommended kits:
28
- ```bash
29
- lite-kits install -Recommended # project + git
30
- ```
31
-
32
- ### Individually:
33
- ```bash
34
- lite-kits install -Kit project
35
- ```
36
-
37
- ## What Gets Installed
38
-
39
- ```
40
- your-project/
41
- ├── .claude/commands/ # If Claude Code detected
42
- │ ├── orient.md # ✅ Essential!
43
- │ ├── audit.md # 🚧 Coming Soon
44
- │ └── stats.md # 🚧 Coming Soon
45
- ├── .github/prompts/ # If GitHub Copilot detected
46
- │ ├── orient.prompt.md # ✅ Essential!
47
- │ ├── audit.prompt.md # 🚧 Coming Soon
48
- │ └── stats.prompt.md # 🚧 Coming Soon
49
- └── .specify/scripts/ # Enhanced vanilla scripts
50
- ├── bash/
51
- │ └── create-feature-enhanced.sh # 🚧 Coming Soon
52
- └── powershell/
53
- └── Create-Feature-Enhanced.ps1 # 🚧 Coming Soon
54
- ```
55
-
56
- **Note**: Vanilla spec-kit files are **never modified** - only new files are added.
57
-
58
- ## Commands
59
-
60
- ### `/orient` - Agent Orientation ⭐ ESSENTIAL
61
-
62
- **Purpose**: Help AI agents quickly understand project context before starting work.
63
-
64
- **What it does**:
65
- 1. Reads `.github/copilot-instructions.md` (primary source)
66
- 2. Reads `.specify/memory/constitution.md` (project philosophy)
67
- 3. Checks current git state (branch, recent commits)
68
- 4. Reviews collaboration directories (if multiagent-kit installed)
69
- 5. Determines agent role (Claude = leader, Copilot = specialist)
70
- 6. Outputs concise summary (~150-200 words)
71
-
72
- **Example usage**:
73
- ```
74
- /orient
75
-
76
- ## Orientation Complete - Primary Agent
77
-
78
- **I am**: claude-sonnet-4.5 @ Claude Code (Primary)
79
-
80
- **Project**: Pip-installable add-on for spec-kit
81
-
82
- **Stack**: Python 3.11+, typer, rich
83
-
84
- **Principles**:
85
- - Add-on pattern (no vanilla modifications)
86
- - Cross-platform (Bash + PowerShell)
87
- - Cross-agent (Claude + Copilot)
88
-
89
- **State**: Branch dev/001-starter-kits, 3 files changed
90
-
91
- **Coordination**: Solo work
92
-
93
- **Next**: Implement project-kit structure
94
-
95
- **Confirm?**: Ready to proceed?
96
- ```
97
-
98
- **Why this is essential**: Every AI agent should run `/orient` at the start of each session to get up to speed quickly without wasting tokens.
99
-
100
- ---
101
-
102
- ### `/audit` - Security & Quality Audit (Coming Soon)
103
-
104
- **Purpose**: Scan for security issues and quality problems.
105
-
106
- **What it will do**:
107
- - Scan for hardcoded secrets/credentials
108
- - Check for common vulnerabilities (SQL injection, XSS, CSRF)
109
- - Analyze dependencies for known CVEs
110
- - Verify input validation
111
- - Check file permissions
112
-
113
- ---
114
-
115
- ### `/stats` - Project Statistics (Coming Soon)
116
-
117
- **Purpose**: Show project health metrics.
118
-
119
- **What it will do**:
120
- - Lines of code by language
121
- - Test coverage percentage
122
- - Git activity with agent attribution
123
- - Complexity metrics
124
- - Dependency count
125
- - Health score
126
-
127
- ---
128
-
129
- ## Enhanced Scripts
130
-
131
- ### Feature Creation Enhancement (Coming Soon)
132
-
133
- **Problem**: Vanilla `create-new-feature` script auto-generates feature numbers and uses first 3 words of description for naming.
134
-
135
- **Enhancement**: Full control over feature numbering and naming.
136
-
137
- **Usage** (planned):
138
- ```bash
139
- # Vanilla (auto number, auto name from "Add user authentication system")
140
- .specify/scripts/bash/create-new-feature.sh "Add user authentication system"
141
- # Creates: 003-add-user-authentication
142
-
143
- # Enhanced (custom number and name)
144
- .specify/scripts/bash/create-feature-enhanced.sh --num 010 --name user-auth-v2 "Add user authentication system"
145
- # Creates: 010-user-auth-v2
146
-
147
- # Enhanced (custom number, auto name)
148
- .specify/scripts/bash/create-feature-enhanced.sh --num 007 "Add user authentication system"
149
- # Creates: 007-add-user-authentication
150
- ```
151
-
152
- **Benefits**:
153
- - Match feature numbers to issue/ticket numbers
154
- - Use shorter, clearer names
155
- - Support feature name conventions (e.g., `api-`, `ui-`, `db-` prefixes)
156
-
157
- ---
158
-
159
- ## Use Cases
160
-
161
- ### Solo Developer with AI Agent
162
- **Install**: `--recommended` (includes project-kit)
163
- **Use**: `/orient` at start of every session (essential!)
164
-
165
- ### Team with Multiple Agents
166
- **Install**: `--recommended` + `--kit=multiagent`
167
- **Use**: `/orient` at start of every session
168
-
169
- ### Security-Focused Project
170
- **Install**: `--recommended`
171
- **Use**: `/audit` regularly for security scans
172
-
173
- ### Custom Workflow Needs
174
- **Install**: `--kit=project`
175
- **Use**: Enhanced scripts for precise feature naming
176
-
177
- ---
178
-
179
- ## Configuration
180
-
181
- No configuration needed - works out of the box.
182
-
183
- **Optional customization**:
184
- - Edit `.github/copilot-instructions.md` - Affects `/orient` output
185
- - Edit `.specify/memory/constitution.md` - Project principles for `/review`
186
-
187
- ---
188
-
189
- ## Dependencies
190
-
191
- **None** - project-kit is standalone.
192
-
193
- **Note**: Works great with git-kit for complete workflow automation.
194
-
195
- ---
196
-
197
- ## Compatibility
198
-
199
- - ✅ **Agents**: Claude Code, GitHub Copilot
200
- - ✅ **Platforms**: Linux, macOS, Windows
201
- - ✅ **Shells**: Bash, PowerShell
202
- - ✅ **Vanilla safe**: Only adds new files, never modifies existing
203
-
204
- ---
205
-
206
- ## Uninstall
207
-
208
- ```bash
209
- lite-kits remove -Kit project
210
- ```
211
-
212
- Removes:
213
- - `.claude/commands/{orient,audit,stats}.md`
214
- - `.github/prompts/{orient,audit,stats}.prompt.md`
215
- - `.specify/scripts/{bash,powershell}/create-feature-enhanced.{sh,ps1}`
216
-
217
- ---
218
-
219
- ## Future Enhancements
220
-
221
- Considering for project-kit:
222
- - `/docs` - Generate/update documentation
223
- - `/history` - Show project timeline
224
- - `/dependencies` - Dependency analysis
225
- - `/performance` - Performance profiling
226
- - Template library (api, cli, library, frontend feature templates)
227
-
228
- Suggest more in [GitHub Discussions](https://github.com/tmorgan181/spec-kit-multiagent-lite/discussions).
@@ -1,143 +0,0 @@
1
- ---
2
- description: Perform security analysis on dependencies and code patterns
3
- ---
4
-
5
- # Security Audit Helper
6
-
7
- **Purpose**: Quick security analysis for AI agents working on features involving authentication, data handling, or external dependencies.
8
-
9
- ## Execution Steps
10
-
11
- Execute the following steps to perform a security audit:
12
-
13
- ### 1. Detect Project Type and Dependencies
14
-
15
- ```bash
16
- # Check for Python dependencies
17
- ls requirements.txt pyproject.toml setup.py 2>/dev/null
18
-
19
- # Check for Node.js dependencies
20
- ls package.json package-lock.json 2>/dev/null
21
-
22
- # Check for Rust dependencies
23
- ls Cargo.toml Cargo.lock 2>/dev/null
24
-
25
- # Check for Go dependencies
26
- ls go.mod go.sum 2>/dev/null
27
- ```
28
-
29
- ### 2. Run Dependency Vulnerability Scan
30
-
31
- **Python projects**:
32
- ```bash
33
- # Check if pip-audit is available
34
- command -v pip-audit >/dev/null 2>&1
35
-
36
- # If available, run scan
37
- pip-audit
38
-
39
- # If not available, suggest installation
40
- echo "Install pip-audit: pip install pip-audit"
41
- ```
42
-
43
- **Node.js projects**:
44
- ```bash
45
- # npm audit is built-in
46
- npm audit
47
-
48
- # Or use yarn
49
- yarn audit
50
- ```
51
-
52
- **Other languages**: Suggest appropriate tools (cargo audit, go list, etc.)
53
-
54
- ### 3. Scan for Common Security Anti-Patterns
55
-
56
- Check source code for security issues:
57
-
58
- ```bash
59
- # Look for potential hardcoded secrets
60
- grep -r "API_KEY\s*=\s*['\"]" src/ 2>/dev/null | head -5
61
- grep -r "PASSWORD\s*=\s*['\"]" src/ 2>/dev/null | head -5
62
- grep -r "SECRET\s*=\s*['\"]" src/ 2>/dev/null | head -5
63
-
64
- # Look for weak crypto patterns (Python)
65
- grep -r "md5\|sha1" src/ 2>/dev/null | head -5
66
-
67
- # Look for SQL injection risks
68
- grep -r "execute.*%\|execute.*+" src/ 2>/dev/null | head -5
69
- ```
70
-
71
- **Common patterns to flag**:
72
- - Hardcoded API keys, passwords, tokens
73
- - Weak cryptographic algorithms (MD5, SHA1)
74
- - SQL string concatenation
75
- - Eval/exec with user input
76
- - Insecure file permissions
77
-
78
- ### 4. Generate Concise Report
79
-
80
- Provide analysis in this format (~150 words max):
81
-
82
- ```markdown
83
- ## Security Audit
84
-
85
- **Dependencies**: N scanned, M vulnerabilities found
86
-
87
- **Vulnerabilities** (if any):
88
- - package-name==version: [SEVERITY] - Brief description
89
- - Link to advisory for details
90
-
91
- **Code Patterns** (if any):
92
- - file.py:line: [PATTERN] - Recommendation
93
-
94
- **Next Action**: [Fix CVE-XXXX / Update package / Review auth code]
95
- ```
96
-
97
- ## Important Notes
98
-
99
- - **Graceful fallbacks**: If audit tools not installed, do basic pattern checks only
100
- - **Be concise**: Target <150 words total output
101
- - **Prioritize**: Show highest severity issues first
102
- - **Avoid false positives**: Note that manual review may be needed
103
- - **No dependencies**: Report "No dependencies to audit" gracefully
104
- - **Cross-platform**: Use commands available on Windows, macOS, Linux
105
-
106
- ## Edge Cases
107
-
108
- - **No dependency files**: "No dependencies found. This appears to be a dependency-free project."
109
- - **Tool not installed**: Provide installation command, run basic grep checks
110
- - **No vulnerabilities**: "✅ No known vulnerabilities found! Consider reviewing auth/data handling patterns."
111
- - **Too many issues**: Sample top 5, note total count
112
-
113
- ## Example Output
114
-
115
- ```markdown
116
- ## Security Audit
117
-
118
- **Dependencies**: 12 scanned, 2 vulnerabilities found
119
-
120
- **Vulnerabilities**:
121
- - requests==2.25.0: MEDIUM - CVE-2023-32681 (Proxy-Auth header leak)
122
- Update to: requests>=2.31.0
123
-
124
- **Code Patterns**:
125
- - src/auth.py:42: Hardcoded API key detected
126
- - src/db.py:103: SQL string concatenation (injection risk)
127
-
128
- **Next Action**: Update requests package, move API key to environment variables, use parameterized queries
129
- ```
130
-
131
- ```markdown
132
- ## Security Audit
133
-
134
- **Dependencies**: pip-audit not installed
135
-
136
- **Tool Not Available**:
137
- Install pip-audit for vulnerability scanning:
138
- `pip install pip-audit`
139
-
140
- **Code Patterns**: Basic grep checks performed, no obvious issues found
141
-
142
- **Next Action**: Install pip-audit and re-run for comprehensive dependency scan
143
- ```