> ## Documentation Index
> Fetch the complete documentation index at: https://docs.codebanana.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Projects and Chats

> Work with CodeBanana projects and chats, including project lists, GitHub and local projects, creating projects, project visibility across organizations, external projects, Projects and Chats tabs, User Guide files, adding organization members, inviting external contacts, project admins, member management, Discussion, queue visibility, Forward, Restore, notifications, and Request Support.

## **Projects**

Projects are the core unit of work in CodeBanana, combining code, environment, and collaboration into a single workspace. Each project belongs to a fixed organization, determined when the project is created, and that organization does not change over the project’s lifecycle.

Each project can be accessed from two entry points: **Projects** and **Chats**. These two tabs lead to the same underlying project workspace, but surface different types of activity by default.

#### **Project List**

The project list provides flexible management and navigation:

**Filtering and sorting**:

* By project type, owner, creation time, last activity, etc.

**Project types and structure**:

* Visual indicators for:
  * GitHub projects
  * Local projects
* Projects from the same repository branch are **grouped under a single parent**

<img src="https://mintcdn.com/gen-d40df51d/YMfJXjBWXHTcjQ7n/images/projectlist.png?fit=max&auto=format&n=YMfJXjBWXHTcjQ7n&q=85&s=9886e84a2346414fc60b4f656df48f6e" alt="Projectlist" width="2294" height="1264" data-path="images/projectlist.png" />

<img src="https://mintcdn.com/gen-d40df51d/YMfJXjBWXHTcjQ7n/images/projectsort.png?fit=max&auto=format&n=YMfJXjBWXHTcjQ7n&q=85&s=c6154b72cf339d33113ccfa4eaea1824" alt="Projectlist 1" width="2294" height="1264" data-path="images/projectsort.png" />

**Project operations**:

* Additional actions available via the “…” menu
* Permissions apply to all destructive actions

**File and folder management**:

* Folders: Rename, create, upload, copy path, move, delete, download
* Files: Rename, copy path, move, delete, download

**Relative path copy**:

* Copies the file path relative to the project or workspace root
* Deletion requires **agent-level permissions**

**Constraints**:

* Only the **project owner** can delete a project
* Deletion is allowed **only if the owner has more than one project**
  <Frame>
    <img src="https://mintcdn.com/gen-d40df51d/YMfJXjBWXHTcjQ7n/images/operateproject.png?fit=max&auto=format&n=YMfJXjBWXHTcjQ7n&q=85&s=f5b3887257b5c314cd02a52bc0fd0434" alt="Operateproject" width="2294" height="1264" data-path="images/operateproject.png" />
  </Frame>

#### **Create Project**

CodeBanana supports multiple ways to initialize a project

**Project sources**:

* Create a local project
* Import from GitHub or GitLab

**Templates**:

* Pre-configured templates based on use cases:
  * Include styles, skills, and agent settings
* Option to start from **Custom (empty project)**

<Frame>
  <img src="https://mintcdn.com/gen-d40df51d/gptI4s88cSsrzk-w/images/StudioPage.png?fit=max&auto=format&n=gptI4s88cSsrzk-w&q=85&s=20a51fdff46974fad9f0a20d5a4e519f" alt="Studio Page" width="2294" height="1264" data-path="images/StudioPage.png" />
</Frame>

#### **Project Visibility Across Organizations**

Project visibility is determined by the relationship between:

* The project’s fixed organization
* The organizations the current member has joined
* The member’s role in that project

**If you are the project owner**

* The project is shown only under its own organization
* Even if you are the owner, the project will not appear when your current working organization does not match the project’s organization

**If you are not the project owner**

The system checks whether the project’s organization overlaps with the organizations you have joined.

**When there is overlap**

* If the project’s organization is included in the organizations you have joined, the project is shown only under that organization
* It will not appear under your other organizations

**When there is no overlap**

* If the project’s organization is not included in any organization you have joined, the project is shown under all organizations you have joined
* In this case, it is marked as **External**

This helps the system preserve organization boundaries whenever possible, while still making outside projects visible when no matching organization is available.

**Dynamic evaluation**

Project visibility is calculated based on your current organization state, rather than stored as a permanent result.

For example:

* A project may initially appear as **External** because none of your joined organizations match the project’s organization
* If you later join that organization, the project will automatically switch to the normal organization-based display and the **External** label will disappear

## **User Guide**

After creating a new project, a **User Guide** directory is automatically generated within the project file tree.

This directory contains detailed documentation for CodeBanana’s core features, including both English and Chinese versions. It covers the main modules in Studio and serves two purposes:

* As a **readable reference** for users to understand product capabilities
* As a **knowledge source** that agents can access during task execution

