Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 24 days 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 (3 months ago)
- Default Branch: main
- Last Pushed: 2024-08-19T12:13:23.000Z (3 months ago)
- Last Synced: 2024-10-02T05:04:00.543Z (about 1 month ago)
- Topics: claude, electron, file-synchronization, ia, javascript, nodejs
- Language: JavaScript
- Homepage:
- Size: 936 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Claude Sync
![GitHub](https://img.shields.io/github/license/bob6664569/claude-sync)
![assets/capture.png](assets/capture.png)
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 [email protected]: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_URL=https://api.claude.ai/api/
```## 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) - [email protected]
Project Link: [https://github.com/bob6664569/claude-sync](https://github.com/bob6664569/claude-sync)