chore: bootstrap rdb-discovery
This commit is contained in:
@@ -0,0 +1,294 @@
|
||||
# `/context/development-context.md`
|
||||
|
||||
# Development Environment Context
|
||||
|
||||
This document describes the preferred development workflow, tools, standards, and technology choices used by RDB Solutions Ltd.
|
||||
|
||||
AI coding assistants, IDE agents, and autonomous development tools should read this file before making recommendations or changes.
|
||||
|
||||
---
|
||||
|
||||
# Primary Development Workstation
|
||||
|
||||
## MacBook Pro (Intel)
|
||||
|
||||
Primary software development machine.
|
||||
|
||||
Typical activities:
|
||||
|
||||
- Application development
|
||||
- Repository management
|
||||
- Code reviews
|
||||
- Testing
|
||||
- Infrastructure administration
|
||||
- LLM-assisted development
|
||||
|
||||
---
|
||||
|
||||
# Source Control
|
||||
|
||||
## Gitea
|
||||
|
||||
Primary Git platform.
|
||||
|
||||
Preferences:
|
||||
|
||||
- Gitea is the source of truth.
|
||||
- Do not assume GitHub is available.
|
||||
- Do not recommend GitHub-specific workflows unless explicitly requested.
|
||||
- Pull Requests should be used for significant changes.
|
||||
- Commit messages should be clear and descriptive.
|
||||
|
||||
Preferred commit style:
|
||||
|
||||
```text
|
||||
feat: add VM status endpoint
|
||||
|
||||
fix: correct Jenkins deployment script
|
||||
|
||||
docs: update infrastructure documentation
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# CI/CD
|
||||
|
||||
## Jenkins
|
||||
|
||||
Primary automation platform.
|
||||
|
||||
Current and future responsibilities:
|
||||
|
||||
- Build applications
|
||||
- Run tests
|
||||
- Build Docker images
|
||||
- Deploy services
|
||||
- Run scheduled maintenance tasks
|
||||
- Execute agent-generated work after review
|
||||
|
||||
Preferred pipeline behaviour:
|
||||
|
||||
1. Pull code from Gitea
|
||||
2. Run validation
|
||||
3. Run tests
|
||||
4. Build artefacts
|
||||
5. Deploy to target environment
|
||||
|
||||
Agents should favour Jenkins automation over manual deployment procedures.
|
||||
|
||||
---
|
||||
|
||||
# Containerisation
|
||||
|
||||
## Docker
|
||||
|
||||
Preferred deployment format.
|
||||
|
||||
Goals:
|
||||
|
||||
- Consistent environments
|
||||
- Easier deployment
|
||||
- Simpler rollback
|
||||
- Portable services
|
||||
|
||||
When proposing software:
|
||||
|
||||
Prefer:
|
||||
|
||||
- Docker Compose
|
||||
- Single-container deployments
|
||||
- Simple architecture
|
||||
|
||||
Avoid:
|
||||
|
||||
- Kubernetes unless there is a clear requirement.
|
||||
|
||||
---
|
||||
|
||||
# Database Platforms
|
||||
|
||||
## PostgreSQL
|
||||
|
||||
Preferred database platform.
|
||||
|
||||
Current implementation:
|
||||
|
||||
- Supabase-hosted PostgreSQL
|
||||
|
||||
Preferred characteristics:
|
||||
|
||||
- Relational data model
|
||||
- Strong typing
|
||||
- Auditable schema changes
|
||||
|
||||
---
|
||||
|
||||
# IDEs and Editors
|
||||
|
||||
Current tools may include:
|
||||
|
||||
- VS Code
|
||||
- Cursor
|
||||
- Claude Code
|
||||
- OpenWebUI
|
||||
- Browser-based assistants
|
||||
|
||||
Recommendations should remain editor-agnostic where possible.
|
||||
|
||||
---
|
||||
|
||||
# Local LLM Infrastructure
|
||||
|
||||
## Ollama
|
||||
|
||||
Primary local inference platform.
|
||||
|
||||
Purpose:
|
||||
|
||||
- Local coding assistance
|
||||
- Experimentation
|
||||
- Agent backends
|
||||
- Development support
|
||||
|
||||
## Available Hardware
|
||||
|
||||
LLM Server:
|
||||
|
||||
- RTX 5070 Ti
|
||||
- 16 GB VRAM
|
||||
- 32 GB RAM
|
||||
|
||||
Agents should assume local inference is available.
|
||||
|
||||
---
|
||||
|
||||
# Preferred Models
|
||||
|
||||
Potential models include:
|
||||
|
||||
- Qwen Coder
|
||||
- Qwen3
|
||||
- DeepSeek Coder
|
||||
- Future coding-focused local models
|
||||
|
||||
Model selection should prioritise:
|
||||
|
||||
1. Code quality
|
||||
2. Reasoning ability
|
||||
3. Low operational cost
|
||||
4. Local execution
|
||||
|
||||
---
|
||||
|
||||
# AI-Assisted Development
|
||||
|
||||
RDB actively uses AI-assisted development.
|
||||
|
||||
Expected uses:
|
||||
|
||||
- Code generation
|
||||
- Refactoring
|
||||
- Documentation
|
||||
- Testing
|
||||
- Architecture review
|
||||
- Infrastructure planning
|
||||
|
||||
Agents should produce:
|
||||
|
||||
- Small reviewable changes
|
||||
- Clear reasoning
|
||||
- Minimal surprises
|
||||
|
||||
Avoid:
|
||||
|
||||
- Massive rewrites
|
||||
- Unrequested architecture changes
|
||||
- Hidden behaviour
|
||||
|
||||
---
|
||||
|
||||
# Task Management
|
||||
|
||||
Preferred approach:
|
||||
|
||||
Backlog-driven development.
|
||||
|
||||
Work should be decomposed into:
|
||||
|
||||
- Small tasks
|
||||
- Independent tasks
|
||||
- Reviewable tasks
|
||||
|
||||
Good example:
|
||||
|
||||
```text
|
||||
TASK-001
|
||||
Create API endpoint for VM status
|
||||
|
||||
TASK-002
|
||||
Add frontend status widget
|
||||
|
||||
TASK-003
|
||||
Write integration tests
|
||||
```
|
||||
|
||||
Avoid:
|
||||
|
||||
```text
|
||||
Rewrite the entire application
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Documentation Standards
|
||||
|
||||
Projects should contain:
|
||||
|
||||
```text
|
||||
README.md
|
||||
TASKS.md
|
||||
ARCHITECTURE.md
|
||||
CHANGELOG.md
|
||||
/context/
|
||||
```
|
||||
|
||||
Documentation should always be updated when functionality changes.
|
||||
|
||||
---
|
||||
|
||||
# Deployment Philosophy
|
||||
|
||||
Preferred order:
|
||||
|
||||
Development
|
||||
→ Test
|
||||
→ Staging
|
||||
→ Production
|
||||
|
||||
Production deployments should be repeatable and automated.
|
||||
|
||||
Avoid:
|
||||
|
||||
- Manual server modifications
|
||||
- Untracked configuration changes
|
||||
- Snowflake servers
|
||||
|
||||
---
|
||||
|
||||
# Development Principles
|
||||
|
||||
Prefer:
|
||||
|
||||
- Simplicity
|
||||
- Maintainability
|
||||
- Incremental improvements
|
||||
- Clear documentation
|
||||
- Automation
|
||||
- Reproducibility
|
||||
|
||||
Avoid:
|
||||
|
||||
- Unnecessary complexity
|
||||
- Vendor lock-in
|
||||
- Excessive dependencies
|
||||
- Platform-specific assumptions
|
||||
Reference in New Issue
Block a user