CI/CD & Submodule Automation
Relevant source files
The following files were used as context for generating this wiki page:
The CI/CD and Submodule Automation system manages the integration between the private admin tools and the public core application. This system ensures that the admin interface remains synchronized with the latest stable versions of the primary Inkweave codebase while maintaining a secure, private deployment environment.
The automation facilitates a continuous sync loop where updates in the upstream repository trigger dependency updates in the admin repository. This architecture allows the admin tools to access core logic, schemas, or components without duplicating code.
Sources: README.md:1-5, docs/PLAN.md
Submodule Architecture
The project utilizes Git submodules to reference the public Inkweave repository. This approach pins specific commits of the core application to maintain environment stability.
Upstream Integration
The core application lives at Doberjohn/inkweave. The admin repository tracks this as a submodule located at the path upstream/inkweave. This configuration allows the admin tools to leverage shared code while keeping administrative logic private.
Sources: README.md:3-5, .gitmodules
Submodule Synchronization Flow
The following diagram illustrates how the admin repository interacts with the upstream core repository:
The diagram shows the relationship between the public upstream repository and the private admin environment.
Sources: README.md:3-5, .gitmodules
Deployment Pipeline
The project automates deployments through Vercel. The pipeline triggers when changes occur in the inkweave-admin repository or when the submodule pointer advances.
Vercel Integration
Deployments target a Vercel project configured with specific access controls. The system enforces Vercel login to protect administrative functionality.
| Feature | Implementation |
|---|---|
| Platform | Vercel |
| Security | Vercel Authentication (SSO/Login) |
| Trigger | Git Push / Submodule Update |
| Environment | Private |
Sources: README.md:5, docs/PLAN.md
Automation Workflows
Workflows maintain the integrity of the project by enforcing coding standards and managing dependency updates.
Submodule Updates
A GitHub Action monitors the Doberjohn/inkweave repository for new releases or commits. When it detects changes, the workflow performs the following actions:
- Checks out the
inkweave-adminrepository. - Updates the
upstream/inkweavesubmodule to the latest commit. - Creates a Pull Request or commits directly to the main branch to trigger a Vercel build.
Sources: .github/workflows/update-submodule.yml, README.md:3-5
Development Rules
The project follows specific working rules defined in CLAUDE.md. These rules govern how automated agents and developers interact with the codebase, ensuring that submodule paths and deployment configurations remain intact during development cycles.
The sequence diagram demonstrates the deployment flow from a submodule update to the final private deployment.
Sources: CLAUDE.md, README.md:3-5
Configuration Summary
The automation relies on the following configuration keys and file paths:
| File | Purpose |
|---|---|
.gitmodules | Defines the upstream repository URL and local path. |
docs/PLAN.md | Outlines the phases of automation and deployment status. |
CLAUDE.md | Contains technical constraints for development and automation. |
README.md | Provides high-level links to the upstream repository and deployment targets. |
Sources: README.md:3-7, docs/PLAN.md, CLAUDE.md
The CI/CD and Submodule Automation system creates a bridge between public development and private administration. By pinning the core application as a submodule and automating Vercel deployments, the project ensures that admin tools are always compatible with the core platform without exposing sensitive administrative code.