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 and 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

# Clone repository with all submodules
git clone --recurse-submodules <repository-url>
cd iccc_monorepo

# Or if already cloned, initialize submodules
git submodule update --init --recursive

Update Submodules

# 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

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test

# Start development servers
pnpm dev

Working with Submodules

# 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 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

Description
No description provided
Readme 28 KiB
Languages
Markdown 100%