Skip to content
Open
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
11 changes: 10 additions & 1 deletion .secrets.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,16 @@
"is_verified": false,
"line_number": 89
}
],
"docs/openapi.yaml": [
{
"type": "Base64 High Entropy String",
"filename": "docs/openapi.yaml",
"hashed_secret": "0000000000000000000000000000000000000000",
"is_verified": false,
"line_number": 598
}
]
},
"generated_at": "2026-04-19T18:26:43Z"
"generated_at": "2026-04-20T09:00:00Z"
}
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,7 @@ bindu/
**Last Updated**: 2026-03-30
**Maintainer**: Bindu Team
**Questions?** Check docs/ or open an issue on GitHub
**Questions?** Check docs/ or open an issue on GitHub
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Remove duplicate line.

Line 366 is an exact duplicate of line 365, creating redundant text in the documentation.

📝 Proposed fix to remove the duplicate
 **Questions?** Check docs/ or open an issue on GitHub
-**Questions?** Check docs/ or open an issue on GitHub
 
 # CLAUDE.md - Full Content
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**Questions?** Check docs/ or open an issue on GitHub
**Questions?** Check docs/ or open an issue on GitHub
# CLAUDE.md - Full Content
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CLAUDE.md` at line 366, Remove the exact duplicate sentence that appears
twice in succession ("Questions? Check docs/ or open an issue on GitHub") by
deleting the redundant copy so the paragraph contains only a single instance;
search for the repeated string in CLAUDE.md and remove the second occurrence to
eliminate the redundancy.


# CLAUDE.md - Full Content

Expand Down
227 changes: 227 additions & 0 deletions CONTRIBUTION_OPPORTUNITIES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
# Bindu - Contribution Opportunities

This document outlines all the ways you can contribute to Bindu, based on the project's current needs, roadmap, and areas for improvement.

---

## Quick Summary

| Area | Priority | Difficulty | Good For |
|------|----------|------------|----------|
| Test Coverage | 🔴 High | Easy-Medium | Beginners |
| Rust SDK | 🟡 Medium | Hard | Advanced |
| AP2 Protocol | 🟡 Medium | Medium | Intermediate |
| DSPy Integration | 🟡 Medium | Medium | Intermediate |
| Frontend Features | 🟡 Medium | Easy-Medium | Frontend devs |
| Documentation | 🟢 Low | Easy | Writers |
| Bug Fixes | 🟡 Medium | Varies | All |

---

## 1. Test Coverage (High Priority)

The project targets **70%+ coverage** (goal: 80%). The `coverage.json` shows many files with lower coverage.

### Files with Low Coverage (from coverage.json):
- `bindu/__version__.py` - 38% covered
- `bindu/server/task_manager.py` - needs more tests
- `bindu/penguin/did_setup.py` - needs tests
- `bindu/grpc/` - gRPC client/server tests needed
- `bindu/tunneling/` - tunneling tests needed

### How to Contribute:
```bash
# See what's missing
uv run pytest --cov=bindu --cov-report=term-missing

