Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copy this file to .env and add your actual API keys
# Never commit .env to git!

# Required for most projects
ANTHROPIC_API_KEY=your_anthropic_api_key_here

# Optional: For OpenAI-based features
OPENAI_API_KEY=your_openai_api_key_here

# Optional: For GitHub integration (code-reviewer)
GITHUB_TOKEN=your_github_token_here

# Get your keys from:
# - Anthropic (Claude): https://console.anthropic.com/
# - OpenAI (GPT): https://platform.openai.com/api-keys
# - GitHub: https://github.com/settings/tokens
11 changes: 11 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# GitHub Sponsors & Funding

github: [josharsh]
# patreon: user
# open_collective: project
# ko_fi: user
# tidelift: npm/package
# community_bridge: project
# liberapay: user
# issuehunt: user
# custom: ['https://www.buymeacoffee.com/user', 'https://paypal.me/user']
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
name: Bug Report
about: Report a bug to help us improve
title: '[BUG] '
labels: bug
assignees: ''
---

## 🐛 Bug Description
A clear and concise description of what the bug is.

## 📦 Which Tool?
- [ ] AI Agent
- [ ] MCP Server
- [ ] Code Reviewer
- [ ] Mini RAG
- [ ] Commit AI
- [ ] Voice to Code
- [ ] Terminal AI
- [ ] Other (specify)

## 🔄 Steps to Reproduce
1. Run '...'
2. Do '...'
3. See error

## ✅ Expected Behavior
What you expected to happen.

## ❌ Actual Behavior
What actually happened.

## 💻 Environment
- OS: [e.g., macOS 14, Ubuntu 22.04, Windows 11]
- Python version: [e.g., 3.11.5]
- Installation method: [pip, git clone, install.sh]

## 📋 Additional Context
Add any other context about the problem here. Include error messages, logs, or screenshots if applicable.

```
# Paste relevant error messages here
```
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Feature Request
about: Suggest a new AI tool or improvement
title: '[FEATURE] '
labels: enhancement
assignees: ''
---

## 💡 Feature Type
- [ ] New AI tool (under 100 lines!)
- [ ] Improvement to existing tool
- [ ] Documentation improvement
- [ ] Other

## 🎯 Problem/Need
What problem does this solve? What need does it address?

## 💭 Proposed Solution
Describe the feature you'd like to see.

## 📏 Line Count Estimate
If proposing a new tool, estimate how many lines it would need (must be ≤100).

## 🔧 Alternatives Considered
Have you considered any alternative solutions?

## 📝 Example Usage
Show how the feature would be used:

```bash
# Example command or code
python my-tool/tool.py "example input"
```

## 🎨 Additional Context
Add any other context, screenshots, or examples about the feature request.

## 🌟 Why This Would Be Awesome
Explain why this would be valuable to the community.
57 changes: 57 additions & 0 deletions .github/ISSUE_TEMPLATE/new_tool.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
name: New AI Tool
about: Propose a new AI tool for the collection
title: '[NEW TOOL] '
labels: new-tool, enhancement
assignees: ''
---

## 🤖 Tool Name
What should this tool be called?

## 🎯 What It Does (One Line)
Describe in one sentence (like a tweet).

## 💪 Key Features
- Feature 1
- Feature 2
- Feature 3

## 🔥 Why It's Trending/Useful
Why would developers want this? What problem does it solve?

## 📏 Complexity
- Estimated lines: [must be ≤100]
- Difficulty: [Easy/Medium/Hard]
- Dependencies: [List any required packages]

## 💡 Example Usage

```bash
python new-tool/tool.py "example command"
```

**Expected output:**
```
Example output here
```

## 🏗️ Implementation Ideas
Brief notes on how it could be implemented:

1. Step 1
2. Step 2
3. Step 3

## 🌟 Similar Tools
Are there existing tools this is inspired by?

## 🎁 Bonus
Anything else that makes this tool special?

---

**Would you like to implement this yourself?**
- [ ] Yes, I'll submit a PR!
- [ ] No, just suggesting
- [ ] I can help if needed
104 changes: 104 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
## 📝 Description

Brief description of what this PR does.

## 🎯 Type of Change

- [ ] 🐛 Bug fix (non-breaking change which fixes an issue)
- [ ] ✨ New feature (non-breaking change which adds functionality)
- [ ] 🤖 New AI tool (adds a new tool under 100 lines)
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] 📚 Documentation update
- [ ] 🎨 Code style update (formatting, renaming)
- [ ] ♻️ Refactoring (no functional changes)
- [ ] ⚡ Performance improvement
- [ ] ✅ Test update
- [ ] 🔧 Configuration change
- [ ] 🔒 Security fix

## 📦 Which Tool(s)?

- [ ] AI Agent
- [ ] MCP Server
- [ ] Code Reviewer
- [ ] Mini RAG
- [ ] Commit AI
- [ ] Voice to Code
- [ ] Terminal AI
- [ ] Infrastructure/Docs
- [ ] New Tool: ___________

## 📏 Line Count Check (for new tools or major changes)

If adding/modifying a tool:
```bash
# Command used to count lines:
grep -v '^\s*#' tool.py | grep -v '^\s*$' | wc -l

# Result: ___ lines
```

- [ ] Tool is ≤100 lines (excluding blank lines and pure comments)
- [ ] Tool has comprehensive docstrings
- [ ] Tool has type hints

## ✅ Checklist

- [ ] My code follows the project's style guidelines
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works (if applicable)
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published

## 📖 Documentation

- [ ] README updated (if needed)
- [ ] Tool-specific README created/updated
- [ ] Examples added/updated
- [ ] CHANGELOG.md updated

## 🧪 Testing

Describe the tests you ran:

```bash
# Example commands used to test
python tool/main.py --test
```

**Test results:**
- [ ] All tests passed
- [ ] Tested on multiple Python versions
- [ ] Tested with real API calls
- [ ] Edge cases handled

## 🖼️ Screenshots/Demos (if applicable)

Add screenshots or demo GIFs showing the feature/fix in action.

## 💡 Additional Context

Add any other context about the PR here.

## 🔗 Related Issues

Closes #(issue number)
Related to #(issue number)

## 📊 Impact

- **Breaking changes**: Yes/No
- **Performance impact**: None/Positive/Negative
- **Security impact**: None/Positive/Addresses vulnerability

## 🎁 Bonus

Any additional improvements or considerations?

---

**Reviewer Notes:**
@reviewer please pay special attention to: ___________
63 changes: 63 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: CI

on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt

- name: Lint with pylint (optional)
run: |
pip install pylint
# Check syntax only, don't fail on style issues
find . -name "*.py" -not -path "./venv/*" -not -path "./.venv/*" | xargs pylint --errors-only || true

- name: Check code format with black
run: |
pip install black
black --check . || true

- name: Security check
run: |
pip install bandit
bandit -r . -ll || true

line-count-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Verify all tools are under 100 lines
run: |
echo "🔍 Checking line counts..."
for tool in ai-agent/agent.py mcp-server/server.py code-reviewer/reviewer.py mini-rag/rag.py commit-ai/commit.py voice-to-code/voice.py terminal-ai/terminal.py; do
if [ -f "$tool" ]; then
lines=$(grep -v '^\s*#' "$tool" | grep -v '^\s*$' | wc -l)
echo "📝 $tool: $lines lines"
if [ "$lines" -gt 100 ]; then
echo "❌ $tool exceeds 100 lines!"
exit 1
fi
fi
done
echo "✅ All tools are under 100 lines!"
Loading
Loading