π οΈ Developer Guide¶
Welcome to the developer documentation for CTFBridge. This guide is for contributors and advanced users who want to understand how the system works under the hood, extend its capabilities, or develop new features and platform integrations.
π Getting Started¶
Clone the Repository¶
Install Dependencies¶
Run Tests¶
π§± Project Structure¶
ctfbridge.base/β Platform-agnostic service interfaces and base clientctfbridge.core/β Core HTTP logic and shared servicesctfbridge.models/β Data models used throughout the systemctfbridge.platforms/β Platform-specific implementations (CTFd, rCTF, HTB, etc.)ctfbridge.factory.pyβ Entry point for creating the right client based on target URLctfbridge.processors/β Extractors and enrichers for processing challenge metadata
π Dev Docs Overview¶
| Document | Description |
|---|---|
architecture.md |
High-level component architecture |
platforms.md |
Guide to implementing support for a new CTF platform |
services.md |
How to create and extend services like auth or challenges |
models.md |
Details on how models are structured and validated |
errors.md |
Exception types and error-handling conventions |
testing.md |
Writing unit/integration tests, mocking services |
style.md |
Code formatting, typing, and contribution style guidelines |
π€ Contributing¶
We welcome contributions! Please see the CONTRIBUTING.md file for details on pull requests, coding standards, and more.
Have questions or want to suggest an improvement? Open an issue or join the discussion!