bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Connect coding agents (Claude Code, Codex, opencode) to logiccloud control and orchestrate: MCP servers, skills, plugins and the lc/lco CLIs
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Connect coding agents (Claude Code, Codex, opencode) to logiccloud control
and logiccloud orchestrate: the MCP servers of your installation, skills
that teach the agent how to work with them, and the lc and lco command line
tools.
Every installation of logiccloud runs on its own domain, and everything else
follows from it. You only need the root domain of each product, e.g.
logiccloud.example.com (control) and orchestrate.example.com
(orchestrate); the examples below use these placeholders. The MCP server is
always on the mcp. subdomain, the login on auth..檢視完整 README ↗Connect coding agents (Claude Code, Codex, opencode) to logiccloud control
and logiccloud orchestrate: the MCP servers of your installation, skills
that teach the agent how to work with them, and the lc and lco command line
tools.
| logiccloud control | logiccloud orchestrate | |
|---|---|---|
| What | PLC projects in IEC 61131-3 Structured Text, cloud builds, HMI pages, devices, runtimes, connections and alarms | Edge devices (Margo), labels and groups, logs, telemetry, the application catalog, rollouts and alerts |
| MCP server | https://mcp.<domain>/mcp | https://mcp.<domain>/mcp |
| Login | OAuth at https://auth.<domain> (Keycloak client lc-mcp) | OAuth at https://keycloak.<domain> (Keycloak client lco-mcp), or an API key |
| CLI | lc | lco |
| Skills | logiccloud, logiccloud-hmi, logiccloud-devices, logiccloud-connections, logiccloud-alarms, plus logiccloud-device-* for device types with their own setup or I/O and logiccloud-connection-* per connection type | logiccloud-orchestrate, logiccloud-orchestrate-deployments, logiccloud-orchestrate-alerts |
| Plugin | control@logiccloud | orchestrate@logiccloud |
Every installation of logiccloud runs on its own domain, and everything else
follows from it. You only need the root domain of each product, e.g.
logiccloud.example.com (control) and orchestrate.example.com
(orchestrate); the examples below use these placeholders. The MCP server is
always on the mcp. subdomain, the login on auth. (control) or keycloak.
(orchestrate).
On macOS or Linux, with any of claude, codex or opencode installed:
curl -fsSL https://raw.githubusercontent.com/logiccloudag/agent-kit/main/setup.sh | bash -s -- \
--control logiccloud.example.com --orchestrate orchestrate.example.com
Use your installation's domains, and leave out the product you don't use.
Without options the script asks for both. It sets up every agent it finds
(--agents claude,codex limits that), starts the logins for Codex and
opencode, and prints what is left to do. Run it again to update or to change a domain;
--remove takes everything out again; --dry-run only shows what it would do.
Paste this into your agent, with your domains:
Set up logiccloud for me as described in https://github.com/logiccloudag/agent-kit/blob/main/INSTALL.md — control domain:
logiccloud.example.com, orchestrate domain:orchestrate.example.com
The agent follows INSTALL.md. You log in yourself, in the browser; the agent never sees a password or key.
Inside Claude Code, without the script:
/plugin marketplace add logiccloudag/agent-kit
/plugin install control@logiccloud
/plugin install orchestrate@logiccloud
Claude Code asks for the domain. Then /mcp and pick
plugin:control:logiccloud-control and plugin:orchestrate:logiccloud-orchestrate
to log in. From a shell, the same is:
claude plugin marketplace add logiccloudag/agent-kit
claude plugin install control@logiccloud --config domain=logiccloud.example.com
claude plugin install orchestrate@logiccloud --config domain=orchestrate.example.com
To use an orchestrate API key (Settings > Security > API Keys) instead of the
login, add the server yourself rather than through the plugin:
claude mcp add --transport http logiccloud-orchestrate https://mcp.orchestrate.example.com/mcp --header "X-API-Key: <key>".
/plugin configure control@logiccloud changes the domain later. The plugins
update with /plugin marketplace update logiccloud.
The skills come as plugins:
codex plugin marketplace add logiccloudag/agent-kit
codex plugin add control@logiccloud
codex plugin add orchestrate@logiccloud
The MCP servers go into ~/.codex/config.toml (Codex plugins cannot ask for a
domain). setup.sh writes this for you:
[mcp_servers.logiccloud-control]
url = "https://mcp.logiccloud.example.com/mcp"
scopes = ["openid", "profile", "email", "offline_access"]
[mcp_servers.logiccloud-control.oauth]
client_id = "lc-mcp"
callback_url = "http://localhost:33418/callback"
[mcp_servers.logiccloud-orchestrate]
url = "https://mcp.orchestrate.example.com/mcp"
scopes = ["openid", "profile", "email", "offline_access"]
[mcp_servers.logiccloud-orchestrate.oauth]
client_id = "lco-mcp"
callback_url = "http://localhost:33418/callback"
Then codex mcp login logiccloud-control and codex mcp login logiccloud-orchestrate. (With an orchestrate API key instead, replace the
orchestrate entry's scopes and oauth with
env_http_headers = { "X-API-Key" = "LCO_API_KEY" } and start Codex with
LCO_API_KEY set.) The scopes matter: without them Codex asks Keycloak for every scope the realm
offers, and Keycloak refuses the login.
opencode has no plugin marketplace for skills. setup.sh copies them into
~/.config/opencode/skills (marked, so it updates and removes only its own) and
adds the servers to ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"logiccloud-control": {
"type": "remote",
"url": "https://mcp.logiccloud.example.com/mcp",
"oauth": {
"clientId": "lc-mcp",
"redirectUri": "http://localhost:33418/callback",
"scope": "openid profile email offline_access"
}
},
"logiccloud-orchestrate": {
"type": "remote",
"url": "https://mcp.orchestrate.example.com/mcp",
"oauth": {
"clientId": "lco-mcp",
"redirectUri": "http://localhost:33418/callback",
"scope": "openid profile email offline_access"
}
}
}
}
Then opencode mcp auth logiccloud-control and opencode mcp auth logiccloud-orchestrate. (With an orchestrate API key instead:
"headers": { "X-API-Key": "{env:LCO_API_KEY}" }, "oauth": false, and start
opencode with LCO_API_KEY set.) To copy the skills by hand, take the folders under
plugins/*/skills/ into ~/.config/opencode/skills/ (or ~/.agents/skills/).
Any agent that speaks MCP over streamable HTTP works: point it at
https://mcp.<domain>/mcp. Both need OAuth with the redirect
http://localhost:33418/callback (the Keycloak clients allow
localhost:<port>/callback for the ports they were set up with, 33418 by
default) and the scopes openid profile email offline_access; the client ID
is lc-mcp for control and lco-mcp for orchestrate. Orchestrate also takes
the header X-API-Key: <key> instead. Agents that read SKILL.md
folders can use plugins/*/skills/ as they are.
Or paste this into the agent and let it configure itself:
Connect yourself to logiccloud, following section 4b ("Any other agent") of https://github.com/logiccloudag/agent-kit/blob/main/INSTALL.md. Control domain:
logiccloud.example.com, orchestrate domain:orchestrate.example.com. Add both MCP servers to your own MCP configuration and install the skills from the repository where you load skills from. Don't ask me for passwords or keys in the chat; tell me how to log in.
The skills work best with the CLIs: lc keeps a project in a local directory
under version control, and lco covers the whole orchestrate API. Both come
as one archive per platform (lc_<version>_<os>_<arch>.tar.gz,
lco_<version>_<os>_<arch>.tar.gz, with SHA256SUMS) from the
releases of this
repository. Put the binaries on your PATH, then log in once per machine:
lc login -domain logiccloud.example.com # browser login at auth.<domain>
lco login -domain orchestrate.example.com # browser login at keycloak.<domain> (or -api-key)
lc and lco take their skills from this repository: lc pull and
lc agent install (or lco agent install) write the current ones for Claude
Code, so the CLIs and the plugins never disagree. lc-mcp and lco-mcp, the
MCP servers, also run locally (lco-mcp over stdio, lc-mcp on
http://127.0.0.1:8080/mcp) when no hosted server is reachable.
.claude-plugin/marketplace.json the marketplace for Claude Code (and Codex)
.agents/plugins/marketplace.json the marketplace for Codex
plugins/control/ plugin control: .claude-plugin/plugin.json (Claude Code,
with the MCP server), plugin.json (Codex), skills/
plugins/orchestrate/ plugin orchestrate, the same way
workspace/control/AGENTS.md the rules lc writes into every project workspace
setup.sh connects Claude Code, Codex and opencode
INSTALL.md setup instructions for an agent
This repository is where the skills live; lc and lco download them from
here. Change them here, by pull request:
logiccloud-hmi links DESIGN.md and COMPONENTS.md).
COMPONENTS.md is generated from the HMI catalog in lc (lc agent install -dir <tmp> writes the current one).version in both plugin.json files of the plugin you changed
(plugins/<name>/plugin.json and plugins/<name>/.claude-plugin/plugin.json),
so Claude Code and Codex users get the update. CI checks that the two agree.claude plugin validate . and claude plugin validate plugins/<name>.Apache License 2.0, copyright logiccloud AG. The license covers the skills, configuration and scripts in this repository; it does not grant use of the logiccloud name or logo (NOTICE).