0.0.12 • Published 11 months ago

codespin-sync v0.0.12

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

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

Usage

Start the Server

To start the server and sync a project in the current directory, simply run:

codespin-sync

To sync a project in a different directory, use this:

codespin-sync --project /path/to/your/project

Note 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 to true, the server will automatically exit if no keepalive requests are received for 60 seconds.

Example:

codespin-sync --project /home/user/myproject --port 8080 --auto-exit

Output:

Syncing at http://localhost:8080/project/abc123def456ghi7

Keepalive 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/keepalive

Request 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/write

Request 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/project

Testing

You can run tests to ensure everything is working as expected:

npm test

License

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.

0.0.12

11 months ago

0.0.11

11 months ago

0.0.9

11 months ago

0.0.8

11 months ago

0.0.7

11 months ago

0.0.6

11 months ago

0.0.5

11 months ago

0.0.4

11 months ago

0.0.3

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago