lockstep-cli 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/connect.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  /**
2
- * Connect the current repo to a Lockstep project so agent sessions can register.
3
- * Creates an org/project on first use. Idempotent re-running is a no-op.
2
+ * Connect the current repo. The server resolves the remote and either:
3
+ * - joins you (if you have GitHub access to an already-connected repo no approval needed),
4
+ * - opens it (if you're already a member), or
5
+ * - creates the project and connects it.
4
6
  */
5
7
  export declare function runConnect(opts: {
6
8
  org?: string;
package/dist/connect.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import { cloud } from "./cloud.js";
2
2
  import { gitRemote } from "./mcp/git.js";
3
3
  /**
4
- * Connect the current repo to a Lockstep project so agent sessions can register.
5
- * Creates an org/project on first use. Idempotent re-running is a no-op.
4
+ * Connect the current repo. The server resolves the remote and either:
5
+ * - joins you (if you have GitHub access to an already-connected repo no approval needed),
6
+ * - opens it (if you're already a member), or
7
+ * - creates the project and connects it.
6
8
  */
7
9
  export async function runConnect(opts) {
8
10
  const remote = gitRemote(process.cwd());
@@ -10,29 +12,13 @@ export async function runConnect(opts) {
10
12
  console.error("No git 'origin' remote here — Lockstep identifies a repo by its remote.");
11
13
  process.exit(1);
12
14
  }
13
- const me = await cloud.get("/me");
14
- let orgId = me.memberships[0]?.orgId;
15
- if (!orgId) {
16
- const created = await cloud.post("/orgs", {
17
- name: opts.org ?? `${me.principal.githubLogin}'s workspace`,
18
- });
19
- orgId = created.orgId;
20
- }
21
- const projectName = opts.project ?? remote.split("/").pop() ?? "default";
22
- const overview = await cloud.get(`/orgs/${orgId}/overview`);
23
- let projectId = overview?.projects.find((p) => p.name === projectName)?.id;
24
- if (!projectId) {
25
- projectId = (await cloud.post(`/orgs/${orgId}/projects`, { name: projectName })).projectId;
26
- }
27
- const po = await cloud.get(`/orgs/${orgId}/projects/${projectId}/overview`);
28
- const already = po?.repos.some((r) => r.gitRemote === remote);
29
- if (!already) {
30
- await cloud.post(`/orgs/${orgId}/projects/${projectId}/repos`, { gitRemote: remote });
31
- }
32
- console.log(`✓ connected ${remote}`);
33
- console.log(` → project "${projectName}" (org ${orgId.slice(0, 8)})`);
15
+ const r = await cloud.post("/connect", { gitRemote: remote, project: opts.project });
16
+ const verb = r.status === "created" ? "created and connected" : r.status === "joined" ? "joined" : "already connected to";
17
+ console.log(`✓ ${verb} project "${r.projectName}" (${remote})`);
34
18
  console.log(`\nOpen this repo in Claude Code — Lockstep registers the session automatically.`);
35
- console.log(`Invite a teammate: lockstep invite <github-handle> (or via the dashboard)`);
19
+ if (r.status === "created") {
20
+ console.log(`Teammates with GitHub access can join by running \`lockstep connect\` in their clone.`);
21
+ }
36
22
  }
37
23
  /** Invite a teammate by GitHub handle to this repo's project. */
38
24
  export async function runInvite(handle) {
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAgBzC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAwC;IACvE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAgB,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACpG,MAAM,IAAI,GACR,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAC/G,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,WAAW,OAAO,MAAM,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;IAC/F,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;IACvG,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAc;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAK,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAW,SAAS,KAAK,WAAW,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,EAAE,CAAC;IAC7E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,aAAa,SAAS,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3G,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,WAAW,+CAA+C,CAAC,CAAC;AACxH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lockstep-cli",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "Keep your team's AI coding agents in lockstep — shared decisions, contracts, ownership and dependencies across repos.",
5
5
  "type": "module",
6
6
  "license": "MIT",