codespin-sync
v0.0.12
Published
Sync codespaces with browser extensions
Readme
Codespin Sync Server
A lightweight CLI tool to sync code with an IDE, run as a background server, and handle code updates securely.
Features
- Run as a Background Server: Automatically forks the server process to run in the background when started.
- Alphanumeric Project ID: Generates a unique alphanumeric ID for each project session.
- Automatic Port Selection: Randomly selects an available port if none is provided.
- Keepalive Mechanism: Option to automatically terminate the server if no keepalive requests are received for 60 seconds.
- Secure File Writing: Validates the file path before writing to ensure it's within the project directory.
Installation
npm i -g codespin-syncUsage
Start the Server
To start the server and sync a project in the current directory, simply run:
codespin-syncTo sync a project in a different directory, use this:
codespin-sync --project /path/to/your/projectNote the url printed.
Options:
--project(required): The absolute path to the project directory you want to sync.--port(optional): The port number to run the server on. If not provided, a random available port will be selected.--auto-exit(optional): If set totrue, the server will automatically exit if no keepalive requests are received for 60 seconds.
Example:
codespin-sync --project /home/user/myproject --port 8080 --auto-exitOutput:
Syncing at http://localhost:8080/project/abc123def456ghi7Keepalive Endpoint
To keep the server running (if --auto-exit was mentioned), send a POST request to the following endpoint:
POST http://localhost:8080/project/abc123def456ghi7/keepaliveRequest Body:
{
"id": "abc123def456ghi7"
}Write Code to the Project
To write code to a file in the project, send a POST request to the following endpoint:
POST http://localhost:8080/project/abc123def456ghi7/writeRequest Body:
{
"id": "abc123def456ghi7",
"type": "code",
"filePath": "src/index.js",
"contents": "console.log('Hello, world!');"
}Development
Running the Server Locally
To run the server locally for development, you can use the following command:
npm start -- --project /path/to/your/projectTesting
You can run tests to ensure everything is working as expected:
npm testLicense
MIT License. See LICENSE for more information.
Contributions
Contributions are welcome! Please submit a pull request or open an issue to discuss any changes or enhancements.
This README provides a comprehensive overview of your project, including installation, usage, and development instructions. You can customize it further to suit your specific needs.
