Claude forgets everything when the session ends. CodeSyncer makes it remember.
ํ๊ตญ์ด ๋ฌธ์ | English
| Problem | Without CodeSyncer | With CodeSyncer |
|---|---|---|
| Context loss | Every session = start from scratch | Tags in code = permanent memory |
| Decision amnesia | "Why did we use JWT?" โ ๐คท | @codesyncer-decision โ instant recall |
| Dangerous inference | AI guesses prices, endpoints, auth | Auto-pause on critical keywords |
| Untracked changes | No record of AI's reasoning | codesyncer watch catches everything |
Result: AI that actually learns your project, not just your current prompt.
The core insight: AI reads code. So put your context IN the code.
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐งโ๐ป Code with Claude โ
โโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโ
โ Decision? โ
โโโโโโโโฌโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ @codesyncer-decision โ
โ @codesyncer-inference โ
โโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Saved in code โ
โโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ Next session โ
โ Claude reads code โ
โโโโโโโโโโโโโฌโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
Context recovered! โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
// @codesyncer-decision: [2024-01-15] Using JWT (session management is simpler)
// @codesyncer-inference: Page size 20 (standard UX pattern)
// @codesyncer-rule: Use httpOnly cookies (XSS prevention)
const authConfig = { /* ... */ };Next session? Claude reads your code and automatically recovers all context.
Problem: Claude might forget to add tags while coding.
Solution: Run codesyncer watch to catch untagged changes.
codesyncer watch[14:32:10] ๐ Changed: src/utils/api.ts
โโโ โ ๏ธ No tags!
๐ก Hint: Add @codesyncer-inference for inferences
[14:33:22] ๐ Changed: src/auth/login.ts
โโโ ๐ฏ Found: @codesyncer-decision
"Use React Query instead of SWR"
โโโ โ
Added to DECISIONS.md
Why this matters: Every code change is an opportunity to capture context. Watch mode ensures nothing slips through.
| Feature | Description |
|---|---|
| ๐ท๏ธ Tag System | @codesyncer-decision, @codesyncer-inference, @codesyncer-rule - permanent context in code |
| ๐ Watch Mode | Real-time monitoring, warns on untagged changes, auto-syncs to DECISIONS.md |
| โ Validate | Check tag coverage, find missing documentation, get fix suggestions |
| ๐ค Auto-Pause | Detects payment/security/auth keywords โ asks before coding |
| ๐ฆ Monorepo | Auto-detects Turborepo, pnpm, Nx, Lerna, npm/yarn workspaces |
| ๐ Multi-Language | Full Korean and English support |
| ๐ Security | Path traversal protection and input validation |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. SETUP (once) โ
โ $ npm install -g codesyncer โ
โ $ codesyncer init โ
โ โ Creates CLAUDE.md, SETUP_GUIDE.md โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 2. TEACH AI (once per session) โ
โ Open Claude Code and say: โ
โ "Read CLAUDE.md" โ
โ โ Claude learns the tagging system โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 3. CODE (with watch mode running) โ
โ $ codesyncer watch โ Run in background โ
โ Code with Claude as normal โ
โ โ Claude adds @codesyncer-* tags automatically โ
โ โ Watch mode alerts if tags are missing โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 4. NEXT SESSION โ
โ Claude reads your code โ sees the tags โ
โ โ Context automatically recovered! โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Supported AI Tools:
- โ Claude Code (Recommended)
- ๐ง Cursor, GitHub Copilot, Continue.dev (Coming soon)
npm install -g codesyncercodesyncer --versionnpm view codesyncer versionnpm install -g codesyncer@latestWhen you update CodeSyncer to a new version, first validate your setup, then sync:
cd /path/to/your/multi-repo-workspace
# Step 1: Check your setup (NEW in v2.7.0)
codesyncer validate
# Step 2: Fix any issues
codesyncer updateThe validate command checks your CodeSyncer setup and reports issues:
codesyncer validate # Basic validation
codesyncer validate --verbose # Show file pathsWhat it checks:
- โ
Master setup exists (
.codesyncer/MASTER_CODESYNCER.md) - โ
Root
CLAUDE.mdfor AI auto-loading - โ
All repositories have required
.claude/files - โ No unfilled placeholders in generated files
- โ Language configuration
Example output:
๐ CodeSyncer - Validate
๐ Info
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Repository Count: 3
Configured Repos: 2/3
Language: en (config.json)
โ ๏ธ Warnings
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โข mobile-app: Missing ARCHITECTURE.md
โข No root CLAUDE.md (AI auto-load disabled)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๏ธ Validation passed with 2 warning(s)
๐ก To fix issues:
codesyncer update
Sync your project with the latest templates and features:
What happens:
- โ Scans for new repositories added to your workspace
- โ Detects missing files from new versions (e.g., root CLAUDE.md in v2.1.2+)
- โ Auto-detects your language settings (English/Korean)
- โ Prompts before creating any new files
- โ Preserves your existing customizations
- โ NEW in v3.1.0: Detects outdated templates and offers upgrade
Example output:
๐ CodeSyncer - Update System
โ Scan complete
โ ๏ธ Missing root CLAUDE.md (new in v2.1.2)
This file allows Claude to automatically load context at session start.
? Create root CLAUDE.md? (Y/n) Y
โ Root CLAUDE.md created!
๐ก Claude will now automatically load context at session start!
๐ค Next Steps (Tell your AI):
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Option 1) Start a new session
Claude will automatically find and read root CLAUDE.md
Option 2) Apply immediately in current session
"Read CLAUDE.md"
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
Update complete!
When you update CodeSyncer to a new version, your existing template files may be outdated. The update command now automatically detects this:
๐ฆ New Version Detected: v3.1.0
๐ my-project/
โข CLAUDE.md (v3.0.0 โ v3.1.0)
โข COMMENT_GUIDE.md (no version โ v3.1.0)
? Upgrade 2 template(s)?
> Yes - Upgrade (backup existing files to .backup)
No - Skip
Preview - Show files only
Features:
- ๐ Automatically detects outdated templates by reading version metadata
- ๐พ Creates
.backupfiles before upgrading (e.g.,CLAUDE.md.backup.2024-01-17) - ๐ Preserves project variables (project name, tech stack) during upgrade
- ๐๏ธ Preview option to see what would change
After running codesyncer update:
Choose one of these options to apply changes:
Option 1: Start a new AI session (Recommended)
- Close your current AI assistant
- Open a new session
- Claude automatically finds and reads root CLAUDE.md
Option 2: Apply in current session
- Tell your AI: "Read CLAUDE.md"
- AI loads the updated context immediately
npm install -g codesyncerOpen your AI coding assistant:
- Claude Code (Recommended)
- Cursor
- GitHub Copilot
- Or any other AI coding tool
Make sure it's active and running.
cd /path/to/your/projectCodeSyncer works with single repositories, multi-repo workspaces, and monorepos:
Single Repository (auto-detected):
my-project/
โโโ package.json
โโโ src/
โโโ ...
Multi-Repository Workspace:
workspace/
โโโ backend/
โโโ frontend/
โโโ mobile/
Monorepo (auto-detected via Turborepo, pnpm, Nx, Lerna, npm/yarn workspaces):
monorepo/
โโโ package.json # workspaces: ["packages/*", "apps/*"]
โโโ turbo.json # or pnpm-workspace.yaml, nx.json, lerna.json
โโโ packages/
โ โโโ shared/
โ โโโ ui/
โโโ apps/
โโโ web/
โโโ api/
codesyncer initYou'll be asked:
- Language preference (Korean/English)
- Project name
- GitHub username
What happens:
| Mode | Detection | Output |
|---|---|---|
| Single Repo | Current folder has package.json, .git, etc. |
Creates .claude/SETUP_GUIDE.md |
| Monorepo | Has turbo.json, pnpm-workspace.yaml, nx.json, lerna.json, or workspaces in package.json |
Creates .codesyncer/SETUP_GUIDE.md with package-aware setup |
| Multi-Repo | Subfolders contain separate repositories | Creates .codesyncer/SETUP_GUIDE.md |
That's all CodeSyncer does! It provides the framework and rules. Now your AI takes over.
๐ฏ Don't skip this step! This is where the magic happens.
Launch Claude Code (or your preferred AI assistant) and say:
For Single Repository:
"Read .claude/SETUP_GUIDE.md and follow the instructions to set up"
For Multi-Repository Workspace:
"Read .codesyncer/SETUP_GUIDE.md and follow the instructions to set up"
1๏ธโฃ AI Analyzes Your Code
- Reads actual files in each repository
- Detects tech stack, patterns, and structure
- Understands your project architecture
2๏ธโฃ AI Asks Critical Questions (Never assumes!)
- โ "What are your API endpoints?"
- โ "What's your pricing and business logic?"
- โ "Which authentication method do you use?"
- โ "What's your database schema?"
- โ "Which external services do you integrate?"
3๏ธโฃ AI Generates Complete Documentation
.codesyncer/MASTER_CODESYNCER.mdโ Multi-repo navigation<repo>/.claude/CLAUDE.mdโ Coding rules<repo>/.claude/ARCHITECTURE.mdโ Project structure<repo>/.claude/DECISIONS.mdโ Decision log<repo>/.claude/COMMENT_GUIDE.mdโ Comment tag guide
๐ก Why this works: AI analyzes YOUR actual code and asks YOU questions. The generated docs are tailored to your specific project, not generic templates.
Once setup is complete, just tell your AI:
"Read CLAUDE.md"
Your AI assistant will then:
- Follow your project's coding rules
- Use the correct tech stack patterns
- Ask before making critical decisions
- Record all decisions with
@codesyncer-*tags
codesyncer initcodesyncer updatecodesyncer watch # Start real-time monitoring
codesyncer watch --log # With file loggingWhat it does:
- Monitors file changes in real-time
- Auto-syncs
@codesyncer-*tags toDECISIONS.md - Beautiful console output with session statistics
Example output:
[14:32:10] โจ Changed: src/utils/api.ts
โโโ ๐ฏ Found: @codesyncer-decision
"Use React Query instead of SWR"
โโโ โ
Added to DECISIONS.md
codesyncer add-repoCodeSyncer uses a structured comment tag system to permanently record all AI inferences and decisions in your code.
| Tag | Purpose | Example |
|---|---|---|
@codesyncer-rule |
Special rules for non-standard implementations | // @codesyncer-rule: Use any type here (external lib has no types) |
@codesyncer-inference |
AI inferred something with rationale | // @codesyncer-inference: Page size 20 (standard UX) |
@codesyncer-decision |
Post-discussion decision | // @codesyncer-decision: [2024-10-15] Using Stripe (intl payment) |
@codesyncer-todo |
Needs user confirmation | // @codesyncer-todo: Confirm API endpoint URL |
@codesyncer-context |
Business context explanation | // @codesyncer-context: GDPR compliance (30-day retention) |
Existing @claude-* tags are fully compatible:
@claude-rule = @codesyncer-rule
@claude-inference = @codesyncer-inference
@claude-decision = @codesyncer-decision
@claude-todo = @codesyncer-todo
@claude-context = @codesyncer-contextCodeSyncer automatically pauses AI work when critical keywords are detected, preventing costly mistakes.
- ๐ฐ Payment & Billing: payment, billing, subscription, charge, refund
- ๐ Auth & Security: authentication, login, permission, encrypt, token, jwt
- ๐๏ธ Data Operations: delete, remove, drop, migrate, schema change
- ๐ Privacy & Compliance: personal data, GDPR, privacy, PII
- AI detects keyword (e.g., "payment")
- Automatically pauses work
- Presents recommendation + alternatives
- Waits for your decision
- Records decision in
DECISIONS.md+ code comments - Resumes work
CodeSyncer fully supports both Korean and English:
- Installation prompts
- Generated documentation
- Comment guidelines
- All UI messages
Switch language anytime during setup or use language-specific commands.
CodeSyncer automatically detects your project type and tech stack:
Supported:
- โ Java (Spring Boot)
- ๐ Python (Django, FastAPI)
- ๐ TypeScript / JavaScript
- โ๏ธ React / Next.js
- ๐ข Node.js / Express
- ๐ฑ React Native
Detection happens automatically by scanning:
package.json,pom.xml,build.gradle,requirements.txt- Folder structure and dependency lists
User: "Add Stripe payment integration"
AI: โ ๏ธ 'payment' keyword detected. Discussion needed.
๐ก Recommendation: Use Stripe
๐ Alternatives:
A. Iamport (Korea only)
B. Toss Payments
C. Custom implementation
How would you like to proceed?
User: "Proceed"
AI: โ
Recording decision...
Creating:
- backend/src/services/PaymentService.ts
/**
* @codesyncer-decision: [2024-11-12] Using Stripe (international support)
* @codesyncer-context: Support USD, EUR, KRW
*/
- frontend/src/components/PaymentForm.tsx
- DECISIONS.md updated
โ
Payment integration complete!- AI makes assumptions about critical business logic
- No record of why decisions were made
- Lost context switching between repos
- Inconsistent coding patterns across team
- AI pauses for important decisions
- All decisions permanently recorded
- Seamless multi-repo workflows
- Consistent collaboration system
- Onboarding new team members takes minutes
- Claude Code (Full support)
- Cursor
- GitHub Copilot
- Continue.dev
- Codeium
Want to add support for your favorite AI tool? Contribute here!
After running codesyncer init, your project will look like:
my-project/
โโโ CLAUDE.md # Claude reads this first
โโโ .claude/
โโโ CLAUDE.md # Coding guidelines
โโโ COMMENT_GUIDE.md # Tag usage guide
โโโ ARCHITECTURE.md # Project structure
โโโ DECISIONS.md # Decision log
workspace/
โโโ CLAUDE.md # Claude reads this first
โโโ .codesyncer/
โ โโโ MASTER_CODESYNCER.md # Multi-repo auto-switching guide
โโโ backend/
โ โโโ .claude/
โ โโโ CLAUDE.md # Coding guidelines
โ โโโ COMMENT_GUIDE.md # Tag usage guide
โ โโโ ARCHITECTURE.md # Project structure
โ โโโ DECISIONS.md # Decision log
โโโ frontend/
โ โโโ .claude/
โ โโโ (same files)
โโโ mobile/
โโโ .claude/
โโโ (same files)
monorepo/
โโโ CLAUDE.md # Claude reads this first
โโโ .codesyncer/
โ โโโ MASTER_CODESYNCER.md # Package navigation guide
โโโ packages/
โ โโโ shared/
โ โ โโโ .claude/
โ โ โโโ (same files)
โ โโโ ui/
โ โโโ .claude/
โ โโโ (same files)
โโโ apps/
โโโ web/
โ โโโ .claude/
โ โโโ (same files)
โโโ api/
โโโ .claude/
โโโ (same files)
Supported Monorepo Tools:
- โ
Turborepo (
turbo.json) - โ
pnpm (
pnpm-workspace.yaml) - โ
Nx (
nx.json) - โ
Lerna (
lerna.json) - โ
npm/Yarn workspaces (
package.jsonwithworkspacesfield) - โ
Rush (
rush.json)
In Expert setup mode, you can add custom keywords:
codesyncer init --mode expertThen select "Add custom keywords" and specify:
- Keywords to detect
- Severity level (CRITICAL/IMPORTANT/MINOR)
- Description
Run codesyncer update to:
- Refresh project structure in
ARCHITECTURE.md - Update comment tag statistics
- Rescan file structure
Find all tagged comments in your codebase:
# All inferences
grep -r "@codesyncer-inference" ./src
# All TODOs
grep -r "@codesyncer-todo" ./src
# All decisions
grep -r "@codesyncer-decision" ./srcWe welcome contributions! CodeSyncer is open source and community-driven.
- Fork this repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/codesyncer.git - Create a branch:
git checkout -b feature/amazing-feature - Make changes and commit:
git commit -m "feat: Add amazing feature" - Push to your fork:
git push origin feature/amazing-feature - Open a Pull Request on GitHub
- ๐ค Add support for more AI tools (Cursor, Copilot, Continue.dev)
- ๐ Additional language translations (Japanese, Chinese, Spanish)
- ๐ฆ More tech stack templates (Go, Rust, Ruby, PHP)
- ๐ Documentation improvements
- ๐ Bug fixes
See CONTRIBUTING.md for detailed contribution guidelines.
- ๐ Open an Issue
- ๐ก Start a Discussion
Commons Clause License + MIT
- โ Free to use for personal and non-commercial projects
- โ Free to fork and modify the code
- โ Free to contribute back to the project
- โ Cannot sell this software or provide it as a paid service
See LICENSE file for full details.
Why Commons Clause? We want CodeSyncer to remain free and accessible to all developers while preventing commercial exploitation. If you need a commercial license, please contact us.
Q: Does this only work with Claude Code? A: Currently, yes. But we're building support for Cursor, GitHub Copilot, and other tools. Contributions welcome!
Q: Can I use this on a single repository?
A: Yes! CodeSyncer automatically detects if you're in a single repo (has package.json, .git, etc.) and creates .claude/SETUP_GUIDE.md instead of the multi-repo structure.
Q: Does this work with monorepos (Turborepo, pnpm, Nx, Lerna)?
A: Yes! As of v2.4.0, CodeSyncer automatically detects monorepo configurations (turbo.json, pnpm-workspace.yaml, nx.json, lerna.json, or package.json with workspaces) and scans all packages in your workspace patterns.
Q: Will this slow down AI responses? A: No. CodeSyncer only adds documentation files that AI reads once per session. It actually makes AI more efficient by providing context upfront.
Q: Can I customize the keyword detection? A: Yes, use Expert setup mode to fully customize which keywords trigger discussions.
Q: Is my code/data sent anywhere? A: No. CodeSyncer is a purely local CLI tool that generates documentation files in your repos. Nothing is sent to external servers.
If CodeSyncer helps your team, please:
- โญ Star this repo
- ๐ฆ Share on Twitter
- ๐ Write about your experience
- ๐ค Contribute improvements
If you'd like to support the development of CodeSyncer, you can donate via cryptocurrency:
Ethereum (ETH) / ERC-20 Tokens:
0x0a12177c448778a37Fa4EeA57d33D06713F200De
Your support helps maintain and improve CodeSyncer! ๐
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Built with โค๏ธ by the CodeSyncer community
Making AI collaboration seamless, one repo at a time.
