Context
Common monorepo-ish layout: a parent directory that is not a git repo, containing N independent git subprojects — e.g.:
MyProduct/ # not a git repo
├── backend/ # git repo
├── frontend/ # git repo
└── CLAUDE.md # documents both
What already works well
Running /gstack-spec, /gstack-plan-eng-review, and /gstack-plan-design-review from the umbrella dir is great: the agent gets unified cross-project context, which is exactly what you want for a feature that spans backend + frontend. This is the natural place to plan.
The gap
Project-scoped infra keys on a git remote/slug:
- cross-session decision memory (
~/.gstack/projects/<slug>/decisions.jsonl)
- the learnings store
Run from a non-git umbrella there's no remote → it falls back to a local/degraded identity. So the high-value decisions captured during planning (CEO/eng/spec reviews) aren't tied to a stable project identity, and they don't carry over to the per-subproject sessions where implementation and /ship actually happen. The plan is made under one identity (umbrella) and built under another (subproject), and decision memory doesn't bridge them.
Proposed directions
- Detect child git repos under a non-git parent and allow an explicit umbrella project slug (e.g. a
.gstack marker file at the umbrella root, or ~/.gstack/config.yaml) so project-scoped infra works there.
- Optionally let subprojects "link" to an umbrella project, so decision memory + learnings are shared across the umbrella and its children — planning in the umbrella, building in a child, with continuous memory.
Context
Common monorepo-ish layout: a parent directory that is not a git repo, containing N independent git subprojects — e.g.:
What already works well
Running
/gstack-spec,/gstack-plan-eng-review, and/gstack-plan-design-reviewfrom the umbrella dir is great: the agent gets unified cross-project context, which is exactly what you want for a feature that spans backend + frontend. This is the natural place to plan.The gap
Project-scoped infra keys on a git remote/slug:
~/.gstack/projects/<slug>/decisions.jsonl)Run from a non-git umbrella there's no remote → it falls back to a local/degraded identity. So the high-value decisions captured during planning (CEO/eng/spec reviews) aren't tied to a stable project identity, and they don't carry over to the per-subproject sessions where implementation and
/shipactually happen. The plan is made under one identity (umbrella) and built under another (subproject), and decision memory doesn't bridge them.Proposed directions
.gstackmarker file at the umbrella root, or~/.gstack/config.yaml) so project-scoped infra works there.