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
ARCKnowledge now uses Claude Code Skills for progressive context loading, reducing token usage by ~87% compared to loading all documentation at once.
| Skill | Command | Use When |
|---|---|---|
| Swift Architecture | /arc-swift-architecture |
Designing features, MVVM+C, Clean Architecture, SOLID |
| TDD Patterns | /arc-tdd-patterns |
Writing tests, Swift Testing, coverage requirements |
| Quality Standards | /arc-quality-standards |
Code review, SwiftLint/Format, documentation, accessibility |
| Data Layer | /arc-data-layer |
Repositories, API clients, DTOs, caching |
| Presentation Layer | /arc-presentation-layer |
Views, ViewModels, @Observable, navigation |
| Workflow | /arc-workflow |
Git commits, branches, PRs, Plan Mode |
| Project Setup | /arc-project-setup |
New packages/apps, ARCDevTools, Xcode, CI/CD |
- CLAUDE.md loads automatically with core philosophy and critical rules (~200 lines)
- Use slash commands to load detailed context only when needed
- Each skill includes a SKILL.md summary + detailed documentation files
User: "I need to implement a new repository for user data"
Claude: [Uses /arc-data-layer to load data layer patterns]
[Uses /arc-swift-architecture if architecture questions arise]
# 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"Start with CLAUDE.md - loads automatically with core philosophy, critical rules, and skill references.
Load skills on-demand:
- Use
/arc-swift-architecturewhen designing features - Use
/arc-tdd-patternswhen writing tests - Use
/arc-quality-standardswhen reviewing code - Use
/arc-workflowwhen committing code
Access documentation directly from your project:
# View main guidelines
cat ARCKnowledge/CLAUDE.md
# View skill documentation
cat ARCKnowledge/.claude/skills/arc-swift-architecture/SKILL.md
# Check specific topics
cat ARCKnowledge/Architecture/clean-architecture.md
cat ARCKnowledge/Quality/testing.mdARCKnowledge/
βββ CLAUDE.md # Main entry point (minified)
βββ README.md # This file
β
βββ .claude/ # Claude Code Skills
β βββ skills/
β βββ arc-swift-architecture/
β βββ arc-tdd-patterns/
β βββ arc-quality-standards/
β βββ arc-data-layer/
β βββ arc-presentation-layer/
β βββ arc-workflow/
β βββ arc-project-setup/
β
βββ Architecture/ # Architectural patterns (reference)
β βββ clean-architecture.md
β βββ mvvm-c.md
β βββ protocol-oriented.md
β βββ singletons.md
β βββ solid-principles.md
β
βββ Layers/ # Implementation layers (reference)
β βββ data.md
β βββ domain.md
β βββ presentation.md
β
βββ Projects/ # Project types (reference)
β βββ apps.md
β βββ packages.md
β
βββ Quality/ # QA standards (reference)
β βββ code-review.md
β βββ code-style.md
β βββ documentation.md
β βββ package-structure.md
β βββ readme-standards.md
β βββ testing.md
β βββ ui-guidelines.md
β
βββ Tools/ # Development tools (reference)
β βββ arcdevtools.md
β βββ spm.md
β βββ xcode.md
β
βββ Workflow/ # Development workflow (reference)
βββ git-branches.md
βββ git-commits.md
βββ plan-mode.md
Covers Clean Architecture, MVVM+C pattern, SOLID principles, Protocol-Oriented Design, dependency injection, and singleton patterns.
Files included:
clean-architecture.md,mvvm-c.md,solid-principles.md,protocol-oriented.md,singletons.md,domain.md
Covers Swift Testing framework, TDD workflow, mocking patterns, coverage requirements, and CI testing.
Files included:
testing.md
Covers code review checklists, SwiftLint/SwiftFormat, documentation, README templates, package structure, and UI guidelines.
Files included:
code-review.md,code-style.md,documentation.md,readme-standards.md,package-structure.md,ui-guidelines.md
Covers Repository pattern, Data Sources, DTOs, caching strategies, error mapping, and SwiftData integration.
Files included:
data.md
Covers SwiftUI Views, @Observable ViewModels, ARCNavigation Router, state management, and MVVM+C implementation.
Files included:
presentation.md
Covers Conventional Commits, branch naming, Git Flow, PRs, and Plan Mode.
Files included:
git-commits.md,git-branches.md,plan-mode.md
Covers Swift Package creation, iOS App setup, ARCDevTools integration, Xcode configuration, and CI/CD.
Files included:
packages.md,apps.md,arcdevtools.md,spm.md,xcode.md
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
- Update relevant SKILL.md if changing skill documentation
- 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