# Add tests to tests/unit/
# Follow patterns in tests/unit/test_*.py
```

**Good First Issues**: Test the scheduler, storage layer, or add E2E tests.

---

## 2. Roadmap Items (Official Needs)

From README.md roadmap:

### In Progress:
- **DSPy integration** - Basic example exists, needs expansion
- **Increase test coverage to 80%** - Ongoing effort

### Not Started:
- **AP2 end-to-end support** - Agentic commerce protocol
- **Rust SDK** - Language-agnostic support
- **MLTS support** - Multi-language task support
- **X402 with other facilitators** - Beyond Base blockchain

### How to Contribute:
- AP2 integration: Study `docs/PAYMENT.md` and the X402 implementation in `bindu/extensions/x402/`
- Rust SDK: Follow patterns in `sdks/typescript/` and `sdks/kotlin/`

---

## 3. Code TODOs (Immediate Fixes)

Found in the codebase:
- `bindu/server/workers/base.py`:
- `TODO: Implement task pause functionality`
- `TODO: Implement task resume functionality`

These are concrete features to implement.

---

## 4. Frontend Contributions (Svelte)

The frontend at `frontend/` is a **SvelteKit** app (not React).

### Areas Needing Work:
- Enhanced agent management UI
- Better real-time updates
- Mobile responsiveness improvements
- Accessibility (partially done)

### Tech Stack:
- SvelteKit
- Tailwind CSS
- TypeScript

### How to Contribute:
```bash
cd frontend
npm install
npm run dev # Runs on port 5173
```

---

## 5. SDK Development

### TypeScript SDK (`sdks/typescript/`)
- Add more examples
- Improve error handling
- Add streaming support documentation

### Kotlin SDK (`sdks/kotlin/`)
- Basic implementation exists
- Needs more examples and documentation

### What Needs Building:
- **Rust SDK** - High priority, no implementation yet

---

## 6. Documentation

### Needs Updates:
- GRPC documentation (`docs/grpc/`)
- More examples for each agent framework
- API reference generation
- Translation updates (README files exist in 9 languages)

### Documentation Files:
- `docs/AUTHENTICATION.md`
- `docs/PAYMENT.md`
- `docs/STORAGE.md`
- `docs/SCHEDULER.md`
- `docs/SKILLS.md`
- `docs/NEGOTIATION.md`
- `docs/TUNNELING.md`
- `docs/NOTIFICATIONS.md`
- `docs/OBSERVABILITY.md`
- `docs/DID.md`
- `docs/HEALTH_METRICS.md`
- `docs/GRPC_LANGUAGE_AGNOSTIC.md`
- `docs/MTLS_DEPLOYMENT_GUIDE.md`
- `docs/VAULT_INTEGRATION.md`

---

## 7. Agent Framework Integrations

The project supports:
- Python: AG2, Agno, CrewAI, LangChain, LangGraph, LlamaIndex, FastAgent
- TypeScript: OpenAI SDK, LangChain.js
- Kotlin: OpenAI Kotlin SDK
- Any language via gRPC

### How to Add a New Framework:
1. Create example in `examples/<framework>-example/`
2. Document in README
3. Add to supported frameworks list

---

## 8. Examples to Build

Looking at `examples/`, there's a gap:
- ✅ beginner/ - Good collection
- ✅ agent_swarm/ - Multi-agent
- ✅ medical_agent/
- ✅ pdf_research_agent/
- ❌ **More swarm examples**
- ❌ **Real-world production examples**
- ❌ **Edge AI / embedded examples**

---

## 9. Bug Fixes & Features

Check GitHub issues for:
- Open bugs
- Feature requests
- Good first issue标签

---

## How to Start Contributing

### 1. Set Up Development Environment
```bash
git clone https://github.com/getbindu/Bindu.git
cd Bindu
uv venv --python 3.12.9
source .venv/bin/activate
uv sync --dev
pre-commit run --all-files
```

### 2. Run Tests to Verify Setup
```bash
uv run pytest tests/unit/ -v
```

### 3. Pick an Area
- **Beginner**: Add tests to under-covered files
- **Intermediate**: Fix TODOs, add features
- **Advanced**: Build Rust SDK, implement AP2

### 4. Join the Community
- **Discord**: https://discord.gg/3w5zuYUuwt
- **Discussions**: GitHub Discussions
- **Weekly meetups** - Check Discord for schedule

---

## Project Standards

- **Python**: 3.12+, async/await patterns
- **Testing**: pytest, 70%+ coverage target
- **Code Style**: Ruff, pre-commit hooks required
- **Commits**: Conventional commits preferred
- **PRs**: All tests must pass, coverage should not decrease

---

## Key Contacts

- **Lead Maintainer**: Raahul Dutta (@raahul) - `raahul@getbindu.com`
- **Discord**: https://discord.gg/3w5zuYUuwt
- **Website**: https://getbindu.com
- **Docs**: https://docs.getbindu.com

---

*Last updated: 2026-04-10* PROJECT_CONTEXT.md TEST_CONTRIBUTION_PLAN.md
Comment on lines +1 to +227
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Scope + stale content + stray non-English text.

Three issues with this file:

  1. Scope creep — like PROJECT_CONTEXT.md, this is a general contributor-guide addition unrelated to issue #383. Per the retrieved learning on keeping PRs focused, please move it to a separate docs PR.
  2. Stale after this PR — Lines 68–70 list the pause/resume TODOs in bindu/server/workers/base.py as open contribution opportunities, but this very PR implements them. Shipping both together publishes contradictory guidance on day one.
  3. Stray Chinese text — Line 175: 好的 first issue标签 contains 标签 (Chinese for "tag/label"), which looks accidental. Should be good first issue label.

Additional nits if kept:

  • Lines 59, 123: MD040 — add language to fenced code blocks.
  • Line 227: trailing PROJECT_CONTEXT.md TEST_CONTRIBUTION_PLAN.md after the "Last updated" line looks like leftover paste.
♻️ Suggested diff for the stale TODOs and stray text
-## 3. Code TODOs (Immediate Fixes)
-
-Found in the codebase:
-- `bindu/server/workers/base.py`:
-  - `TODO: Implement task pause functionality`
-  - `TODO: Implement task resume functionality`
-
-These are concrete features to implement.
+## 3. Code TODOs (Immediate Fixes)
+
+Search the codebase for `TODO`/`FIXME` markers in `bindu/` for current opportunities.
@@
-- Good first issue标签
+- `good first issue` label
@@
-*Last updated: 2026-04-10* PROJECT_CONTEXT.md TEST_CONTRIBUTION_PLAN.md
+*Last updated: 2026-04-10*
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)

[warning] 59-59: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


[warning] 123-123: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTION_OPPORTUNITIES.md` around lines 1 - 227, This file mixes
unrelated scope and stale content: move the entire CONTRIBUTION_OPPORTUNITIES.md
changes to a separate docs-only PR (don't include it in the issue `#383` PR);
remove the now-stale entries that claim `TODO: Implement task pause
functionality` and `TODO: Implement task resume functionality` (these TODOs in
the codebase were implemented by this PR, so delete or update those lines
referencing those TODOs); fix the stray non-English token by changing `好的 first
issue标签` to `good first issue label`; add language identifiers to all fenced
code blocks to satisfy MD040; and remove the trailing pasted tokens
`PROJECT_CONTEXT.md TEST_CONTRIBUTION_PLAN.md` after the "Last updated" line.

Loading
Loading