Local Projects

Everything you need to know about starting projects from scratch

As well as being able to import projects from our GitHub integration or a git url, you can also create new projects directly from Cosine.

Creating a Local Project

To create a new project inside Cosine, start by clicking on the Projects tab from the homepage, then click on the New Project button. From there, looking at the panel on the right, you’ll be given the choice to either:

  • Start from scratch with a completely blank project, or

  • Use a template, which includes some pre-written code and setup tailored to common project types.

When creating the project, you’ll also need to give it a name. Be careful here—once you’ve chosen the name, it can’t be changed later. The name is permanent and will be used throughout the platform to identify your project.

Merging Local Project Tasks

Working with Branches in Cosine

When you start a project in Cosine, each task is placed in its own branch. A branch is a separate line of development where you can make changes without affecting the default branch (your main codebase). This setup lets you safely experiment, fix bugs, or build new features in isolation.

How Merging Works

While a task is in progress, its code remains separate from the default branch. Once you’re happy with the changes, you can merge the task branch back into the default branch. This makes the updates part of your official working code and ensures they’re automatically included in future tasks.

Merging a task will:

  • Combine your changes into the main project

  • Mark the task as Completed

  • Still allow you to view or reopen the task later if needed

In Simple Terms

Merging is just combining your work back into the main project. Your default branch always reflects the most up-to-date “official” code, while tasks give you the freedom to work independently until you’re ready to contribute your changes.

Publishing a Local Project

Publishing a project makes it available as a GitHub repository. A GitHub repository (or “repo”) is like a storage space in the cloud for your code. It keeps track of all your branches, tags, and history, and allows you to collaborate with others using GitHub’s ecosystem of tools.

When you publish a project from Cosine, all of your local branches and tags are pushed to GitHub. Nothing inside Cosine changes—your tasks remain as they are—but the “provider” underneath switches to GitHub. This gives you the power to share your project more widely, back it up remotely, and collaborate with others.

Before publishing, you’ll need to have the GitHub integration set up. If you haven’t done this yet, Cosine will prompt you to connect your account.

When publishing, you’ll also need to choose the visibility of your repository:

  • Private: Only you (and people you explicitly invite) can see the code.

  • Public: Anyone on the internet can view the code.

You can publish in two ways:

  1. From the project settings page—this publishes the project and all its branches/tags.

  2. Directly from a task—this also publishes everything, but with one extra step: Cosine will create a pull request (PR) on GitHub for the task you’re working on. A pull request is GitHub’s way of proposing changes for review before they’re merged into the default branch.

Publishing bridges the gap between working locally in Cosine and collaborating globally on GitHub.

Last updated

Was this helpful?