refactor: org repos live at user-home root, not under ~/oss#38
Open
abdout wants to merge 2 commits into
Open
Conversation
Move all 9 OSS repos out of the ~/oss subdirectory into the user-home
root, so the layout matches the existing convention for codebase and
kun (both already at ~/). After this, every databayt org repo lives at
~/<name> regardless of OS: C:\Users\<user>\<repo> on Windows,
/Users/<user>/<repo> on macOS, /home/<user>/<repo> on Linux.
Same place, all platforms, no nested oss/ to remember.
Script + data changes:
- memory/repositories.json — flat 'repos' map updated; richer
'repositories' descriptors updated (macOS paths now /Users/abdout/<name>)
- sync-repos.ps1 / sync-repos.sh — $OssDir / $OSS_DIR now resolve
to $env:USERPROFILE / $HOME (variable names retained for minimal
blast radius; commented)
- Check-Repos.ps1 — Get-RepoMap fallback updated; reads from
repositories.json first
- doctor.sh — hardcoded REPO_PATHS fallback updated
- bootstrap.ps1 — step 14 'org repos cloned' message no longer
mentions oss/
Config + docs:
- settings.json — OSS_PATH env var retained, now points at /Users/abdout
(legacy name; nothing in scripts reads $env:OSS_PATH)
- agents/{hogwarts,souq,mkan,shifa}.md — Local: paths updated;
example git clone commands updated
- commands/repos.md — Quick Access path updated
- content/docs/onboarding.mdx — 'what you end up with' table +
step 14 description updated
- docs/CONFIGURATION.md, docs/KEYWORDS.md — env var + reference
paths updated
Migration for existing teammates:
# Windows
Get-ChildItem $env:USERPROFILE\oss -Directory | ForEach-Object {
Move-Item $_.FullName $env:USERPROFILE\
}
Remove-Item $env:USERPROFILE\oss
# macOS / Linux
mv ~/oss/* ~/ && rmdir ~/oss
Then re-run doctor to verify.
Known gap: .claude/CLAUDE.md line 143 ('OSS_PATH: /Users/abdout/oss')
needs the same update but was blocked by the harness auto-classifier
(agent-loaded config self-modification). One-line manual fix:
- `OSS_PATH`: /Users/abdout (legacy env var; repos at ~/<repo>)
Refs #28
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Adds a 'Local layout' section to the top of repositories.mdx — the canonical doc — so anyone asking "where does X live?" finds the answer before scrolling. Includes the OS-specific expansion table and the migration commands for teammates moving from ~/oss/*. Onboarding 'what you end up with' tightened: one sentence calling out the user-home root convention + cross-link to the new section, instead of a path string that buries the message. Refs #28 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Move all 9 OSS repos out of
~/oss/<name>into~/<name>. After this, every databayt org repo lives at user-home root regardless of OS — matching the existing convention forcodebaseandkun(both already at~/).Why
Implements the user-stated baseline expectation: every teammate's databayt repos at one consistent location regardless of OS. No
oss/subdirectory to remember; tab-completion at~/hlands you in hogwarts on every machine.What changed
Scripts (logic):
memory/repositories.json— flatreposmap updated; richerrepositoriesdescriptors also updated for paritysync-repos.ps1/sync-repos.sh—$OssDir/$OSS_DIRvariables now resolve to$env:USERPROFILE/$HOME(variable names kept to minimize blast radius)Check-Repos.ps1— fallbackGet-RepoMapupdated; primary path still reads fromrepositories.jsondoctor.sh— hardcodedREPO_PATHSfallback updatedbootstrap.ps1— step 14 success message no longer mentionsoss/Config + docs:
settings.json—OSS_PATHenv var retained for back-compat, now points at/Users/abdout(nothing in scripts reads$env:OSS_PATH)agents/{hogwarts,souq,mkan,shifa}.md—Local:field + examplegit clonecommandscommands/repos.md— Quick Access reference pathscontent/docs/onboarding.mdx— "what you end up with" + step 14 table row (this PR stacks on PR docs: rewrite onboarding for single-paste cold start #37 which introduces the new onboarding doc)docs/CONFIGURATION.md,docs/KEYWORDS.md— env var rows and Local pathsMigration for existing teammates
After they pull main, they should re-arrange their local repos to match:
Then re-run
doctorto verify.Known gap
.claude/CLAUDE.mdline 143 (OSS_PATH: /Users/abdout/oss (open source)) needs the same update but the harness auto-classifier blocks edits to.claude/CLAUDE.mdas "agent-loaded config self-modification." Manual one-line fix needed:Can be done in a follow-up commit by anyone with manual write access. Not blocking —
OSS_PATHis never consumed by scripts, only documented.Dependencies
Stacks on
docs/onboarding-rewrite(PR #37) because theonboarding.mdxupdates here describe the new layout that PR #37 introduces. Merge order:After the chain unrolls, this PR rebases onto main as a focused refactor.
Test plan
~/oss/*to~/*on developer machine;doctorre-run detects all 11 repos at new locationsgit statusclean for all moved repos (paths in.gitare internal and surviveMove-Item)sync-repos.ps1clones to~/<repo>for all 11sync-repos.shclones to~/<repo>(not~/oss/<repo>)Check-Repos.ps1readsrepositories.jsoncorrectly; new fallback exercised whenrepositories.jsonis absentRefs #28
🤖 Generated with Claude Code