DocOps
No description available
Install / Use
/learn @ferdinandobons/DocOpsREADME
DocOps
Stop losing context. Start coding with confidence.
The Problem: Vibe Coding Without a Map
You're using AI to write code. It's fast. It's magical. It's also slowly eroding your understanding of your own codebase.
Every time you prompt "add a payment feature" or "fix the authentication", the AI generates code. You accept it. It works. But:
- You don't fully understand what it did
- You forget how components connect
- The codebase grows, but your mental model doesn't
- Context window limits mean the AI forgets too
After a few weeks:
- You need to change the order flow but can't remember which services are involved
- The AI suggests changes that break hidden dependencies
- You're debugging code you don't recognize
- Documentation? Outdated five commits ago
The paradox: The more AI helps you code, the less you understand your code.
The Solution: Contracts as Source of Truth
DocOps creates contracts — structured documentation files that describe every source file in terms of:
| Section | Purpose | |---------|---------| | DEPENDS ON | What this file uses | | USED BY | What uses this file | | EXPECTS | Requirements for inputs | | GUARANTEES | What it promises to deliver | | FORBIDDEN | What it must NEVER do |
These contracts are:
- AI-generated from your source code
- Human-readable for understanding
- Machine-parseable for AI agents to follow
- Automatically aggregated into system-level documentation
The Philosophy: Shared Responsibility
DocOps is not about AI doing all the work or humans writing all the docs.
It's a collaboration:
| Actor | Role | |-------|------| | AI | Generates initial contract structure, suggests updates, fills in technical details | | Human | Reviews, corrects, adds context, defines constraints and FORBIDDEN rules |
The maintenance of documentation is a shared responsibility:
- AI can create the initial structure and suggest details based on code analysis
- Human can do the same, but also direct the AI's behavior by editing contracts
When you edit a contract:
- You're teaching the AI what matters
- You're constraining future changes to respect your design
- You're documenting intent that code alone can't express
- You're directing future AI actions by defining boundaries and rules
The human shapes the boundaries. The AI fills in the details. Both can initiate, both can refine.
How It Works
# Initialize in your project
docops init
# Generate contracts for all files
docops sync
This creates:
docs/
├── contracts/ # One .contract.md per source file
│ └── src/
│ └── services/
│ └── order_service.contract.md
├── spec/
│ ├── domains.md # Bounded contexts (auto-generated)
│ └── principles.md # System laws from FORBIDDEN sections
└── dependencies.md # Mermaid graph of relationships
Installation
pip install docops
Or from source:
git clone https://github.com/ferdinandobons/DocOps.git
cd DocOps
pip install -e .
Configuration
DocOps supports 100+ LLM providers via LiteLLM. Configure in .env:
Anthropic (Default)
DOCOPS_MODEL=claude-sonnet-4-5-20250929
ANTHROPIC_API_KEY=sk-ant-...
OpenAI
DOCOPS_MODEL=gpt-4o
OPENAI_API_KEY=sk-...
Google Gemini
DOCOPS_MODEL=gemini/gemini-pro
GEMINI_API_KEY=...
Ollama (Free, Local)
DOCOPS_MODEL=ollama/llama3
# No API key needed - runs locally
Azure OpenAI
DOCOPS_MODEL=azure/gpt-4
AZURE_API_KEY=...
AZURE_API_BASE=https://your-resource.openai.azure.com
Other Providers
| Provider | Model Format | API Key Env Var |
|----------|--------------|-----------------|
| Mistral | mistral/mistral-large | MISTRAL_API_KEY |
| Groq | groq/llama-70b | GROQ_API_KEY |
| AWS Bedrock | bedrock/anthropic.claude-v2 | AWS credentials |
| Together AI | together_ai/meta-llama/Llama-3-70b | TOGETHER_API_KEY |
See LiteLLM docs for all supported providers.
Commands
docops init # Initialize DocOps structure
docops sync # Sync contracts for the entire project
docops ai # Show AI agent guidance
docops version # Show version
Targeted Sync
docops sync accepts files and/or directories to sync only specific targets:
docops sync main.py # single file
docops sync src/services/ # entire directory
docops sync main.py src/utils/ lib.py # mix files and dirs
Options
| Flag | Effect |
|------|--------|
| --force | Regenerate contracts even if they already exist |
| --dry-run | Preview what would be generated, without writing files |
docops sync --force # regenerate everything
docops sync main.py --force # regenerate one file
docops sync --dry-run # preview only
For AI Agents
DocOps is designed to work with AI coding assistants. Include this in your AI agent configuration:
Supported Tools
| Tool | Config File |
|------|-------------|
| Cursor | .cursorrules |
| Windsurf | .windsurfrules |
| Cline | .clinerules |
| Claude Code | CLAUDE.md |
| Continue.dev | .continue/config.json |
| Aider | .aider.conf.yml |
Add this to your config file:
## DocOps Integration
This project uses DocOps for normative documentation.
- Run `docops --help` and `docops sync --help` to see available commands and options.
- Run `docops ai` to see the full contract structure, workflow, and constraints.
### Before Making Changes
1. Read `docs/dependencies.md` to understand file relationships
2. Read the contract for any file you plan to modify: `docs/contracts/{path}/{filename}.contract.md`
3. Check FORBIDDEN section to avoid violations
4. Check DEPENDS ON and USED BY to understand impact
### After Making Changes
1. If you modified a file's behavior, update its contract
2. If you added new files, create contracts for them
3. Run `docops sync` to regenerate aggregated docs
4. Verify your changes don't violate any FORBIDDEN rules
### Key Principle
**Contracts are the Source of Truth.** When code and contract disagree, fix the code.
Why This Works
- Contracts survive refactoring — Even when code changes, the contracts document intent
- AI stays aligned — Agents can read contracts before modifying files
- Context is preserved — DEPENDS ON/USED BY create an explicit dependency graph
- Constraints are enforced — FORBIDDEN sections prevent common mistakes
- Understanding scales — System-level docs aggregate from file-level contracts
The DocOps Philosophy
Code changes. Context fades. Contracts persist.
- Don't trust memory — Document everything
- Don't trust AI alone — Contracts constrain it
- Don't trust outdated docs — Regenerate from source
- Don't trust implicit knowledge — Make dependencies explicit
Contributing
Contributions are welcome! Please read our contributing guidelines before submitting a PR.
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run linting
ruff check docops tests
# Run type checking
mypy docops
License
MIT
Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
