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

# Work with projects from a chat

> Start a new project from a chat, or ask Replit to find an existing project and delegate a change as a background task you can open and review in the project.

export const ImportProjectCardVisual = () => <CardScene>
    <div style={{
  display: "flex",
  alignItems: "center",
  gap: 10
}}>
      <Panel style={{
  width: 58,
  height: 70,
  padding: 10
}}>
        {["100%", "73%", "86%"].map(width => <i key={width} style={{
  display: "block",
  width,
  height: 5,
  marginBottom: 8,
  borderRadius: 99,
  background: "rgba(255,255,255,.66)"
}} />)}
      </Panel>
      <span style={{
  width: 20,
  height: 2,
  background: "rgba(255,255,255,.72)"
}} />
      <Panel style={{
  width: 70,
  height: 70,
  padding: 11
}}>
        <div style={{
  display: "grid",
  gridTemplateColumns: "repeat(2, 1fr)",
  gap: 6
}}>
          {Array.from({
  length: 4
}, (_, index) => <i key={index} style={{
  height: 18,
  borderRadius: 4,
  background: "rgba(255,255,255,.55)"
}} />)}
        </div>
      </Panel>
    </div>
  </CardScene>;

export const DesignSystemCardVisual = () => <CardScene>
    <Panel style={{
  width: 126,
  height: 92,
  padding: 13
}}>
      <div style={{
  display: "flex",
  gap: 7
}}>
        {["#fff", "rgba(255,255,255,.7)", "rgba(255,255,255,.48)", "rgba(255,255,255,.28)"].map(color => <i key={color} style={{
  width: 15,
  height: 15,
  borderRadius: 5,
  background: color
}} />)}
      </div>
      <div style={{
  display: "grid",
  gridTemplateColumns: "1fr 1.4fr",
  gap: 7,
  marginTop: 13
}}>
        <i style={{
  height: 33,
  borderRadius: 6,
  background: "rgba(255,255,255,.3)"
}} />
        <i style={{
  height: 33,
  borderRadius: 6,
  background: "rgba(255,255,255,.62)"
}} />
      </div>
    </Panel>
  </CardScene>;

export const ConversationToProjectCover = () => <ConversationsProjectsCover handoff />;

<ConversationToProjectCover />

Continue in a chat for questions, exploration, follow-ups, and Routines. Use a [project](/features/projects-and-artifacts/projects) for substantial application, build, or design work that needs a durable, structured space.

You can start a new project from your chat or request a change to a project you already have. Requesting a change delegates work to that project; it does not turn your chat into a new project.

## Update an existing project

Ask Replit to find your project and describe the change you want. You can start the request without first opening the project.

<Steps>
  <Step title="Find the project">
    Name the project, describe what it does, or provide its Replit link. For example:

    > Find my budgeting app.

    If Replit finds several matches, identify the project you want to update. You can only work with projects you have permission to access.
  </Step>

  <Step title="Describe the change">
    Give Replit a specific outcome:

    > Create a task to add CSV export. Link me to the task.

    Replit can use the project's files, development logs, and other available context to inform the request.
    You can also include information from connected tools, such as customer feedback in Slack.
  </Step>

  <Step title="Follow the task">
    Replit delegates the change as a background task in the project and provides a link to it.
    The request starts in your chat; an agent working on the project carries out the task.

    Open the linked task, or find it in the side panel of your chat, to follow its progress, review the changes, and continue work in the project.
  </Step>
</Steps>

<Note>
  Requesting an edit does not automatically publish your app. Review the changes before choosing to [publish your project](/features/publishing/overview).
</Note>

For example, you can ask:

> Take the feedback in this Slack thread and create a task to improve onboarding in my customer portal. Link me to the task.

### Update several projects at once

You can ask Replit to find and update more than one project in a single request:

> Look for my portfolio and coffee shop projects and change both to Replit colors.

Replit starts a task in each project. Every task appears in the side panel of your chat, so you can follow each one and review its changes.

Use the [project environment](/features/projects-and-artifacts/projects) for focused building, collaboration, and visual iteration.

<a id="from-a-conversation-to-a-project" />

<a id="from-a-chat-to-a-project" />

## Create a new project

For substantial application or project work, the recommended practice is to begin in a chat. Clarify the goal and gather the context that will help Replit understand the work:

* Relevant files, images, or screenshots
* Examples and research that show what good looks like
* Information from connected tools or integrations when it supports the task

When the direction is clear, ask Replit to turn the informed chat into a project. The prior chat context carries forward, so Replit can begin with clearer intent and less repetition. You make this request in the chat; it is not an automatic change.

For the complete comparison, see [Chats vs. Projects](/chat/conversations-and-projects).

## Continue with the outcome

<section className="chat-mkt chat-workflow-grid has-visuals catalog-three-up">
  <a className="chat-example has-visual" href="/build/your-first-app">
    <div className="chat-use-case-visual palette-ink">
      <div className="chat-use-case-window">
        <i />

        <i />

        <i />

        <b />

        <b />

        <b />
      </div>

      <em>
        <Icon icon="code" size={24} />
      </em>
    </div>

    <span>
      <Icon icon="code" size={19} />
    </span>

    <div className="chat-card-title">Build an app</div>
    <p>Follow the Build guide for creating working software in a project.</p>
    <div className="chat-card-link">Open Build →</div>
  </a>

  <a className="chat-example has-visual" href="/design/design-your-first-screen">
    <div className="chat-use-case-visual palette-blush">
      <div className="chat-use-case-window">
        <i />

        <i />

        <i />

        <b />

        <b />

        <b />
      </div>

      <em>
        <Icon icon="pen-ruler" size={24} />
      </em>
    </div>

    <span>
      <Icon icon="pen-ruler" size={19} />
    </span>

    <div className="chat-card-title">Create a design</div>

    <p>
      Follow the Design guide for exploring and refining a visual direction.
    </p>

    <div className="chat-card-link">Open Design →</div>
  </a>

  <a className="chat-example has-visual" href="/use-cases">
    <div className="chat-use-case-visual palette-stone">
      <div className="chat-use-case-window">
        <i />

        <i />

        <i />

        <b />

        <b />

        <b />
      </div>

      <em>
        <Icon icon="lightbulb" size={24} />
      </em>
    </div>

    <span>
      <Icon icon="lightbulb" size={19} />
    </span>

    <div className="chat-card-title">Explore use cases</div>

    <p>
      See how chats can lead to apps, designs, slides, and other
      outcomes.
    </p>

    <div className="chat-card-link">Browse use cases →</div>
  </a>

  <a className="chat-example has-visual" href="/chat/import-a-project">
    <ImportProjectCardVisual />

    <span>
      <Icon icon="file-import" size={19} />
    </span>

    <div className="chat-card-title">Import an existing project</div>

    <p>
      Bring work you already have into Replit instead of starting from a
      chat.
    </p>

    <div className="chat-card-link">Explore import options →</div>
  </a>

  <a className="chat-example has-visual" href="/chat/use-a-design-system">
    <DesignSystemCardVisual />

    <span>
      <Icon icon="shapes" size={19} />
    </span>

    <div className="chat-card-title">Use a design system</div>
    <p>Begin or continue a project with an established visual system.</p>
    <div className="chat-card-link">Explore design systems →</div>
  </a>
</section>

If the work already exists elsewhere, continue with [Import an existing project](/chat/import-a-project) instead of starting from a chat.
