233 lines
4.6 KiB
Markdown
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
|
||
|
|
|