Skip to content

feat(app): share a project with the team or a person - #526

Merged
iamnbutler merged 4 commits into
mainfrom
access-share
Oct 19, 2026
Merged

iamnbutler merged 4 commits into
mainfrom
access-share

Conversation

@iamnbutler

Copy link
Copy Markdown
Contributor

Fixes #510
Part of #506. Stacked on #524.

App: Share project… in the project's channel header menus (the "…" menu and the right-click menu).

  • Offered only when this host's owner has direct access. project-access is checked whenever the selected project changes.
  • The dialog has an "Everyone on the team" switch, plus a list of everyone on the team showing how they can see the project: reads it on GitHub, their folder, shared with the team, shared with them, or no access.
  • Each person without access has a Share button, and each person with a share has Unshare.
  • Granting asks first and names whose channels it exposes, as [Meta] Show projects only to people with access #506 specifies: "Alex will see every channel in it, including yours and Terkel's, and any created later, and can post in them. Whether they can invoke a channel's agent stays that channel's agent access setting."

CLI:

  • ace project access <project>
  • ace project share|unshare <project> team|<github login>

<project> is a folder on this host, or a GitHub owner/name. Sharing prints whose channels became visible.

Rename: ace share <channel> on|off becomes ace agents <channel> on|off, so "share" only means project access. The channel protocol's share op is unchanged, because hosted channels in deployed cells run older code. docs/terms.md gains an Agent access term, and docs/architecture.md follows.

Smoke-tested: a --loopback host from this branch against a local wrangler dev directory.

  • ace project access on a folder ("their folder") and on githubnext/ace ("reads it on GitHub").
  • ace project share githubnext/ace team wrote the team share; unshare removed it.
  • Sharing with a login the team doesn't know is refused.

Not exercised: I didn't render the dialog in a running app. The type checks pass, but the copy and layout need a look in the desktop build. Sharing between two people is in the study scenarios.

Built in Ace

No. Built with Claude Code in a terminal, continuing the #506 session. Nothing here needed a capability Ace lacks.

@iamnbutler
iamnbutler changed the base branch from access-view to main October 19, 2026 21:11
Share project… in the project's channel header menus, offered to people with direct access, lists
the team and how each person can see the project, and asks before granting, naming whose channels
the share exposes. ace project access|share|unshare does the same from the CLI, and ace share
<channel> becomes ace agents <channel> so share means project access only.

Fixes #510
@iamnbutler
iamnbutler merged commit c1cab86 into main Oct 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Share a project with the team or a person

1 participant