Skip to content

Documentation repository focused on guiding and aligning the projects development with AI agents for ARC Labs Studio

License

Notifications You must be signed in to change notification settings

arclabs-studio/ARCKnowledge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“œ ARCKnowledge

Documentation License Git Submodule

Central knowledge base and development standards at ARC Labs Studio

Development guidelines β€’ Architecture standards β€’ Best practices β€’ AI agent collaboration


🎯 Overview

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

πŸš€ Installation

Adding to Your Project

# Add ARCKnowledge as a submodule
git submodule add https://github.com/ARCLabsStudio/ARCKnowledge.git ARCKnowledge

# Initialize the submodule
git submodule update --init --recursive

This creates an ARCKnowledge/ directory in your project with all documentation.

Cloning Projects with ARCKnowledge

# Clone with submodules
git clone --recurse-submodules https://github.com/YourOrg/YourProject.git

# Or initialize after cloning
git submodule update --init --recursive

Updating to Latest Version

# Update submodule to latest
git submodule update --remote ARCKnowledge

# Commit the update
git add ARCKnowledge
git commit -m "chore: update ARCKnowledge documentation"

Pinning to Specific Version

cd ARCKnowledge
git checkout v1.0.0
cd ..
git add ARCKnowledge
git commit -m "chore: pin ARCKnowledge to v1.0.0"

πŸ“– Usage

For AI Agents

Start with CLAUDE.md - the main entry point containing ARC Labs philosophy, core values, and navigation to all specialized documentation.

Context loading strategy:

  1. Load CLAUDE.md for overarching guidelines
  2. 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

For Developers

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.md

πŸ—οΈ Documentation Structure

ARCKnowledge/
β”œβ”€β”€ 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

πŸ“š Documentation Index

Architecture

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

Implementation Layers

Document Description
presentation.md Views, ViewModels, Routers/Coordinators
domain.md Entities, Use Cases, business logic
data.md Repositories, Data Sources, persistence

Project Types

Document Description
apps.md iOS App development guidelines
packages.md Swift Package development guidelines

Quality Assurance

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

Tools & Integration

Document Description
arcdevtools.md ARCDevTools package integration
spm.md Swift Package Manager best practices
xcode.md Xcode project configuration, schemes, build settings

Workflow

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

🎯 Core Principles

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.


🀝 Contributing

Contributions to improve ARC Labs Studio's documentation are welcome!

Process:

  1. Fork and clone the repository
  2. Create a feature branch following git-branches.md
  3. Make focused changes - keep documents concise
  4. Follow existing markdown formatting
  5. 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.

πŸ”„ Maintenance

Troubleshooting

Submodule not initialized:

git submodule update --init --recursive

Submodule 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/ARCKnowledge

πŸ“„ License

ARCKnowledge is available under the MIT License. See LICENSE for details.


ARC Labs Studio β€’ Made with πŸ’›

For questions or support, open an issue on GitHub

About

Documentation repository focused on guiding and aligning the projects development with AI agents for ARC Labs Studio

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published