diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 601533f4..f0d0a9dd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,7 +22,7 @@ development workflow, conventions, and how to get your changes merged. ```bash # Clone the repo -git clone https://github.com/Molecule-AI/molecule-core.git +git clone https://git.moleculesai.app/molecule-ai/molecule-core.git cd molecule-core # Install git hooks @@ -57,7 +57,7 @@ See `CLAUDE.md` for a full list of environment variables and their purposes. This repo is scoped to **code** (canvas, workspace, workspace-server, related infra). Public content (blog posts, marketing copy, OG images, SEO briefs, -DevRel demos) lives in [`Molecule-AI/docs`](https://github.com/Molecule-AI/docs). +DevRel demos) lives in [`Molecule-AI/docs`](https://git.moleculesai.app/molecule-ai/docs). The `Block forbidden paths` CI gate fails any PR that writes to `marketing/` or other removed paths — open against `Molecule-AI/docs` instead. @@ -110,7 +110,7 @@ causing a render loop when any node position changed. 1. **Repo-wide:** "Automatically delete head branches" is on. Once a PR merges, the branch is deleted server-side. Any subsequent `git push` to that branch fails with `remote rejected — no such branch`. -2. **CI:** the `pr-guards` workflow (calling [molecule-ci `disable-auto-merge-on-push`](https://github.com/Molecule-AI/molecule-ci/blob/main/.github/workflows/disable-auto-merge-on-push.yml)) fires on every push to an open PR. If auto-merge was already enabled, it's disabled and a comment is posted. You must explicitly re-enable after verifying the new commit. +2. **CI:** the `pr-guards` workflow (calling [molecule-ci `disable-auto-merge-on-push`](https://git.moleculesai.app/molecule-ai/molecule-ci/src/branch/main/.github/workflows/disable-auto-merge-on-push.yml)) fires on every push to an open PR. If auto-merge was already enabled, it's disabled and a comment is posted. You must explicitly re-enable after verifying the new commit. **Workflow rules that follow from the guards:** - Push **all** commits before running `gh pr merge --auto`. @@ -180,9 +180,9 @@ and run CI manually. Code in this repo lands in molecule-core. Some related runtime artifacts live in their own repos: -- [`Molecule-AI/molecule-ai-workspace-runtime`](https://github.com/Molecule-AI/molecule-ai-workspace-runtime) — Python adapter SDK (`molecule_runtime`) that runs inside containerized Molecule workspaces. Bridges Claude Code SDK / hermes / langgraph / etc. → A2A queue. -- [`Molecule-AI/molecule-sdk-python`](https://github.com/Molecule-AI/molecule-sdk-python) — `A2AServer` + `RemoteAgentClient` for external agents that register over the public `/registry/register` flow. -- [`Molecule-AI/molecule-mcp-claude-channel`](https://github.com/Molecule-AI/molecule-mcp-claude-channel) — Claude Code channel plugin. Bridges A2A traffic into a running Claude Code session via MCP `notifications/claude/channel`. Polling-based (no tunnel required); install with `claude --channels plugin:molecule@Molecule-AI/molecule-mcp-claude-channel`. +- [`Molecule-AI/molecule-ai-workspace-runtime`](https://git.moleculesai.app/molecule-ai/molecule-ai-workspace-runtime) — Python adapter SDK (`molecule_runtime`) that runs inside containerized Molecule workspaces. Bridges Claude Code SDK / hermes / langgraph / etc. → A2A queue. +- [`Molecule-AI/molecule-sdk-python`](https://git.moleculesai.app/molecule-ai/molecule-sdk-python) — `A2AServer` + `RemoteAgentClient` for external agents that register over the public `/registry/register` flow. +- [`Molecule-AI/molecule-mcp-claude-channel`](https://git.moleculesai.app/molecule-ai/molecule-mcp-claude-channel) — Claude Code channel plugin. Bridges A2A traffic into a running Claude Code session via MCP `notifications/claude/channel`. Polling-based (no tunnel required); install with `claude --channels plugin:molecule@Molecule-AI/molecule-mcp-claude-channel`. When extending the **A2A surface** in molecule-core (`workspace-server/internal/handlers/a2a_proxy.go` etc.), consider whether the change has a downstream impact on the runtime SDK or the channel plugin — they're versioned independently but share the wire shape. diff --git a/README.md b/README.md index c054253d..9f2ace01 100644 --- a/README.md +++ b/README.md @@ -39,8 +39,8 @@ Workspace Runtime
-[](https://railway.app/new/template?template=https://github.com/Molecule-AI/molecule-monorepo) -[](https://render.com/deploy?repo=https://github.com/Molecule-AI/molecule-monorepo) +[](https://railway.app/new/template?template=https://git.moleculesai.app/molecule-ai/molecule-monorepo) +[](https://render.com/deploy?repo=https://git.moleculesai.app/molecule-ai/molecule-monorepo) @@ -249,7 +249,7 @@ Workspace Runtime (Python image with adapters) ## Quick Start ```bash -git clone https://github.com/Molecule-AI/molecule-monorepo.git +git clone https://git.moleculesai.app/molecule-ai/molecule-monorepo.git cd molecule-monorepo cp .env.example .env diff --git a/README.zh-CN.md b/README.zh-CN.md index 20df5685..52ca6fb3 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -38,8 +38,8 @@ Workspace Runtime -[](https://railway.app/new/template?template=https://github.com/Molecule-AI/molecule-core) -[](https://render.com/deploy?repo=https://github.com/Molecule-AI/molecule-core) +[](https://railway.app/new/template?template=https://git.moleculesai.app/molecule-ai/molecule-core) +[](https://render.com/deploy?repo=https://git.moleculesai.app/molecule-ai/molecule-core) @@ -248,7 +248,7 @@ Workspace Runtime (Python image with adapters) ## 快速开始 ```bash -git clone https://github.com/Molecule-AI/molecule-core.git +git clone https://git.moleculesai.app/molecule-ai/molecule-core.git cd molecule-core cp .env.example .env diff --git a/docs/architecture/canary-release.md b/docs/architecture/canary-release.md index d6873a8d..f0f99a72 100644 --- a/docs/architecture/canary-release.md +++ b/docs/architecture/canary-release.md @@ -4,7 +4,7 @@ How a workspace-server code change reaches the prod tenant fleet — and how to > **⚠️ State note (2026-04-22):** this doc describes the **intended design**. As of this write, the canary fleet described below is **not actually running** — no canary tenants are provisioned, `CANARY_TENANT_URLS` / `CANARY_ADMIN_TOKENS` / `CANARY_CP_SHARED_SECRET` are empty in repo secrets, and `canary-verify.yml` fails every run. > -> Current merges gate on manual `promote-latest.yml` dispatches, not canary. See [molecule-controlplane/docs/canary-tenants.md](https://github.com/Molecule-AI/molecule-controlplane/blob/main/docs/canary-tenants.md) for the Phase 1 code work that's already shipped + the Phase 2 plan for actually standing up the fleet + a "should we even do this now?" decision framework. +> Current merges gate on manual `promote-latest.yml` dispatches, not canary. See [molecule-controlplane/docs/canary-tenants.md](https://git.moleculesai.app/molecule-ai/molecule-controlplane/src/branch/main/docs/canary-tenants.md) for the Phase 1 code work that's already shipped + the Phase 2 plan for actually standing up the fleet + a "should we even do this now?" decision framework. > > **Account-specific identifiers (AWS account ID, IAM role name) referenced below in the original design have been redacted from this public doc.** The actual values — if they exist — are in `Molecule-AI/internal/runbooks/canary-fleet.md`. If you're implementing Phase 2, start there. > diff --git a/docs/architecture/molecule-technical-doc.md b/docs/architecture/molecule-technical-doc.md index cd3dc957..79819dd5 100644 --- a/docs/architecture/molecule-technical-doc.md +++ b/docs/architecture/molecule-technical-doc.md @@ -1,7 +1,7 @@ # Molecule AI — Comprehensive Technical Documentation > Definitive technical reference for the Molecule AI Agent Team platform. -> Based on a full non-invasive scan of the [molecule-monorepo](https://github.com/Molecule-AI/molecule-monorepo) repository. +> Based on a full non-invasive scan of the [molecule-monorepo](https://git.moleculesai.app/molecule-ai/molecule-monorepo) repository. --- @@ -1149,11 +1149,11 @@ Molecule AI's workspace abstraction is **runtime-agnostic by design**. A workspa ## Links -- **GitHub**: https://github.com/Molecule-AI/molecule-monorepo -- **Architecture Docs**: https://github.com/Molecule-AI/molecule-monorepo/tree/main/docs/architecture -- **API Protocol**: https://github.com/Molecule-AI/molecule-monorepo/tree/main/docs/api-protocol -- **Agent Runtime**: https://github.com/Molecule-AI/molecule-monorepo/tree/main/docs/agent-runtime -- **Product Docs**: https://github.com/Molecule-AI/molecule-monorepo/tree/main/docs/product +- **GitHub**: https://git.moleculesai.app/molecule-ai/molecule-monorepo +- **Architecture Docs**: https://git.moleculesai.app/molecule-ai/molecule-monorepo/src/branch/main/docs/architecture +- **API Protocol**: https://git.moleculesai.app/molecule-ai/molecule-monorepo/src/branch/main/docs/api-protocol +- **Agent Runtime**: https://git.moleculesai.app/molecule-ai/molecule-monorepo/src/branch/main/docs/agent-runtime +- **Product Docs**: https://git.moleculesai.app/molecule-ai/molecule-monorepo/src/branch/main/docs/product --- diff --git a/docs/architecture/secrets-key-custody.md b/docs/architecture/secrets-key-custody.md index 75e9f9c4..ebf5651d 100644 --- a/docs/architecture/secrets-key-custody.md +++ b/docs/architecture/secrets-key-custody.md @@ -79,7 +79,7 @@ For SOC2 / ISO 27001 / customer security questionnaires: ## Pointers -- KMS envelope code: [`molecule-controlplane/internal/crypto/kms.go`](https://github.com/Molecule-AI/molecule-controlplane/blob/main/internal/crypto/kms.go) -- Static-key fallback: [`molecule-controlplane/internal/crypto/aes.go`](https://github.com/Molecule-AI/molecule-controlplane/blob/main/internal/crypto/aes.go) +- KMS envelope code: [`molecule-controlplane/internal/crypto/kms.go`](https://git.moleculesai.app/molecule-ai/molecule-controlplane/src/branch/main/internal/crypto/kms.go) +- Static-key fallback: [`molecule-controlplane/internal/crypto/aes.go`](https://git.moleculesai.app/molecule-ai/molecule-controlplane/src/branch/main/internal/crypto/aes.go) - Tenant secrets handler: [`workspace-server/internal/crypto/aes.go`](../../workspace-server/internal/crypto/aes.go) - Tenant secrets schema: [database-schema.md](./database-schema.md#workspace_secrets) diff --git a/docs/blog/2026-04-20-chrome-devtools-mcp-seo/index.md b/docs/blog/2026-04-20-chrome-devtools-mcp-seo/index.md index ccfa1d8b..9a9c7fb5 100644 --- a/docs/blog/2026-04-20-chrome-devtools-mcp-seo/index.md +++ b/docs/blog/2026-04-20-chrome-devtools-mcp-seo/index.md @@ -299,8 +299,8 @@ Or use the Canvas UI: Workspace → Config → MCP Servers → Add browser MCP s **Try it free** — Molecule AI is open source and self-hostable. Get a workspace running in under 5 minutes. -→ [Get started on GitHub →](https://github.com/Molecule-AI/molecule-core) +→ [Get started on GitHub →](https://git.moleculesai.app/molecule-ai/molecule-core) --- -*Have a browser automation use case you want to see covered? Open a discussion on [GitHub Discussions](https://github.com/Molecule-AI/molecule-core/discussions) — or file an issue with the `enhancement` label.* +*Have a browser automation use case you want to see covered? File an issue with the `enhancement` label on the [molecule-core issue tracker](https://git.moleculesai.app/molecule-ai/molecule-core/issues).* diff --git a/docs/blog/2026-04-20-remote-workspaces/index.md b/docs/blog/2026-04-20-remote-workspaces/index.md index cbd9e787..db660050 100644 --- a/docs/blog/2026-04-20-remote-workspaces/index.md +++ b/docs/blog/2026-04-20-remote-workspaces/index.md @@ -148,7 +148,7 @@ Then follow the [quick-start guide](/docs/guides/remote-workspaces.md). Or run the annotated example directly: ```bash -git clone https://github.com/Molecule-AI/molecule-sdk-python +git clone https://git.moleculesai.app/molecule-ai/molecule-sdk-python cd molecule-sdk-python/examples/remote-agent # Create workspace with runtime:external, grab the ID, then: WORKSPACE_ID=