Initial commit: add .gitignore and README

This commit is contained in:
defiQUG
2026-02-09 21:51:46 -08:00
commit 4bb0b6ffa4
58 changed files with 13494 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
# ADR-0001: Use Monorepo Structure for Related Projects
**Status**: Accepted
**Date**: 2025-01-27
**Deciders**: Workspace maintainers
---
## Context
We have multiple related projects that share code, dependencies, and infrastructure. Managing them as separate repositories creates:
- Duplication of shared code
- Complex dependency management
- Difficult cross-project refactoring
- Inconsistent tooling
---
## Decision
We will use monorepo structures for related projects, organizing them with:
- Git submodules for external/existing repositories
- Workspace packages for shared code
- Unified tooling and CI/CD
- Coordinated releases
---
## Consequences
### Positive
- ✅ Shared code and types
- ✅ Simplified dependency management
- ✅ Easier cross-project refactoring
- ✅ Unified tooling
- ✅ Coordinated releases
### Negative
- ⚠️ Larger repositories
- ⚠️ More complex initial setup
- ⚠️ Requires monorepo tooling knowledge
---
**Status**: Accepted

View File

@@ -0,0 +1,45 @@
# ADR-0002: Standardize on pnpm and Turborepo
**Status**: Accepted
**Date**: 2025-01-27
**Deciders**: Workspace maintainers
---
## Context
Different projects use different package managers (npm, yarn, pnpm) and build tools. This creates:
- Inconsistent workflows
- Duplicate dependency installations
- Different caching strategies
- Learning curve for developers
---
## Decision
We will standardize on:
- **Package Manager**: pnpm workspaces
- **Build Tool**: Turborepo
- **Rationale**:
- pnpm: Faster installs, better disk efficiency, strict dependency resolution
- Turborepo: Excellent caching, task orchestration, incremental builds
---
## Consequences
### Positive
- ✅ Consistent developer experience
- ✅ Faster builds and installs
- ✅ Better caching
- ✅ Simplified CI/CD
### Negative
- ⚠️ Migration effort for existing projects
- ⚠️ Team needs to learn new tools
---
**Status**: Accepted

View File

@@ -0,0 +1,48 @@
# ADR-0003: Use Git Submodules for External Projects
**Status**: Accepted
**Date**: 2025-01-27
**Deciders**: Workspace maintainers
---
## Context
We need to include external projects or existing repositories in monorepos. Options include:
- Git submodules
- Copying code into monorepo
- Converting to workspace packages
---
## Decision
We will use Git submodules for:
- External repositories
- Existing projects that should maintain independent versioning
- Projects maintained separately
We will use workspace packages for:
- New shared code
- Internal libraries
- Code that benefits from unified versioning
---
## Consequences
### Positive
- ✅ Maintains repository independence
- ✅ Allows independent versioning
- ✅ Preserves git history
- ✅ Easier external contribution
### Negative
- ⚠️ Submodule complexity
- ⚠️ Requires submodule management knowledge
- ⚠️ Can complicate workflow
---
**Status**: Accepted

View File

@@ -0,0 +1,45 @@
# ADR-0004: Hybrid Cloud Architecture (Proxmox + Azure)
**Status**: Accepted
**Date**: 2025-01-27
**Deciders**: Infrastructure team
---
## Context
We need infrastructure that provides:
- On-premises control and data sovereignty
- Cloud scalability and services
- Cost optimization
- Flexibility
---
## Decision
We will use a hybrid cloud architecture:
- **On-Premises**: Proxmox VE for compute and storage
- **Cloud**: Azure for cloud services and Arc integration
- **Integration**: Azure Arc for unified management
- **Rationale**: Balances control, scalability, and cost
---
## Consequences
### Positive
- ✅ Data sovereignty
- ✅ Cost optimization
- ✅ Unified management via Azure Arc
- ✅ Flexible deployment options
### Negative
- ⚠️ More complex infrastructure
- ⚠️ Requires hybrid expertise
- ⚠️ Network connectivity considerations
---
**Status**: Accepted

54
decisions/README.md Normal file
View File

@@ -0,0 +1,54 @@
# Architecture Decision Records (ADRs)
**Last Updated**: 2025-01-27
**Purpose**: Document important architectural and technical decisions
---
## Overview
This directory contains Architecture Decision Records (ADRs) documenting important decisions made about the workspace structure, tooling, and architecture.
---
## ADR Format
### Standard ADR Structure
```markdown
# [ADR-XXXX]: [Title]
**Status**: [Proposed/Accepted/Deprecated/Superseded]
**Date**: [YYYY-MM-DD]
**Deciders**: [List of decision makers]
**Context**: [Background and context]
**Decision**: [Decision made]
**Consequences**: [Implications and consequences]
```
---
## ADR Index
### Workspace Structure
- [ADR-0001: Use Monorepo Structure](./0001-use-monorepo-structure.md) - Decision to use monorepos for related projects
### Tooling
- [ADR-0002: Standardize on pnpm and Turborepo](./0002-standardize-pnpm-turborepo.md) - Standard package manager and build tool
- [ADR-0003: Use Git Submodules for External Projects](./0003-use-git-submodules.md) - Decision to use submodules for external repos
### Architecture
- [ADR-0004: Hybrid Cloud Architecture](./0004-hybrid-cloud-architecture.md) - Decision to use hybrid cloud (Proxmox + Azure)
---
## Creating New ADRs
1. Create new ADR file: `ADR-XXXX-[title].md`
2. Follow ADR format
3. Update this index
4. Submit for review
---
**Last Updated**: 2025-01-27