Files
iccc_monorepo/README.md
2026-02-09 21:51:46 -08:00

233 lines
4.6 KiB
Markdown

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