codefix
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

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 codefix

Usage

Start the Server

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

codefix

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

codefix --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:

codefix --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.

Readme

Keywords

Package Sidebar

Install

npm i codefix

Weekly Downloads

5

Version

0.0.2

License

MIT

Unpacked Size

43.5 kB

Total Files

24

Last publish

Collaborators

  • jeswin