<Frame>
  <img src="https://mintcdn.com/gen-d40df51d/uBYDhVCb0YArfR98/images/projectuserguide.png?fit=max&auto=format&n=uBYDhVCb0YArfR98&q=85&s=010c1db67c4c4005b9e2b48ed778457b" alt="Projectuserguide" width="2834" height="1310" data-path="images/projectuserguide.png" />
</Frame>

### **Adding Members**

**All members** in a project can expand the project team in two ways, depending on whether collaborators are part of your organization or external.

**Add organization members**

Add **existing members from your organization** directly into the project group chat without notification.

<Frame>
  <img src="https://mintcdn.com/gen-d40df51d/hiopx0JciD1rXxmv/images/inviteorgnew.png?fit=max&auto=format&n=hiopx0JciD1rXxmv&q=85&s=1de4c0a9a37758136b63fc1595ef11dd" alt="Inviteorgnew" width="2816" height="1320" data-path="images/inviteorgnew.png" />
</Frame>

**Invite external contacts**

Bring external collaborators into the project using the **Invite external contacts** feature by email:

* Sends a notification and email invitation to the external collaborator
* They do **not become members of your organization**
* Their access is limited to the project they are invited to

This is ideal for:

* Temporary collaborators
* Clients or stakeholders
* External partners who need visibility or participation without full organizational access

<Frame>
  <img src="https://mintcdn.com/gen-d40df51d/hiopx0JciD1rXxmv/images/inviteexternalnew.png?fit=max&auto=format&n=hiopx0JciD1rXxmv&q=85&s=0561fd07d29c1fb716ec8d2afd038cb9" alt="Inviteexternalnew" width="2814" height="1320" data-path="images/inviteexternalnew.png" />
</Frame>

### **Member Management**

Project membership is managed by the **project owner**, who can access member management by clicking the icon in the top-right corner of the agent panel.

**Remove Members**

The **project owner** can remove members from the project group:

* Removed members will **lose access to the project and its chat**
* This action is typically used to:
  * Manage team changes
  * Revoke access for external collaborators

**Disband Group**

* The **project owner** can disband the entire project group:
  * All members will be **removed from the group chat**
  * The collaboration session is effectively **terminated**
  * This action is irreversible and should be used with caution

Only the **owner** has permission to perform these actions, ensuring that critical changes to team structure remain **controlled and secure**.

<Frame>
  <img src="https://mintcdn.com/gen-d40df51d/BzGAfBPDYfUlypk3/images/groupmanagement.png?fit=max&auto=format&n=BzGAfBPDYfUlypk3&q=85&s=4bbf47424db7eb37e76dde1052d0e48f" alt="Groupmanagement" width="2294" height="1264" data-path="images/groupmanagement.png" />
</Frame>

#### **Project Admins**

Projects and chats support an **Admin** role to make team collaboration more flexible.

Admins can take control of the **Team Agent** under the same access rules as other authorized users. Previously, members needed the project owner to explicitly grant permission before they could interact with the Team Agent. Now, if a user is a project admin, they can directly take over agent access and start a conversation whenever the agent is not actively responding.

**Admin Permissions**

Project admins can:

* Directly interact with the **Team Agent** when it is idle
* Access the Team Agent under the same control rules as other authorized users

This reduces the need for the owner to manually assign access for every interaction, while still keeping control structured.

**How Admins Are Assigned**

The **project owner** can assign or remove admin privileges from the member management panel.

* Up to **5 admins** can be assigned per project

#### **Support Access**

Projects can request dedicated support:

* Use **Request Support** to bring in technical assistance
* A support member is automatically assigned to the project chat
* During support sessions: All token usage is billed at **1.5× rate**

<Frame>
  <img src="https://mintcdn.com/gen-d40df51d/kgHe-RHFT1OWO47E/images/supportaccess.png?fit=max&auto=format&n=kgHe-RHFT1OWO47E&q=85&s=7a895476a85a603b8712c2c6c2ecf22d" alt="Supportaccess" width="2294" height="1264" data-path="images/supportaccess.png" />
</Frame>

## **Tabs**

Projects and Chats are two entry points for accessing the same set of project workspaces. They separate agent activity from human discussion, making message signals easier to follow.

### **Projects Tab**

The **Projects** tab emphasizes agent-related activity and opens the selected project in **Team Agent** by default.

You can use this tab when you want to focus on:

* Team Agent conversations
* Agent execution progress
* Project files and agent-driven workflows

Projects with recent **Team Agent** activity are ranked higher in this tab, so items with new agent messages may appear at the top.

### **Chats Tab**

The **Chats** tab emphasizes human discussion activity and opens the selected project in **Discussion** by default.

You can use this tab when you want to focus on:

* Human discussion
* Team coordination
* Discussion-first collaboration

You can also create a new project directly from the **Chats** tab:

* Click **New**
* Select the people you want to include
* The system creates a new project with those members and a default file tree

This project is still a full project workspace, with:

