upvote
> But I need to have everything in a mono repo for agents to properly work on in.

Why was this a problem with Deno? Up until recently you had to use package.json and npm/pnpm for it to work, but even then it was better than Bun or Node since you could use import map to avoid compiling packages for testing etc (Node and Bun's type stripping doesn't work across local monorepo dependencies, and tsx produces mangled source maps making debugging a hassle). Now Deno has built-in workspace/monorepo support in deno.json.

reply
> But I need to have everything in a mono repo for agents to properly work on in.

Why is that? Seems like an agent framework limitation, not a reasonable requirement in general. (I do not have this limitation, but I also have a custom agent stack)

reply
I've found myself occasionally wishing I had a monorepo purely for Claude Code for web (Anthropic's hosted version of Claude Code), since it can currently only work with one private repository at a time.

On my own machine I have a dev/ folder full of checkouts of other repos, and I'll often run Claude Code or Codex CLI in that top level folder and tell it to make changes to multiple projects at once. That works just fine.

reply
Couldn’t you make a pseudo monorepo via git submodules?
reply
I don't think there's a way to have that work in Claude Code for web, since each checkout there uses a custom GitHub access token scoped to a single repository.
reply
GitHub tokens can span more than one repo or org if the account requesting has access to them. Is this supported on the non-web version?

(I was going to try claude again this weekend, but when I tried to login, got an error and am reminded how much down time I experience from Anthropic, arg...)

reply
The non web version uses whatever credentials you have setup yourself, so it works just fine.
reply
Is that host level or can I provide scoped tokens based on what I'm doing?

In other words, do Anthropic tools provide any affordances for this or is it something I have to manage externally?

reply
I'm just talking about the version of Claude Code which runs in containers on their infrastructure here - they call it "Claude Code on the web" (terrible name) and you access it through their native apps or from https://claude.ai/code

That product only works against one GitHub repo at a time. The Claude Code you install and run locally doesn't have a GitHub attachment at all and can run against whatever you checkout yourself.

Here's an open feature request about it: https://github.com/anthropics/claude-code/issues/23627

reply
Submodules are pain, use the dependency management systems for the languages in your monorepo.
reply
The "dev/" folder concept is what I give my agent, so I can select what I want it to have access to. On my computer, I have a few of those to group those that go together.
reply
This site (from nx), while biased, explains it best. https://monorepo.tools/

In a poly repo setup, agents are less effective having to infer changes across repo boundaries using specs rather than code as context. Changes that impact multiple repos are also much messier to wrangle.

reply
Monorepos come with a lot of pain too. Two sides of the same coin. I manage the build system for a large monorepo. Questions that will get you to a primary source of pain...

How do you minimally build based on the changeset? How do you know this is sufficient for correctness? What happens when feature branches get out of date and don't see the upstream change that breaks the local branch? How do you version subprojects, as they change or as a whole?

Monorepos have a habit of creating hidden dependencies. The languages you use can help or hurt here.

reply