← ClaudeAtlas

project-hub-conventionslisted

Conventions for WS Agency multi-repo project hubs (subfolder layout, project.yaml schema, context-file cascade, .gitignore managed block, invoke-ai.sh contract). Use when creating, extending, or troubleshooting a `<project>-main` hub repo, or when asked about "project hub", "multi-repo", or `<name>-main` repos.
wsagency/WS-Claude-marketplace · ★ 0 · Data & Documents · score 72
Install: claude install-skill wsagency/WS-Claude-marketplace
# Project Hub Conventions The WS Agency `ws` plugin organizes multi-repo projects under a single hub repo (`<project>-main`). Each sub-repo (mobile app, marketing site, design assets, docs, etc.) lives in a **subfolder of the hub** with its own independent git history. ## Layout ``` <project>-main/ ├── .git/ # hub's git — tracks meta files only ├── .gitignore # managed block excludes sub-repo subfolders ├── .claude/skills/ # vendored conventions (this file) ├── project.yaml # registry of all sub-repos ├── AGENTS.md # project map (canonical, agent-neutral) ├── CLAUDE.md # thin @AGENTS.md import ├── invoke-ai.sh # agent picker launcher (claude / omp) ├── README.md ├── <project>-app/.git/ # own git, gitignored ├── <project>-marketing/.git/ # own git, gitignored ├── <project>-design/.git/ # own git, gitignored └── <project>-docs/.git/ # own git, gitignored ``` Sibling layout (`path: ../<name>`) is still supported for back-compat, but new repos default to nested subfolders. ## `project.yaml` schema ```yaml project: name: <kebab-case-project-name> description: <one-line description> session: <tmux-session-name> # optional, default <name>-hub repos: - name: <repo-name> # required, matches directory name path: ./<repo-name> # required, relative to hub; nested by default url: <git-remote-url> # optional but recommended (en