* Team Agent
* Private Ask
* Discussion
* File tree and project context

Unlike template-based project creation, this flow is designed for conversation-first collaboration. In this mode, the agent can help:

* Summarize your discussions
* Organize todos
* Generate follow-ups
* Turn conversation into project outputs at any time

Projects with recent **Discussion** messages are ranked higher in this tab, so items with new human messages may appear at the top.

Because the two tabs prioritize different activity types, the same project may appear in a different order in each tab.

<Frame>
  <img src="https://mintcdn.com/gen-d40df51d/kgHe-RHFT1OWO47E/images/chat.png?fit=max&auto=format&n=kgHe-RHFT1OWO47E&q=85&s=1e7174b8ed35481d3f4695a79ad94a47" alt="Chat" width="2294" height="1264" data-path="images/chat.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/gen-d40df51d/kgHe-RHFT1OWO47E/images/contacts-1v1.png?fit=max&auto=format&n=kgHe-RHFT1OWO47E&q=85&s=e55d50efb85a77a530e6a1fc5cec4cbf" alt="Contacts 1v1" width="2294" height="1264" data-path="images/contacts-1v1.png" />
</Frame>

#### **Messaging Features**

Chats support essential messaging capabilities for efficient communication:

* Copy, quote, and forward messages
* Automatic notifications when members join or leave a group
* Search across:
  * Organization contacts
  * Chat history

**Forwarding behavior**

* Messages can be forwarded to:
  * The current group
  * Other groups
* Restrictions:
  * In **Team Agent**, messages can only be forwarded to destinations with agent access
  * In **Private Ask** and **Discussion**, forwarding is unrestricted
* **Restore (agent-related)**
  * Available on user prompts in agent conversations
  * Allows reverting the conversation, model memory, and project state to a previous point
  * Not available in standard chat-only conversations

<Frame>
  <img src="https://mintcdn.com/gen-d40df51d/N7XVmlPAEYzrzsrK/images/messageaction.png?fit=max&auto=format&n=N7XVmlPAEYzrzsrK&q=85&s=68eb78b0ca5c5666971d98963d502a8f" alt="Messageaction" width="2294" height="1264" data-path="images/messageaction.png" />
</Frame>

#### **Queue Visibility**

When multiple messages are sent to the **Team Agent**, the project shows queue status directly in the Team Agent view.

* Team Agent displays how many messages are still waiting to be processed
* All project members can see the current queue count
* This helps the team understand whether the agent is currently busy or still processing earlier messages

Queueing behavior is different in **Private Ask**, where each user has an isolated personal queue.

### **New Messages**

New messages help you quickly identify incoming activity across tabs and notification, so you can stay aligned with your team in real time.

#### **Where New Messages Appear**

New message indicators are shown across key areas:

* **Projects**
* **Chats**
* **Notifications**

These indicators highlight where new interactions or updates have occurred.

#### **Priority Handling**

Not all messages are treated equally:

* **@mentions are prioritized** over general new messages
* Mentioned messages are surfaced first, helping you focus on what requires immediate attention

#### **Ranking Logic**

Projects and Chats may show the same project in a different order.

* In **Chats**, projects with new **Discussion** messages are pushed higher
* In **Projects**, projects with new **Team Agent** messages are pushed higher

This separation helps prevent human discussion from being buried under agent process messages.

<Frame>
  <img src="https://mintcdn.com/gen-d40df51d/kgHe-RHFT1OWO47E/images/newmessage.png?fit=max&auto=format&n=kgHe-RHFT1OWO47E&q=85&s=6e75f59e4601f2500033bb9f817da193" alt="Newmessage" width="2294" height="1264" data-path="images/newmessage.png" />
</Frame>

## Notification

Notifications keep you informed about important activities across your workspace, including permissions and collaboration events.

Notifications cover key events such as:

* Agent permission requests and approvals
* Organization join requests and status updates
* External project invitation
* Billing and usage limit updates
* Group invitation

All notifications are centralized in the **Notifications panel**, where you can:

* Track actions that require your attention
* Quickly navigate to related projects or contexts

<Frame>
  <img src="https://mintcdn.com/gen-d40df51d/Ai1aJV78H79LCZ5t/images/notification.png?fit=max&auto=format&n=Ai1aJV78H79LCZ5t&q=85&s=b77ba52d81588aea925c38fb00818c8d" alt="Notification" width="2294" height="1264" data-path="images/notification.png" />
</Frame>

#### **Notification Visibility**

Notification visibility follows the same organization logic as project visibility.

**Standard project notifications**

* Notifications for regular projects are shown only under the organization that owns the project
* If you switch to another organization, those notifications will not appear there

**External project notifications**

* If a project is treated as **External**, its notifications are shown under every organization you have joined

This keeps notifications aligned with the way projects are surfaced across organizations.
