Loading...
Loading...
Compare original and translation side by side
/learn [url] # Auto: clone via ghq, symlink origin/, then explore
/learn [slug] # Use slug from ψ/memory/slugs.yaml
/learn [repo-path] # Path to repo
/learn [repo-name] # Finds in ψ/learn/owner/repo
/learn --init # Restore all origins after git clone (like submodule init)/learn [url] # Auto: clone via ghq, symlink origin/, then explore
/learn [slug] # Use slug from ψ/memory/slugs.yaml
/learn [repo-path] # Path to repo
/learn [repo-name] # Finds in ψ/learn/owner/repo
/learn --init # Restore all origins after git clone (like submodule init)| Flag | Agents | Files | Use Case |
|---|---|---|---|
| 1 | 1 overview | Quick scan, "what is this?" |
| (default) | 3 | 3 docs | Normal exploration |
| 5 | 5 docs | Master complex codebases |
/learn --fast [target] # Quick overview (1 agent, ~2 min)
/learn [target] # Standard (3 agents, ~5 min)
/learn --deep [target] # Deep dive (5 agents, ~10 min)| 标记 | Agent数量 | 生成文档数 | 使用场景 |
|---|---|---|---|
| 1 | 1份概览文档 | 快速扫描,适用于“这是什么项目?”的需求 |
| (默认) | 3 | 3份文档 | 常规代码库探索 |
| 5 | 5份文档 | 深入学习复杂代码库 |
/learn --fast [target] # Quick overview (1 agent, ~2 min)
/learn [target] # Standard (3 agents, ~5 min)
/learn --deep [target] # Deep dive (5 agents, ~10 min)ψ/learn/
├── .origins # Manifest of learned repos (committed)
└── owner/
└── repo/
├── origin # Symlink to ghq source (gitignored)
├── repo.md # Hub file - links to all sessions (committed)
└── YYYY-MM-DD/ # Date folder
├── 1349_ARCHITECTURE.md # Time-prefixed files
├── 1349_CODE-SNIPPETS.md
├── 1349_QUICK-REFERENCE.md
├── 1520_ARCHITECTURE.md # Second run same day
└── ...unlink ψ/learn/owner/repo/origin # Remove symlink
ghq rm owner/repo # Remove sourceψ/learn/
├── .origins # Manifest of learned repos (committed)
└── owner/
└── repo/
├── origin # Symlink to ghq source (gitignored)
├── repo.md # Hub file - links to all sessions (committed)
└── YYYY-MM-DD/ # Date folder
├── 1349_ARCHITECTURE.md # Time-prefixed files
├── 1349_CODE-SNIPPETS.md
├── 1349_QUICK-REFERENCE.md
├── 1520_ARCHITECTURE.md # Second run same day
└── ...unlink ψ/learn/owner/repo/origin # Remove symlink
ghq rm owner/repo # Remove sourceundefinedundefinedgit submodule initROOT="$(pwd)"git submodule initROOT="$(pwd)"undefinedundefineddate "+🕐 %H:%M %Z (%A %d %B %Y)"ROOT="$(pwd)"
echo "Learning from: $ROOT"origin/origin/READ from: .../ψ/learn/acme-corp/cool-library/origin/
WRITE to: .../ψ/learn/acme-corp/cool-library/2026-02-04/1349_[FILENAME].mddate "+🕐 %H:%M %Z (%A %d %B %Y)"ROOT="$(pwd)"
echo "Learning from: $ROOT"origin/origin/READ from: .../ψ/learn/acme-corp/cool-library/origin/
WRITE to: .../ψ/learn/acme-corp/cool-library/2026-02-04/1349_[FILENAME].mdundefinedundefined
**Verify:**
```bash
ls -la "$ROOT/ψ/learn/$OWNER/$REPO/"Note: Grep tool doesn't follow symlinks. Use:rg -L "pattern" ψ/learn/owner/repo/origin/
**验证**:
```bash
ls -la "$ROOT/ψ/learn/$OWNER/$REPO/"注意:Grep工具不会跟随符号链接。请使用:rg -L "pattern" ψ/learn/owner/repo/origin/
undefinedundefinedundefinedundefinedorigin/specs/ψ/lib/origin/specs/ψ/lib/--fast--deep--fast--deepTODAY = YYYY-MM-DD (e.g., 2026-02-04)
TIME = HHMM (e.g., 1349)
REPO_DIR = [ROOT]/ψ/learn/[OWNER]/[REPO]/
DOCS_DIR = [ROOT]/ψ/learn/[OWNER]/[REPO]/[TODAY]/ ← date folder
SOURCE_DIR = [ROOT]/ψ/learn/[OWNER]/[REPO]/origin/ ← symlink
FILE_PREFIX = [TIME]_ ← time prefix for files
Example:
- ROOT = /home/user/ghq/github.com/my-org/my-oracle
- OWNER = acme-corp
- REPO = cool-library
- TODAY = 2026-02-04, TIME = 1349
- DOCS_DIR = .../ψ/learn/acme-corp/cool-library/2026-02-04/
- Files: 1349_ARCHITECTURE.md, 1349_CODE-SNIPPETS.md, etc.date +%H%Mmkdir -p "$DOCS_DIR"--fast--deep--fast--deepTODAY = YYYY-MM-DD (e.g., 2026-02-04)
TIME = HHMM (e.g., 1349)
REPO_DIR = [ROOT]/ψ/learn/[OWNER]/[REPO]/
DOCS_DIR = [ROOT]/ψ/learn/[OWNER]/[REPO]/[TODAY]/ ← date folder
SOURCE_DIR = [ROOT]/ψ/learn/[OWNER]/[REPO]/origin/ ← symlink
FILE_PREFIX = [TIME]_ ← time prefix for files
Example:
- ROOT = /home/user/ghq/github.com/my-org/my-oracle
- OWNER = acme-corp
- REPO = cool-library
- TODAY = 2026-02-04, TIME = 1349
- DOCS_DIR = .../ψ/learn/acme-corp/cool-library/2026-02-04/
- Files: 1349_ARCHITECTURE.md, 1349_CODE-SNIPPETS.md, etc.date +%H%Mmkdir -p "$DOCS_DIR"You are exploring a codebase.
READ source code from: [SOURCE_DIR]
WRITE your output to: [DOCS_DIR]/[TIME]_OVERVIEW.md
⚠️ IMPORTANT: Write to DOCS_DIR (the date folder), NOT inside origin/!
Analyze:
- What is this project? (1 sentence)
- Key files to look at
- How to use it (install + basic example)
- Notable patterns or techYou are exploring a codebase.
READ source code from: [SOURCE_DIR]
WRITE your output to: [DOCS_DIR]/[TIME]_OVERVIEW.md
⚠️ IMPORTANT: Write to DOCS_DIR (the date folder), NOT inside origin/!
Analyze:
- What is this project? (1 sentence)
- Key files to look at
- How to use it (install + basic example)
- Notable patterns or techREAD source code from: [SOURCE_DIR]
WRITE your output to: [DOCS_DIR]/[TIME]_[filename].md
⚠️ IMPORTANT: Write to DOCS_DIR (the date folder), NOT inside origin/!READ source code from: [SOURCE_DIR]
WRITE your output to: [DOCS_DIR]/[TIME]_[filename].md
⚠️ IMPORTANT: Write to DOCS_DIR (the date folder), NOT inside origin/![TIME]_ARCHITECTURE.md[TIME]_ARCHITECTURE.md[TIME]_CODE-SNIPPETS.md[TIME]_CODE-SNIPPETS.md[TIME]_QUICK-REFERENCE.md[TIME]_QUICK-REFERENCE.mdREAD source code from: [SOURCE_DIR]
WRITE your output to: [DOCS_DIR]/[TIME]_[filename].md
⚠️ IMPORTANT: Write to DOCS_DIR (the date folder), NOT inside origin/!READ source code from: [SOURCE_DIR]
WRITE your output to: [DOCS_DIR]/[TIME]_[filename].md
⚠️ IMPORTANT: Write to DOCS_DIR (the date folder), NOT inside origin/![TIME]_ARCHITECTURE.md[TIME]_ARCHITECTURE.md[TIME]_CODE-SNIPPETS.md[TIME]_CODE-SNIPPETS.md[TIME]_QUICK-REFERENCE.md[TIME]_QUICK-REFERENCE.md[TIME]_TESTING.md[TIME]_TESTING.md[TIME]_API-SURFACE.md[TIME]_API-SURFACE.mdundefinedundefinedundefinedundefinedundefinedundefined| File | Description |
|---|---|
| [REPO].md | Hub (links all sessions) |
| [TODAY]/[TIME]_OVERVIEW.md | Quick overview |
undefined| File | Description |
|---|---|
| [REPO].md | Hub (links all sessions) |
| [TODAY]/[TIME]_OVERVIEW.md | Quick overview |
undefinedundefinedundefined| File | Description |
|---|---|
| [REPO].md | Hub (links all sessions) |
| [TODAY]/[TIME]_ARCHITECTURE.md | Structure |
| [TODAY]/[TIME]_CODE-SNIPPETS.md | Code examples |
| [TODAY]/[TIME]_QUICK-REFERENCE.md | Usage guide |
undefined| File | Description |
|---|---|
| [REPO].md | Hub (links all sessions) |
| [TODAY]/[TIME]_ARCHITECTURE.md | Structure |
| [TODAY]/[TIME]_CODE-SNIPPETS.md | Code examples |
| [TODAY]/[TIME]_QUICK-REFERENCE.md | Usage guide |
undefinedundefinedundefined| File | Description |
|---|---|
| [REPO].md | Hub (links all sessions) |
| [TODAY]/[TIME]_ARCHITECTURE.md | Structure & design |
| [TODAY]/[TIME]_CODE-SNIPPETS.md | Code examples |
| [TODAY]/[TIME]_QUICK-REFERENCE.md | Usage guide |
| [TODAY]/[TIME]_TESTING.md | Test patterns |
| [TODAY]/[TIME]_API-SURFACE.md | Public API |
undefined| File | Description |
|---|---|
| [REPO].md | Hub (links all sessions) |
| [TODAY]/[TIME]_ARCHITECTURE.md | Structure & design |
| [TODAY]/[TIME]_CODE-SNIPPETS.md | Code examples |
| [TODAY]/[TIME]_QUICK-REFERENCE.md | Usage guide |
| [TODAY]/[TIME]_TESTING.md | Test patterns |
| [TODAY]/[TIME]_API-SURFACE.md | Public API |
undefinedundefinedundefined
**After running /learn**, check your repo's `.gitignore` has these patterns so docs are committed but symlinks are ignored.
**执行/learn后**,请检查仓库的`.gitignore`是否包含上述规则,确保文档被提交而符号链接被忽略。--fast--deeporigin/.origins--init--fast--deeporigin/.origins--init