Codync
A free, open-source 1:1 alternative to Grok Bot and Muse. Message Claude Code, Codex, Cursor and 40+ coding agents as persistent bots from your iPhone, Mac or Linux desktop. Group chats, threads, appr
Write your scripts in JavaScript/TypeScript and run them anywhere with automatic tooling.
Developer toolsJavaScript · ShellGitHub @lguzzonOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Cross-platform command runner tools (sh, bat, mjs)"
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Install · See It Work · Getting Started · Docs
[!IMPORTANT] What runcmd touches: Installs Bun to
~/.bun. Creates a state file at~/.runcmd/state.json. Makes weekly network calls tolguzzon.github.io/runcmd/version.txtto check for updates (disable withRUNCMD_NO_UPDATE=1). Runs shell commands you provide. Uninstall by deleting~/.bun,~/.runcmd, and the runner file.
You write a .mjs script. Now you need Bun installed, .env loaded, tools wired up, arguments parsed — the boilerplate that has nothing to do with your logic.
If you have used npx or bunx to run ad-hoc packages, you already know the convenience. runcmd is the same idea for your own scripts: it wraps Bun installation, path resolution, environment loading, and development tooling into one file.
What's different: no package.json, no npm install, no config. Copy the runner, write your .mjs, run it.
# Download the runner
curl -fsSL https://lguzzon.github.io/runcmd/runcmd.sh -o runcmd.sh
chmod +x runcmd.sh
# Create a script
echo 'console.log("hello from runcmd");' > runcmd.mjs
# Run it
./runcmd.sh
# hello from runcmd
That installed Bun, loaded your script, and ran it. One command.
curl -fsSL https://lguzzon.github.io/runcmd/runcmd.sh -o runcmd.sh
chmod +x runcmd.sh
Save runcmd.bat, runcmd-update.js and runcmd-update.manifest.js to your project directory and run:
runcmd.bat
runcmd.bat +d # debug mode
runcmd.bat +check # format and lint
On Windows the runner resolves .js, .mjs, .ts and .py scripts. .js, .mjs and .ts run under Bun; .py runs through mise exec python@latest.
Copy runcmd.sh to any name. It automatically discovers the matching .mjs file:
cp runcmd.sh build.sh
# Now writes build.mjs and runs it with ./build.sh
./runcmd.sh # Run runcmd.mjs
./runcmd.sh +debug # Enable timing and verbose logs
./runcmd.sh +r ./path/to/app.mjs # Run a different script
./runcmd.sh +check # Run all quality checks
This formats shell scripts with shfmt, sorts JSON, lints with oxlint, and formats JS/TS with oxfmt — all through bunx, auto-installed on first use.
runcmd loads .env from the script directory, then from the current directory (overrides allowed):
# .env file
DB_HOST=localhost
DB_PORT=5432
The runner script (runcmd.sh / runcmd.bat) handles everything except your logic:
runcmd.sh
↓ Detect Bun (install to ~/.bun if missing)
↓ Load .env files (script dir → current dir)
↓ Resolve target script (+r flag → cwd → runner dir)
↓ Execute .mjs with args forwarded
↓ Propagate exit code
+r <path> flag — explicit path<runner>.mjs in the current directory<runner>.mjs in the runner's own directory| Flag | Level | Detail |
|---|---|---|
+debug or DEBUG=1 | Basic | Execution flow timing |
+dd | File ops | + file read/write tracing |
+ddd | Full echo | All operations |
+d0 | Off | Disable debug |
The scripts/ directory contains a git-flow automation CLI:
bun scripts/git-flow.js start feature new-auth
bun scripts/git-flow.js finish feature new-auth
bun scripts/git-flow.js release start --bump minor
| Command | Description |
|---|---|
init | Initialize git-flow |
start <type> <name> | Create feature/release/hotfix |
finish <type> <name> | Merge to develop/main |
publish <type> <name> | Push branch to remote |
delete <type> <name> | Delete branch |
release start --bump <ver> | Create release branch |
hotfix finish --tag <v> | Complete hotfix |
sync --dry-run | Preview main/develop sync |
clone <url> [dir] | Clone and init git-flow |
runcmd/
├── runcmd.sh # Unix/macOS runner
├── runcmd.bat # Windows runner
├── runcmd.mjs # Default target script
├── version.txt # Current version
├── CHANGELOG.md # Release history
├── LICENSE # MIT
├── scripts/ # Git-flow automation
│ ├── git-flow.js
│ ├── commands/ # Branch operations
│ ├── lib/ # Shared utilities
│ └── operations/ # Release/hotfix/sync
├── website/ # Astro documentation site
│ ├── src/
│ └── package.json
└── .github/workflows/ # CI/CD
| Variable | Effect | Default |
|---|---|---|
DEBUG | Enable debug logging | 0 |
RUNCMD_NO_UPDATE | Disable auto-update checks | 0 |
RUNCMD_HOME | State directory path | ~/.runcmd |
Everything else (Bun, oxlint, oxfmt, shfmt, json-sort-cli) is auto-installed.
./runcmd.sh +check to verify code qualityMIT — see LICENSE.
Version 2.1.2