Initialize Aidoit v0.1 monorepo
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# Architecture overview
|
||||
|
||||
## Principles
|
||||
|
||||
1. Single user, but authentication is still mandatory.
|
||||
2. One shared backend for all products.
|
||||
3. Modular monolith before microservices.
|
||||
4. AI harness remains independent from UI applications.
|
||||
5. Tool access is explicitly permissioned per team.
|
||||
6. Long-running work is executed asynchronously.
|
||||
7. Generated artifacts are stored outside the relational database.
|
||||
|
||||
## Products
|
||||
|
||||
### Web
|
||||
|
||||
Application development dashboard for projects, prompts, runs, tasks, preview
|
||||
environments, reviews and deployments.
|
||||
|
||||
### Desktop
|
||||
|
||||
Native Tauri application for local filesystem, shell, Git, Docker, Ollama and
|
||||
desktop application builds.
|
||||
|
||||
### MSP
|
||||
|
||||
Infrastructure dashboard for VPS, Proxmox, LXC, VM, Docker, firewall, reverse
|
||||
proxy, monitoring, updates and backups.
|
||||
|
||||
## Core backend modules
|
||||
|
||||
- authentication
|
||||
- projects
|
||||
- runs
|
||||
- tasks
|
||||
- teams
|
||||
- tools
|
||||
- artifacts
|
||||
- builds
|
||||
- deployments
|
||||
- servers
|
||||
- monitoring
|
||||
- audit log
|
||||
|
||||
## Data systems
|
||||
|
||||
- PostgreSQL: relational source of truth
|
||||
- Redis: queues, locks and ephemeral state
|
||||
- MinIO: generated files, logs and build artifacts
|
||||
@@ -0,0 +1,18 @@
|
||||
# ADR 0001: Start as a modular monolith
|
||||
|
||||
## Status
|
||||
|
||||
Accepted
|
||||
|
||||
## Decision
|
||||
|
||||
The first production version uses a single FastAPI deployment with explicit
|
||||
module boundaries.
|
||||
|
||||
## Reasons
|
||||
|
||||
- one operator
|
||||
- easier local development
|
||||
- simpler deployment and backups
|
||||
- no premature distributed systems complexity
|
||||
- modules can be extracted later when justified by real load or isolation needs
|
||||
@@ -0,0 +1,18 @@
|
||||
# ADR 0002: Single-user security model
|
||||
|
||||
## Status
|
||||
|
||||
Accepted
|
||||
|
||||
## Decision
|
||||
|
||||
Aidoit is single-user software, but no sensitive endpoint is anonymously
|
||||
accessible in production.
|
||||
|
||||
Initial access:
|
||||
|
||||
- Tailscale for private network access
|
||||
- bearer token for development
|
||||
- later PocketID or Authentik for browser login
|
||||
- separate execution permissions for every AI team
|
||||
- immutable audit records for tool calls and infrastructure changes
|
||||
@@ -0,0 +1,36 @@
|
||||
# v0.1 roadmap
|
||||
|
||||
## Foundation
|
||||
|
||||
- monorepo and CI
|
||||
- shared design system
|
||||
- shared API contracts and SDK
|
||||
- PostgreSQL migrations
|
||||
- authentication
|
||||
- project CRUD
|
||||
|
||||
## Harness
|
||||
|
||||
- team definitions
|
||||
- tool registry
|
||||
- task graph
|
||||
- run execution
|
||||
- event streaming
|
||||
- logs and artifacts
|
||||
|
||||
## Development workflow
|
||||
|
||||
- Gitea integration
|
||||
- repository checkout
|
||||
- isolated workspaces
|
||||
- preview Docker builds
|
||||
- code review flow
|
||||
- deployment approvals
|
||||
|
||||
## MSP
|
||||
|
||||
- server inventory
|
||||
- SSH connection profiles
|
||||
- Docker and Proxmox adapters
|
||||
- monitoring integration
|
||||
- backups and update plans
|
||||
Reference in New Issue
Block a user