# ICCC Monorepo **Status**: 🚧 **Placeholder - Under Planning** **Purpose**: Unified monorepository for ICCC (International Cross-Chain Council) ecosystem projects. > **Constitutional Status**: This repository implements **ICCC**, a Tier-1 canonical sovereign system. See [NOTICE.md](./NOTICE.md) and [CANONICAL_CONSTITUTION.md](../CANONICAL_CONSTITUTION.md) for details. --- ## Overview ICCC Monorepo consolidates all ICCC-related projects into a single, unified repository structure. This enables shared code, unified versioning, simplified dependency management, and coordinated development across all ICCC initiatives. --- ## Monorepo Structure This monorepo uses git submodules to manage related projects: ``` iccc_monorepo/ ├── .gitmodules # Git submodules configuration ├── iccc_portal/ # ICCC Portal application (submodule) ├── iccc_docs/ # ICCC Documentation (submodule) ├── packages/ # Shared packages (planned) │ ├── iccc-shared/ # Shared TypeScript libraries │ ├── iccc-api-client/ # API client libraries │ └── iccc-schemas/ # JSON/GraphQL schemas ├── apps/ # Applications (planned) │ └── [additional-apps]/ # Additional ICCC applications ├── tools/ # Development tools (planned) └── docs/ # Monorepo documentation (planned) ``` --- ## Submodules ### iccc_portal **Status**: Active **Description**: ICCC Portal application - web-based portal for ICCC services and operations. **Features** (Planned): - User management interface - Cross-chain governance interfaces - Service management UI - Analytics and reporting dashboards ### iccc_docs **Status**: Active **Description**: ICCC Documentation repository - comprehensive documentation for ICCC ecosystem. **Contents** (Planned): - Technical documentation - API documentation - User guides - Governance documentation - Integration guides --- ## Getting Started ### Clone with Submodules ```bash # Clone repository with all submodules git clone --recurse-submodules cd iccc_monorepo # Or if already cloned, initialize submodules git submodule update --init --recursive ``` ### Update Submodules ```bash # Update all submodules to latest commits git submodule update --remote # Update specific submodule cd iccc_portal git pull origin main cd .. git add iccc_portal git commit -m "Update iccc_portal submodule" ``` --- ## Shared Resources (Planned) ### Shared Packages **iccc-shared**: - Common utilities and types - Configuration helpers - Validation schemas - Constants and enums **iccc-api-client**: - REST API clients - GraphQL clients - WebSocket clients - Type definitions **iccc-schemas**: - JSON schemas - GraphQL schemas - Protocol schemas - Validation schemas --- ## Technology Stack (Planned) ### Package Manager - **pnpm workspaces** (recommended) or npm/yarn ### Build Tooling - **Turborepo** or **Nx** (for build orchestration) - TypeScript - ESLint / Prettier ### Development Tools - Vitest or Jest (testing) - Husky (git hooks) - Changesets (versioning) --- ## Development Workflow (Planned) ### Setup ```bash # Install dependencies pnpm install # Build all packages pnpm build # Run tests pnpm test # Start development servers pnpm dev ``` ### Working with Submodules ```bash # Make changes in submodule cd iccc_portal # Make changes and commit git add . git commit -m "Your changes" git push cd .. # Update parent repo reference git add iccc_portal git commit -m "Update iccc_portal submodule" git push ``` --- ## CI/CD Pipeline (Planned) ### Workflow 1. Lint & Type Check 2. Unit Tests 3. Integration Tests 4. Build 5. E2E Tests 6. Deploy --- ## Documentation - Monorepo-level documentation in this repository - Project-specific documentation in submodules: - **[iccc_portal](./iccc_portal/)** - Portal documentation - **[iccc_docs](./iccc_docs/)** - Comprehensive documentation --- ## Related Projects ### ICCC Ecosystem - **iccc_portal** - Portal application (submodule) - **iccc_docs** - Documentation (submodule) ### Potential Integrations - Cross-chain infrastructure - Governance systems - Documentation platforms --- ## Contributing When contributing: 1. Follow monorepo standards 2. Update affected submodules 3. Run tests for all projects 4. Update documentation --- ## License [To be determined] --- ## Status **Current Status**: 🚧 Placeholder **Next Steps**: - Finalize monorepo structure - Set up shared packages - Configure build tooling - Begin Phase 1 development --- **Last Updated**: 2025-01-27