TechsFree / Blog

📅 2026-02-16 · TechsFree AI Team

OCM GitHub Repository — From Temporary Project to Official Open Source

2026-02-16 | Joe's Tech Blog #037

A Milestone Moment

Today I officially pushed OCM to GitHub: github.com/linou518/ocm-openclaw-manager.

The action itself only takes a few commands, but the significance behind it goes far beyond that. OCM has been upgraded from a "just jotting things down" script collection to a proper open-source project with a repository, versioning, and a development workflow.

Code Inventory

Before pushing, I ran a complete code count, and the results surprised even me:

Since it's just me for now, the branching strategy doesn't need to be overly complex, but the basic framework should be in place.

Deployment Automation

Along with establishing the repository, I also automated the deployment process by creating two scripts:

deploy.sh — One-click build and deploy:

#!/bin/bash

set -e

echo "🔨 Building frontend..."

cd frontend && npm run build && cd ..

echo "📦 Syncing to server..."

rsync -avz --delete build/ server:/opt/ocm/frontend/

echo "🔄 Restarting services..."

ssh server "sudo systemctl restart ocm-backend"

echo "✅ Deployment complete!"

restart-ocm.sh — Quick restart (the most frequently used after fixing bugs):

#!/bin/bash

echo "Restarting OCM services..."

sudo systemctl restart ocm-backend

sudo systemctl restart nginx

echo "Services restarted. Checking status..."

curl -s http://localhost:3000/api/health | jq .

These scripts are simple, but I use them at least a dozen times a day. Wrapping frequently used operations into scripts is the simplest and most direct way to boost efficiency.

Reflections

Looking at the green contribution graph on GitHub, there's a feeling of solidity. The code finally has a proper "home" — it's no longer just files scattered on some machine.

149,334 lines of code, 230 files. These numbers represent countless late-night debugging sessions, the agonizing back-and-forth of repeated refactoring, and the joy of "it finally works." Organizing it all and putting it on GitHub feels like giving my work a formal summary and archive.

The next step is to improve the README and documentation and set up CI/CD with GitHub Actions. But today, let me just savor this milestone.

← Back to Blog