Skip to content

nickoine/codesyncer

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

71 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CodeSyncer CLI

Claude forgets everything when the session ends. CodeSyncer makes it remember.

npm version License GitHub stars GitHub issues

ํ•œ๊ตญ์–ด ๋ฌธ์„œ | English


โšก The Problem โ†’ The Solution

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.


๐ŸŽฌ Demo

CodeSyncer Demo


๐Ÿง  How It Works

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.


๐Ÿ”ฅ Watch Mode: Never Lose Context Again

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.


โœจ Full Feature List

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

๐Ÿ”„ Complete Workflow

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  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)

๐Ÿ“ฆ Installation

npm install -g codesyncer

๐Ÿ”„ Updating CodeSyncer

Check your current version

codesyncer --version

Check latest version

npm view codesyncer version

Update to latest

npm install -g codesyncer@latest

After updating, validate and sync your project

When 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 update

New in v2.7.0: codesyncer validate

The validate command checks your CodeSyncer setup and reports issues:

codesyncer validate           # Basic validation
codesyncer validate --verbose # Show file paths

What it checks:

  • โœ… Master setup exists (.codesyncer/MASTER_CODESYNCER.md)
  • โœ… Root CLAUDE.md for 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

codesyncer update

Sync your project with the latest templates and features:

What happens:

  1. โœ… Scans for new repositories added to your workspace
  2. โœ… Detects missing files from new versions (e.g., root CLAUDE.md in v2.1.2+)
  3. โœ… Auto-detects your language settings (English/Korean)
  4. โœ… Prompts before creating any new files
  5. โœ… Preserves your existing customizations
  6. โœ… 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!

Template Upgrade (NEW in v3.1.0)

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 .backup files 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

๐Ÿš€ Quick Start

Step 1: Install CodeSyncer

npm install -g codesyncer

Step 2: Launch your AI assistant

Open your AI coding assistant:

  • Claude Code (Recommended)
  • Cursor
  • GitHub Copilot
  • Or any other AI coding tool

Make sure it's active and running.

Step 3: Navigate to your project

cd /path/to/your/project

CodeSyncer 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/

Step 4: Initialize CodeSyncer

codesyncer init

You'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.


โš ๏ธ IMPORTANT: Step 5 - Let AI Set Everything Up

๐ŸŽฏ 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"

What happens next (automatically):

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.


Step 6: Start Coding!

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

๐Ÿ“š Usage

Initialize collaboration system

codesyncer init

Update project structure

codesyncer update

Watch Mode (NEW in v2.6.0)

codesyncer watch         # Start real-time monitoring
codesyncer watch --log   # With file logging

What it does:

  • Monitors file changes in real-time
  • Auto-syncs @codesyncer-* tags to DECISIONS.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

Add new repository to workspace

codesyncer add-repo

๐Ÿท๏ธ Comment Tag System

CodeSyncer uses a structured comment tag system to permanently record all AI inferences and decisions in your code.

Available Tags

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)

Legacy Compatibility

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-context

๐Ÿค Auto-Discussion System

CodeSyncer automatically pauses AI work when critical keywords are detected, preventing costly mistakes.

Critical Keywords (Auto-Enabled)

  • ๐Ÿ’ฐ 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

How It Works

  1. AI detects keyword (e.g., "payment")
  2. Automatically pauses work
  3. Presents recommendation + alternatives
  4. Waits for your decision
  5. Records decision in DECISIONS.md + code comments
  6. Resumes work

๐ŸŒ Multi-Language Support

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.


๐Ÿ”ง Tech Stack Auto-Detection

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

๐Ÿ“– Example Workflow

Scenario: Adding Payment Feature

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!

๐ŸŽฏ Why CodeSyncer?

Before CodeSyncer โŒ

  • AI makes assumptions about critical business logic
  • No record of why decisions were made
  • Lost context switching between repos
  • Inconsistent coding patterns across team

After CodeSyncer โœ…

  • AI pauses for important decisions
  • All decisions permanently recorded
  • Seamless multi-repo workflows
  • Consistent collaboration system
  • Onboarding new team members takes minutes

๐Ÿค– Supported AI Tools

โœ… Currently Supported

  • Claude Code (Full support)

๐Ÿšง Coming Soon (Community Contributions Welcome!)

  • Cursor
  • GitHub Copilot
  • Continue.dev
  • Codeium

Want to add support for your favorite AI tool? Contribute here!


๐Ÿ“ Project Structure

After running codesyncer init, your project will look like:

Single Repository Mode

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

Multi-Repository Mode

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 Mode (NEW in v2.4.0)

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.json with workspaces field)
  • โœ… Rush (rush.json)

๐Ÿ› ๏ธ Advanced Usage

Custom Keywords

In Expert setup mode, you can add custom keywords:

codesyncer init --mode expert

Then select "Add custom keywords" and specify:

  • Keywords to detect
  • Severity level (CRITICAL/IMPORTANT/MINOR)
  • Description

Updating Existing Projects

Run codesyncer update to:

  • Refresh project structure in ARCHITECTURE.md
  • Update comment tag statistics
  • Rescan file structure

๐Ÿ” Searching Tags

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" ./src

๐Ÿค Contributing

We welcome contributions! CodeSyncer is open source and community-driven.

๐Ÿš€ Quick Start for Contributors

  1. Fork this repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/codesyncer.git
  3. Create a branch: git checkout -b feature/amazing-feature
  4. Make changes and commit: git commit -m "feat: Add amazing feature"
  5. Push to your fork: git push origin feature/amazing-feature
  6. Open a Pull Request on GitHub

๐ŸŽฏ Priority Areas for Contribution

  • ๐Ÿค– 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

๐Ÿ“– Guidelines

See CONTRIBUTING.md for detailed contribution guidelines.

๐Ÿ’ฌ Questions?


๐Ÿ“ License

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.


๐Ÿ™‹ FAQ

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.


๐ŸŒŸ Show Your Support

If CodeSyncer helps your team, please:

  • โญ Star this repo
  • ๐Ÿฆ Share on Twitter
  • ๐Ÿ“ Write about your experience
  • ๐Ÿค Contribute improvements

๐Ÿ’ฐ Support Development

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! ๐Ÿ™


๐Ÿ“ฎ Contact


Built with โค๏ธ by the CodeSyncer community

Making AI collaboration seamless, one repo at a time.

About

Claude forgets everything when the session ends. CodeSyncer makes it remember.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 98.3%
  • JavaScript 1.7%