Central knowledge base and development standards at ARC Labs Studio
Development guidelines β’ Architecture standards β’ Best practices β’ AI agent collaboration
ARCKnowledge is the single source of truth for ARC Labs Studio's development guidelines, architectural standards, and best practices. Designed for AI agents (primarily Claude Code) and developers working on ARC Labs projects.
What's included:
- Clean Architecture & MVVM+C patterns
- SOLID & Protocol-Oriented programming
- Quality standards (testing, code review, documentation)
- Git workflow & commit conventions
- Development tools integration
# Add ARCKnowledge as a submodule
git submodule add https://github.com/ARCLabsStudio/ARCKnowledge.git ARCKnowledge
# Initialize the submodule
git submodule update --init --recursiveThis creates an ARCKnowledge/ directory in your project with all documentation.
# Clone with submodules
git clone --recurse-submodules https://github.com/YourOrg/YourProject.git
# Or initialize after cloning
git submodule update --init --recursive# Update submodule to latest
git submodule update --remote ARCKnowledge
# Commit the update
git add ARCKnowledge
git commit -m "chore: update ARCKnowledge documentation"cd ARCKnowledge
git checkout v1.0.0
cd ..
git add ARCKnowledge
git commit -m "chore: pin ARCKnowledge to v1.0.0"Start with CLAUDE.md - the main entry point containing ARC Labs philosophy, core values, and navigation to all specialized documentation.
Context loading strategy:
- Load
CLAUDE.mdfor overarching guidelines - Load category-specific docs based on task:
- New feature β Architecture + Layers
- Bug fix β Quality + Testing
- Code review β Quality/code-review.md
- Git workflow β Workflow
Recommended docs by task:
| Task | Documents |
|---|---|
| New iOS Feature | CLAUDE.md, Architecture/clean-architecture.md, Architecture/mvvm-c.md, Layers/presentation.md |
| Adding Use Case | CLAUDE.md, Layers/domain.md, Quality/testing.md |
| Data Layer Work | CLAUDE.md, Layers/data.md, Architecture/protocol-oriented.md |
| Code Review | CLAUDE.md, Quality/code-review.md, Quality/code-style.md |
| Setting Up Tests | CLAUDE.md, Quality/testing.md, Architecture/solid-principles.md |
| New Swift Package | CLAUDE.md, Projects/packages.md, Tools/spm.md |
| Git Workflow | Workflow/git-commits.md, Workflow/git-branches.md |
Access documentation directly from your project:
# View main guidelines
cat ARCKnowledge/CLAUDE.md
# Check specific topics
cat ARCKnowledge/Architecture/clean-architecture.md
cat ARCKnowledge/Quality/testing.md
cat ARCKnowledge/Workflow/git-commits.mdARCKnowledge/
βββ CLAUDE.md # Main AI agent entry point
β
βββ Architecture/ # Architectural patterns
β βββ clean-architecture.md
β βββ mvvm-c.md
β βββ protocol-oriented.md
β βββ solid-principles.md
β
βββ Layers/ # Implementation layers
β βββ data.md
β βββ domain.md
β βββ presentation.md
β
βββ Projects/ # Project types
β βββ apps.md
β βββ packages.md
β
βββ Quality/ # QA standards
β βββ code-review.md
β βββ code-style.md
β βββ documentation.md
β βββ readme-standards.md
β βββ testing.md
β
βββ Tools/ # Development tools
β βββ arcdevtools.md
β βββ spm.md
β βββ xcode.md
β
βββ Workflow/ # Development workflow
βββ git-branches.md
βββ git-commits.md
βββ plan-mode.md
| Document | Description |
|---|---|
| clean-architecture.md | Clean Architecture layers, dependency rules, data flow |
| mvvm-c.md | MVVM+Coordinator pattern with Router implementation |
| solid-principles.md | SOLID principles applied to Swift development |
| protocol-oriented.md | Protocol-oriented programming guidelines |
| Document | Description |
|---|---|
| presentation.md | Views, ViewModels, Routers/Coordinators |
| domain.md | Entities, Use Cases, business logic |
| data.md | Repositories, Data Sources, persistence |
| Document | Description |
|---|---|
| apps.md | iOS App development guidelines |
| packages.md | Swift Package development guidelines |
| Document | Description |
|---|---|
| code-review.md | Code review checklist and AI-generated code standards |
| code-style.md | SwiftLint, SwiftFormat, naming conventions |
| documentation.md | DocC, README standards, inline comments |
| readme-standards.md | Standardized README template with visual format |
| testing.md | Swift Testing framework and coverage requirements |
| Document | Description |
|---|---|
| arcdevtools.md | ARCDevTools package integration |
| spm.md | Swift Package Manager best practices |
| xcode.md | Xcode project configuration, schemes, build settings |
| Document | Description |
|---|---|
| git-branches.md | Branch naming conventions and Git flow |
| git-commits.md | Conventional Commits specification |
| plan-mode.md | When and how AI agents enter Plan Mode |
ARCKnowledge embodies ARC Labs Studio's commitment to quality:
Core Values: Simple, Lovable, Complete β’ Quality Over Speed β’ Modular by Design β’ Professional Standards β’ Native First
Technical Standards: Clean Architecture β’ SOLID Principles β’ Protocol-Oriented Design β’ Dependency Injection β’ Swift 6 β’ 100% Test Coverage (packages) / 80%+ (apps)
For complete philosophy and guidelines, see CLAUDE.md.
Contributions to improve ARC Labs Studio's documentation are welcome!
Process:
- Fork and clone the repository
- Create a feature branch following git-branches.md
- Make focused changes - keep documents concise
- Follow existing markdown formatting
- Create a pull request with clear description
Commit format:
docs: add guidance on SwiftUI previews
Expanded presentation.md to include detailed requirements
for SwiftUI preview implementation with examples.
Submodule not initialized:
git submodule update --init --recursiveSubmodule detached HEAD:
cd ARCKnowledge
git checkout main
git pull origin main
cd ..
git add ARCKnowledge
git commit -m "chore: update ARCKnowledge"Remove submodule:
git submodule deinit ARCKnowledge
git rm ARCKnowledge
rm -rf .git/modules/ARCKnowledgeARCKnowledge is available under the MIT License. See LICENSE for details.
ARC Labs Studio β’ Made with π
For questions or support, open an issue on GitHub