Use when coordinating a multi-repo workspace — init the .adlc/ structure, discover and link child repos as submodules, or audit workspace health (branch, dirty, unpushed, SHA drift).
, and the per-family draft subdirectories — the shared layout scopes
.adlc/
to machine pipeline state). This is the shared context directory where other skills write drafts and pipeline state; published decision records and compiled deliverables live under
docs/adlc/
.
Idempotent: already-existing directories are not recreated.
Phase 2:
.gitignore
Configuration
The setup script checks
.gitignore
for workspace conventions and reports missing rules.
Allowlist model —
.adlc/
is no longer ignored wholesale. Machine pipeline state is ignored via
.adlc/*
with tracked exceptions re-included; published content under
docs/adlc/
is always tracked:
gitignore
# agent-install surface (regenerated).agents/.opencode/.claude/.cursor/.codex/.gemini/.qwen/.devin/.tabnine/skills-lock.json.skills.json# .mcp.json is deliberately ABSENT: it is committed project source# (human-edited, never generated), not a derived artifact..events.json.pytest_cache/.ruff_cache/# machine pipeline + runtime state (tracked exceptions follow).adlc/*!.adlc/init-options.json!.adlc/workspace.yml!.adlc/drafts/!.adlc/evals/.adlc/evals/results/!.adlc/memory/.adlc/memory/*!.adlc/memory/evals/!.adlc/memory/evals/holdout.json# generated reports (legacy name kept during transition).adlc/team-learn-report.md.adlc/team-levelup-report.md# knowledge graph (generated)graphify-out/
The allowlist has a single definition in
scripts/bash/paths.sh
(
GITIGNORE_RULES_ALLOWLIST
, mirrored in
scripts/powershell/paths.ps1
); the setup scripts source it and report any missing rules. Tracked legacy files keep working — gitignore gates only untracked files.
Action: If
GITIGNORE_RULES_MISSING
is non-empty, add the missing rules to
.gitignore
. Do NOT remove existing rules. If changes were made and not in
--dry-run
mode, commit with message
[workspace] Configure .gitignore for workspace conventions
.
Phase 3: Child Repo Discovery
Review discovered child repos from setup output.
Present discovered repos:
markdown
## Discovered Child Repos|#| Repo | Remote | Submodule? | Tracked? ||---|------|--------|------------|----------|| 1 |**backend-api**| git@github.com:org/backend-api.git | No | No || 2 |**frontend**| git@github.com:org/frontend.git | Yes | N/A |Reply: Y to proceed with --link/--ignore-only, or adjust.
Phase 4: Child Repo Action (optional)
If
--link
or
--ignore-only
is combined with
--init
, execute the corresponding action after init setup.
--link
(Submodule Registration)
Delegates to
workspace.sh --link
. Safety checks enforced:
Parent working tree must be clean (no uncommitted changes outside child repos)
Child repos must have a remote
origin
URL configured
Remote URLs must use an allowed scheme (
https://
,
git@
,
ssh://
) —
anything else (e.g.
http://
,
file://
) is reported as an error and skipped
Already-registered submodules are skipped (idempotent)
Repos tracked in parent index require
--force
Preview with
--dry-run
first and confirm with the user before linking
--ignore-only
(Ignore Instead of Submodule)
Add each discovered child repo to
.gitignore
instead of creating submodules.
For each child repo:
If tracked in parent index:
git rm --cached <name>
(remove from index, keep on disk)
Add
<name>/
to
.gitignore
if not already present
Skip repos already in
.gitignore
(idempotent)
Commit with message
[workspace] Add child repos to .gitignore
if changes were made.
Use when: Child repos are truly independent projects; team members manage them separately.
JSON output matches the Output Contract schema for both init and audit modes.
Integration with Existing Skills
Skill
Relationship
product-specify
Creates PDR drafts in parent
.adlc/drafts/pdr/
after
--init
architect-specify
Creates ADR drafts in parent
.adlc/drafts/adr/
after
--init
team-levelup
Creates CDR drafts (published to the team-ai-directives
adlc
branch) after
--init
team-boot
Loads parent
.adlc
context at session start
team-setup
Configures agent directories (
.agents/
,
.opencode/
) — complement to
--init
12-Factor Alignment
Factor XI (Directives as Code) — establishes a version-controlled multi-repo
workspace where shared decisions live in the parent and implementation repos
are linked as submodules or ignored by convention.