https://github.com/bob6664569/claude-sync
Keep your files in sync with your Claude Projects
https://github.com/bob6664569/claude-sync
claude electron file-synchronization ia javascript nodejs
Last synced: 3 months ago
JSON representation
Keep your files in sync with your Claude Projects
- Host: GitHub
- URL: https://github.com/bob6664569/claude-sync
- Owner: bob6664569
- License: wtfpl
- Created: 2024-08-14T08:29:09.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-28T10:35:59.000Z (about 1 year ago)
- Last Synced: 2025-04-28T11:31:38.517Z (about 1 year ago)
- Topics: claude, electron, file-synchronization, ia, javascript, nodejs
- Language: JavaScript
- Homepage:
- Size: 1.02 MB
- Stars: 8
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Claude Sync


Claude Sync is a desktop application developed with Electron for synchronizing files with Claude's "Projects" feature. It provides an intuitive user interface for selecting and syncing files and folders with your Claude projects.
## Features
- Using Claude authentication with the default magic link system
- Selection of files and folders to synchronize with Claude Projects
- Intuitive user interface with file tree visualization
- Real-time console for tracking file modifications
- Dark mode support
## Prerequisites
- Node.js (version 18.0.0 or higher)
- npm (usually installed with Node.js)
## Installation
1. Clone this repository:
```
git clone git@github.com:bob6664569/claude-sync.git
```
2. Navigate to the project folder:
```
cd claude-sync
```
3. Install dependencies:
```
npm install
```
## Configuration
Just create a `.env` file in the root of the project and add the necessary environment variables:
```
API_BASE_URL=https://api.claude.ai/api/
RECAPTCHA_SITE_KEY=s1t3k3y
```
## Usage
1. To launch the application in development mode:
```
npm start
```
2. To build the application for production:
```
npm run build
```
## Project Structure
```
claude-sync/
├── src/
│ ├── main/
│ │ ├── index.js
│ │ ├── api-client.js
│ │ ├── ipc-handlers.js
│ │ ├── menu.js
│ │ ├── store.js
│ │ └── windows.js
│ ├── renderer/
│ │ ├── login.html
│ │ ├── login.js
│ │ ├── main.html
│ │ ├── main.js
│ │ ├── project-selection.html
│ │ ├── project-selection.js
│ │ └── styles.css
│ └── utils/
│ ├── config.js
│ ├── file-utils.js
│ └── logger.js
├── package.json
├── README.md
└── .gitignore
```
```mermaid
graph TD
A[Main Process] --> B[IPC Handlers]
A --> C[Windows Management]
A --> D[Store]
A --> E[API Client]
B --> F[Renderer Process: Login]
B --> G[Renderer Process: Main]
B --> H[Renderer Process: Project Selection]
G --> I[File Watcher]
G --> J[Sync Queue]
E --> K[Claude API]
D --> L[Electron Store]
subgraph Utils
M[Config]
N[File Utils]
O[Logger]
end
G --> Utils
B --> Utils
E --> Utils
```
## Contributing
Contributions are welcome! To contribute:
1. Fork the project
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
This project is licensed under the WTFPL (Do What The F*ck You Want To Public License). For more information, see the [LICENSE](LICENSE) file in this repository or visit [http://www.wtfpl.net/](http://www.wtfpl.net/).
## Contact
[@bob6664569](https://twitter.com/bob6664569) - johan@trilogik.net
Project Link: [https://github.com/bob6664569/claude-sync](https://github.com/bob6664569/claude-sync)