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,112 +0,0 @@
1
- ---
2
- description: Analyze code quality for uncommitted changes or recent commits
3
- ---
4
-
5
- # Code Review Helper
6
-
7
- **Purpose**: Provide quick code quality analysis and actionable suggestions for AI agents before committing.
8
-
9
- ## Execution Steps
10
-
11
- Execute the following steps to analyze code changes:
12
-
13
- ### 1. Check for Uncommitted Changes
14
-
15
- ```bash
16
- # Get status of modified and staged files
17
- git status --short
18
- ```
19
-
20
- **Analyze the output**:
21
- - Lines starting with `M ` or `A ` = Staged files
22
- - Lines starting with ` M` = Modified but not staged
23
- - Lines starting with `??` = Untracked files
24
- - Lines starting with `MM` = Staged and modified again
25
-
26
- ### 2. Analyze Changes
27
-
28
- If changes exist:
29
- ```bash
30
- # Show unstaged changes
31
- git diff
32
-
33
- # Show staged changes
34
- git diff --cached
35
- ```
36
-
37
- **Review each file**:
38
- - Check for code quality issues
39
- - Look for potential bugs or edge cases
40
- - Verify naming conventions
41
- - Check for TODO/FIXME comments
42
-
43
- If no changes:
44
- ```bash
45
- # Suggest reviewing recent commit
46
- git log -1 --stat
47
- ```
48
-
49
- ### 3. Check for Linting Configuration
50
-
51
- ```bash
52
- # Look for common linting config files
53
- ls .ruff.toml .pylintrc pyproject.toml .eslintrc* 2>/dev/null
54
- ```
55
-
56
- **If linting configs found**:
57
- - Python: Suggest `ruff check .` or `pylint <files>`
58
- - JavaScript: Suggest `eslint <files>`
59
- - TypeScript: Suggest `tsc --noEmit`
60
-
61
- ### 4. Generate Concise Output
62
-
63
- Provide analysis in this format (~150 words max):
64
-
65
- ```markdown
66
- ## Code Review
67
-
68
- **Changes**: N files modified (M staged, K unstaged)
69
-
70
- - **file1.py**: Brief assessment of changes
71
- - **file2.ts**: Brief assessment of changes
72
- - **file3.md**: Brief assessment of changes
73
-
74
- **Suggestions**:
75
- - Actionable suggestion 1
76
- - Actionable suggestion 2
77
- - Actionable suggestion 3
78
-
79
- **Next Action**: [Run linter / Commit changes / Review specific pattern]
80
- ```
81
-
82
- ## Important Notes
83
-
84
- - **Be concise**: Target <150 words total output
85
- - **Be actionable**: Every suggestion should be specific and doable
86
- - **Handle edge cases gracefully**:
87
- - No changes → Suggest reviewing recent commits or starting new work
88
- - Too many files (>20) → Sample most recently modified, note total count
89
- - Binary files → Skip analysis, just report count
90
- - Linter not installed → Suggest installation but don't error
91
-
92
- - **Cross-platform**: Use git commands (available everywhere)
93
- - **Focus on quick wins**: Highlight obvious improvements, not deep analysis
94
-
95
- ## Example Output
96
-
97
- ```markdown
98
- ## Code Review
99
-
100
- **Changes**: 3 files modified (2 staged, 1 unstaged)
101
-
102
- - **src/commands/review.md**: New command template, follows /orient pattern well
103
- - **src/prompts/review.prompt.md**: Copilot version, mirrors Claude structure
104
- - **README.md**: Added /review to command list (unstaged)
105
-
106
- **Suggestions**:
107
- - Add example output section to both templates
108
- - Stage README.md with the template changes
109
- - Consider running spell check on documentation
110
-
111
- **Next Action**: Add examples, stage all files, then run /commit
112
- ```
@@ -1,150 +0,0 @@
1
- ---
2
- description: Quickly orient to project context, installed kits, and current state
3
- ---
4
-
5
- # Agent Orientation Protocol
6
-
7
- **Purpose**: Provide concise project orientation for AI agents at start of work session.
8
-
9
- ## Execution Steps
10
-
11
- Execute the following steps to gather orientation information:
12
-
13
- ### 1. Detect Installed Kits
14
-
15
- Check for kit marker files to determine what's installed:
16
-
17
- ```powershell
18
- # Check all kits in one efficient operation
19
- $KITS_INSTALLED = @()
20
- if (Test-Path .github/prompts/orient.prompt.md) { $KITS_INSTALLED += "project" }
21
- if (Test-Path .github/prompts/commit.prompt.md) { $KITS_INSTALLED += "git" }
22
- if (Test-Path .specify/memory/pr-workflow-guide.md) { $KITS_INSTALLED += "multiagent" }
23
- $KITS_LIST = if ($KITS_INSTALLED.Count -gt 0) { $KITS_INSTALLED -join ", " } else { "vanilla only" }
24
- ```
25
-
26
- ### 2. Determine Agent Role
27
-
28
- Identify which agent you are and your role:
29
-
30
- ```powershell
31
- # Detect model and interface
32
- $MODEL = "Grok Code Fast 1" # Default Grok model for GitHub Copilot, adjust based on actual model used
33
- $INTERFACE = "GitHub Copilot"
34
- $AGENT_ROLE = "$MODEL @ $INTERFACE (Specialist)"
35
- ```
36
-
37
- ### 3. Read Primary Documentation
38
-
39
- Read these files in order (if they exist):
40
-
41
- 1. **`.github/copilot-instructions.md`** - Project overview, stack, conventions
42
- 2. **`.specify/memory/constitution.md`** - Project philosophy and principles
43
- 3. **`README.md`** - General project information
44
-
45
- Extract:
46
- - Project name and description
47
- - Technology stack
48
- - Key architectural decisions
49
- - Development conventions
50
-
51
- ### 4. Check Git State
52
-
53
- ```powershell
54
- # Efficient single-command git status check
55
- # Get branch, recent commits, and changes in one go
56
- $CURRENT_BRANCH = git branch --show-current 2>$null
57
- if (-not $CURRENT_BRANCH) { $CURRENT_BRANCH = "not in git repo" }
58
- $RECENT_COMMITS = (git log --oneline -3 2>$null | Select-Object -First 1)
59
- $CHANGES = (git status --short 2>$null | Measure-Object).Count
60
- ```
61
-
62
- ### 5. Check Active Work
63
-
64
- Look for active feature work:
65
-
66
- ```powershell
67
- # Check if current branch matches a spec directory
68
- if ($CURRENT_BRANCH -match '^\d+' -or $CURRENT_BRANCH -match '^dev/\d+') {
69
- # Extract spec number from branch name
70
- $SPEC_NUM = if ($CURRENT_BRANCH -match '\d+') { $Matches[0] } else { $null }
71
- if ($SPEC_NUM) {
72
- $SPEC_DIR = Get-ChildItem -Path "specs/$SPEC_NUM-*" -Directory -ErrorAction SilentlyContinue | Select-Object -First 1
73
- if ($SPEC_DIR) {
74
- $SPEC_FILES = @("spec.md", "plan.md", "tasks.md") | Where-Object { Test-Path "$($SPEC_DIR.FullName)/$_" }
75
- }
76
- }
77
- }
78
- ```
79
-
80
- ### 6. Check Multi-Agent Coordination (if multiagent-kit installed)
81
-
82
- ```powershell
83
- # Only check if multiagent kit is installed
84
- if ($KITS_INSTALLED -contains "multiagent") {
85
- # Efficient check for collaboration activity
86
- $ACTIVE_SESSIONS = (Get-ChildItem -Path specs/*/collaboration/active/sessions/ -Filter *.md -Recurse -ErrorAction SilentlyContinue).Count
87
- $PENDING_HANDOFF = Get-ChildItem -Path specs/*/collaboration/active/decisions/ -Filter handoff-*.md -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1
88
- }
89
- ```
90
-
91
- ### 7. Generate Concise Output
92
-
93
- Provide a **concise summary** (~150 words max) in this format:
94
-
95
- ```
96
- ## Orientation Complete
97
-
98
- **Installed Kits**: [$KITS_LIST]
99
-
100
- **I am**: [$AGENT_ROLE from step 2]
101
- **Project**: [project name from docs]
102
- **Stack**: [main technologies]
103
- **Branch**: [$CURRENT_BRANCH]
104
- **Recent work**: [$RECENT_COMMITS - just the message]
105
- **Uncommitted changes**: [$CHANGES count]
106
- **Active feature**: [current spec if $SPEC_FILES exists]
107
- **Coordination**: [solo work / handoff pending / etc]
108
-
109
- **Next suggested action**: [based on state analysis below]
110
- ```
111
-
112
- ### 8. Suggest Next Action
113
-
114
- Based on the state you discovered, suggest the next logical action:
115
-
116
- **Decision logic**:
117
-
118
- - **No spec on current branch** → "Run `/specify` to start a new feature"
119
- - **Spec exists, no plan** → "Run `/plan` to create implementation plan"
120
- - **Plan exists, no tasks** → "Run `/tasks` to break down into tasks"
121
- - **Tasks exist** → "Run `/implement` to start coding"
122
- - **Handoff detected** (multiagent) → "Review handoff in `specs/[feature]/collaboration/active/decisions/`"
123
- - **Uncommitted changes** → "Review changes and consider running `/commit`" (if git-kit installed)
124
-
125
- ## Important Notes
126
-
127
- - Keep output **concise** - this is an orientation, not a full analysis
128
- - Focus on **actionable context** - what the agent needs to know right now
129
- - **Don't modify any files** - this is read-only orientation
130
- - If documentation is missing, note it briefly and continue
131
- - Gracefully handle missing files (don't error if docs don't exist)
132
-
133
- ## Example Output
134
-
135
- ```
136
- ## Orientation Complete
137
-
138
- **Installed Kits**: project, git
139
-
140
- **I am**: Grok Code Fast 1 @ GitHub Copilot (Specialist)
141
- **Project**: Blog Platform API (TypeScript/Node.js)
142
- **Stack**: Node.js, Express, PostgreSQL, TypeScript
143
- **Branch**: dev/003-user-authentication
144
- **Recent work**: Added JWT token validation (2 commits today)
145
- **Uncommitted changes**: 3 modified files
146
- **Active feature**: specs/003-user-authentication/ (spec + plan complete)
147
- **Coordination**: Solo work
148
-
149
- **Next suggested action**: Run `/tasks` to break down the implementation plan into actionable tasks.
150
- ```
@@ -1,112 +0,0 @@
1
- ---
2
- description: Analyze code quality for uncommitted changes or recent commits
3
- ---
4
-
5
- # Code Review Helper
6
-
7
- **Purpose**: Provide quick code quality analysis and actionable suggestions for AI agents before committing.
8
-
9
- ## Execution Steps
10
-
11
- Execute the following steps to analyze code changes:
12
-
13
- ### 1. Check for Uncommitted Changes
14
-
15
- ```powershell
16
- # Get status of modified and staged files
17
- git status --short
18
- ```
19
-
20
- **Analyze the output**:
21
- - Lines starting with `M ` or `A ` = Staged files
22
- - Lines starting with ` M` = Modified but not staged
23
- - Lines starting with `??` = Untracked files
24
- - Lines starting with `MM` = Staged and modified again
25
-
26
- ### 2. Analyze Changes
27
-
28
- If changes exist:
29
- ```powershell
30
- # Show unstaged changes
31
- git diff
32
-
33
- # Show staged changes
34
- git diff --cached
35
- ```
36
-
37
- **Review each file**:
38
- - Check for code quality issues
39
- - Look for potential bugs or edge cases
40
- - Verify naming conventions
41
- - Check for TODO/FIXME comments
42
-
43
- If no changes:
44
- ```powershell
45
- # Suggest reviewing recent commit
46
- git log -1 --stat
47
- ```
48
-
49
- ### 3. Check for Linting Configuration
50
-
51
- ```powershell
52
- # Look for common linting config files
53
- Get-ChildItem -Path . -Include .ruff.toml,.pylintrc,pyproject.toml,.eslintrc* -Recurse -ErrorAction SilentlyContinue
54
- ```
55
-
56
- **If linting configs found**:
57
- - Python: Suggest `ruff check .` or `pylint <files>`
58
- - JavaScript: Suggest `eslint <files>`
59
- - TypeScript: Suggest `tsc --noEmit`
60
-
61
- ### 4. Generate Concise Output
62
-
63
- Provide analysis in this format (~150 words max):
64
-
65
- ```markdown
66
- ## Code Review
67
-
68
- **Changes**: N files modified (M staged, K unstaged)
69
-
70
- - **file1.py**: Brief assessment of changes
71
- - **file2.ts**: Brief assessment of changes
72
- - **file3.md**: Brief assessment of changes
73
-
74
- **Suggestions**:
75
- - Actionable suggestion 1
76
- - Actionable suggestion 2
77
- - Actionable suggestion 3
78
-
79
- **Next Action**: [Run linter / Commit changes / Review specific pattern]
80
- ```
81
-
82
- ## Important Notes
83
-
84
- - **Be concise**: Target <150 words total output
85
- - **Be actionable**: Every suggestion should be specific and doable
86
- - **Handle edge cases gracefully**:
87
- - No changes → Suggest reviewing recent commits or starting new work
88
- - Too many files (>20) → Sample most recently modified, note total count
89
- - Binary files → Skip analysis, just report count
90
- - Linter not installed → Suggest installation but don't error
91
-
92
- - **Cross-platform**: Use git commands (available everywhere)
93
- - **Focus on quick wins**: Highlight obvious improvements, not deep analysis
94
-
95
- ## Example Output
96
-
97
- ```markdown
98
- ## Code Review
99
-
100
- **Changes**: 3 files modified (2 staged, 1 unstaged)
101
-
102
- - **src/commands/review.md**: New command template, follows /orient pattern well
103
- - **src/prompts/review.prompt.md**: Copilot version, mirrors Claude structure
104
- - **README.md**: Added /review to command list (unstaged)
105
-
106
- **Suggestions**:
107
- - Add example output section to both templates
108
- - Stage README.md with the template changes
109
- - Consider running spell check on documentation
110
-
111
- **Next Action**: Add examples, stage all files, then run /commit
112
- ```
@@ -1,163 +0,0 @@
1
- ---
2
- description: Generate concise project metrics for AI agent orientation
3
- ---
4
-
5
- # Project Statistics
6
-
7
- **Purpose**: Provide quick project overview metrics for AI agents joining a project or assessing scope.
8
-
9
- ## Execution Steps
10
-
11
- Execute the following steps to gather project statistics:
12
-
13
- ### 1. Count Lines of Code
14
-
15
- **Preferred method** (if tokei installed):
16
- ```powershell
17
- # Check if tokei is available
18
- Get-Command tokei -ErrorAction SilentlyContinue
19
-
20
- # If available, use tokei for fast, accurate counts
21
- tokei --output json
22
- ```
23
-
24
- **Fallback method** (if tokei not available):
25
- ```powershell
26
- # Python
27
- (Get-ChildItem -Recurse -Filter *.py | Get-Content | Measure-Object -Line).Lines
28
-
29
- # JavaScript/TypeScript
30
- (Get-ChildItem -Recurse -Include *.js,*.ts | Get-Content | Measure-Object -Line).Lines
31
-
32
- # Markdown
33
- (Get-ChildItem -Recurse -Filter *.md | Get-Content | Measure-Object -Line).Lines
34
-
35
- # All files combined
36
- (Get-ChildItem -Recurse -File | Get-Content | Measure-Object -Line).Lines
37
- ```
38
-
39
- ### 2. Count Files and Directories
40
-
41
- ```powershell
42
- # Count files (excluding hidden)
43
- (Get-ChildItem -Recurse -File | Where-Object { -not $_.FullName.Contains('\.') }).Count
44
-
45
- # Count directories (excluding hidden)
46
- (Get-ChildItem -Recurse -Directory | Where-Object { -not $_.FullName.Contains('\.') }).Count
47
- ```
48
-
49
- ### 3. Get Git History Summary
50
-
51
- ```powershell
52
- # Total commits
53
- (git log --oneline | Measure-Object).Count
54
-
55
- # Contributor count
56
- (git log --format='%aN' | Sort-Object -Unique).Count
57
-
58
- # Recent activity
59
- git log --oneline -5
60
- ```
61
-
62
- If not a git repository, skip this section.
63
-
64
- ### 4. Check for Test Coverage
65
-
66
- Look for common coverage report files:
67
- ```powershell
68
- # Python coverage files
69
- Get-ChildItem -Path . -Include .coverage,coverage.xml -Recurse -ErrorAction SilentlyContinue
70
- Get-ChildItem -Path htmlcov -Directory -ErrorAction SilentlyContinue
71
-
72
- # JavaScript coverage
73
- Get-ChildItem -Path coverage,.nyc_output -Directory -ErrorAction SilentlyContinue
74
-
75
- # If coverage files exist, try to extract percentage
76
- # Python: coverage report | Select-String TOTAL
77
- # JavaScript: Get-Content coverage/coverage-summary.json | ConvertFrom-Json
78
- ```
79
-
80
- ### 5. Generate Concise Table Output
81
-
82
- Provide stats in this format (~20 lines max):
83
-
84
- ```markdown
85
- ## Project Statistics
86
-
87
- **Code**:
88
- - Language1: X,XXX LOC (NN%)
89
- - Language2: XXX LOC (NN%)
90
- - Language3: XX LOC (NN%)
91
-
92
- **Structure**:
93
- - NN files, NN directories
94
- - NNN commits, N contributors
95
-
96
- **Testing**:
97
- - Coverage: NN% (or N/A)
98
- - Tests: NN files (or N/A)
99
-
100
- **Next Action**: [Explore src/ / Review tests / Check docs]
101
- ```
102
-
103
- ## Important Notes
104
-
105
- - **Be concise**: Keep output under 20 lines
106
- - **Use tables**: Well-formatted markdown tables or lists
107
- - **Handle missing tools**:
108
- - No tokei → Use Get-ChildItem/Measure-Object fallback, note "Basic LOC count"
109
- - Not a git repo → Skip git section, note "No git history"
110
- - No coverage → Show "N/A" gracefully
111
-
112
- - **Percentages**: Calculate language percentages from total LOC
113
- - **Large repos**: If >100k LOC, note "Large project" and consider sampling
114
- - **Speed**: Target <5 second execution time
115
-
116
- ## Edge Cases
117
-
118
- - **No git repository**: Skip git section, show file/LOC stats only
119
- - **No test coverage reports**: Show "Coverage: N/A"
120
- - **Tokei not installed**: Use PowerShell fallback, note in output
121
- - **Very large repo (1M+ LOC)**: Sample or provide high-level summary only
122
- - **No code files**: "Appears to be a documentation-only or data project"
123
-
124
- ## Example Output
125
-
126
- ```markdown
127
- ## Project Statistics
128
-
129
- **Code**:
130
- - Python: 2,453 LOC (87%)
131
- - Markdown: 342 LOC (12%)
132
- - YAML: 28 LOC (1%)
133
- - Total: 2,823 LOC
134
-
135
- **Structure**:
136
- - 45 files, 12 directories
137
- - 127 commits, 3 contributors
138
-
139
- **Testing**:
140
- - Coverage: 78% (via pytest-cov)
141
- - Tests: 23 test files
142
-
143
- **Next Action**: Explore src/ directory to understand core modules
144
- ```
145
-
146
- ```markdown
147
- ## Project Statistics
148
-
149
- **Code** (tokei not available, using basic count):
150
- - Python: ~1,200 lines
151
- - Markdown: ~400 lines
152
- - Total: ~1,600 lines (approximate)
153
-
154
- **Structure**:
155
- - 32 files, 8 directories
156
- - Not a git repository
157
-
158
- **Testing**:
159
- - Coverage: N/A
160
- - Tests: N/A
161
-
162
- **Next Action**: Check if this is a standalone library or tool
163
- ```