Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codeyarduk/homebrew-mordecai
Mordecai Brew Tap
https://github.com/codeyarduk/homebrew-mordecai
cli homebrew homebrew-tap
Last synced: 14 days ago
JSON representation
Mordecai Brew Tap
- Host: GitHub
- URL: https://github.com/codeyarduk/homebrew-mordecai
- Owner: codeyarduk
- License: mit
- Created: 2024-10-22T14:13:52.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-12-05T23:30:14.000Z (about 2 months ago)
- Last Synced: 2024-12-06T00:25:53.989Z (about 2 months ago)
- Topics: cli, homebrew, homebrew-tap
- Language: Ruby
- Homepage: https://mordecaiapp.com
- Size: 10.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mordecai CLI
Mordecai is a command-line interface (CLI) tool designed to link your local codebase with a remote workspace and synchronise file changes in real-time.
**Installation**
```brew tap codeyarduk/mordecai```
```brew install mordecai```
**Usage**
The basic syntax for using Mordecai is:
```mordecai ```
### Available Commands
**link**
```mordecai link```
This command:
- Authenticates the user (if not already authenticated)
- Reads the current directory
- Prompts the user to select a remote workspace
- Sends the initial codebase to the selected workspace
- Starts watching the directory for changes and syncs them in real-time**logout**
```mordecai logout```
Logs out the current user by deleting the stored authentication token.
**--help**
```mordecai --help```
Displays usage information and available commands.
**Key Features**
- Authentication: Uses a browser-based OAuth flow for secure user authentication.
- Workspace Selection: Allows users to choose from available remote workspaces.
- File Synchronization: Watches the local directory for changes and syncs them to the remote workspace.
- Gitignore Support: Respects .gitignore rules when scanning directories.
- File Type Filtering: Syncs only specific file types (e.g., .go, .js, .ts, .py, .html, .css, .json, .rb, .md).**Advanced Concepts**
- Token Management: Securely stores and manages authentication tokens.
- File System Watcher: Utilizes fsnotify for efficient file change detection.
- Debounced Updates: Implements a 5-second debounce to batch file updates.
- Interactive CLI: Uses charmbracelet/bubbles for an enhanced user interface.**Error Handling**
The CLI provides informative error messages for various scenarios, including authentication failures, file reading errors, and network issues.
**Security Considerations**
- Tokens are stored securely in the user's home directory.
- HTTPS is used for all communications with the server.**Limitations**
- Currently supports a predefined list of file extensions.
- Requires an active internet connection for synchronization.For more information or support, please contact [David on X](https://x.com/davidwrossiter).