Protorip
---
site: protos.rip
page: docs/quickstart
---

# Quickstart

## tl;dr

```bash
buf registry login protos.rip
buf config init protos.rip/<scope>/notes # scaffold buf.yaml
buf registry module create protos.rip/<scope>/notes
buf push # first commit, on label "main"
```
In a second project, add the dep to buf.yaml:
```yaml
version: v2
deps:
- protos.rip/<scope>/notes
```
```bash
buf dep update
```

## Prerequisites

Install the buf CLI — see [Install the buf CLI](/docs/install-buf) for the supported install paths. Sign up at protos.rip; your account comes with a personal scope at your username. Replace `<scope>` below with your username, or with an org slug if you’ve created one at [/dashboard/new-org](/dashboard/new-org).

## Sign in

Run `buf registry login protos.rip` and approve the request in your browser when it opens.
```bash
buf registry login protos.rip
```
For headless machines or details on credential storage, see [Sign in and API keys](/docs/guides/sign-in-and-api-keys).

## Write a small .proto file

Create a directory for your protos and add this file at `notes/v1/notes.proto`:
syntax = "proto3";

package notes.v1;

message Note {
  string id = 1;
  string body = 2;
}

message CreateNoteRequest {
  string body = 1;
}

service NotesService {
  rpc CreateNote(CreateNoteRequest) returns (Note);
}

## Publish

From the directory containing your `.proto` files, scaffold a `buf.yaml` with name and path pre-filled:
```bash
buf config init protos.rip/<scope>/notes
```
Create the module record. New modules default to private; flip to public from the dashboard if you want others to depend on it.
```bash
buf registry module create protos.rip/<scope>/notes
```
Upload the first commit. It lands on the `main` label by default.
```bash
buf push
```

## Consume from another project

In a separate project, add the module to the deps list in its `buf.yaml`:
```yaml
version: v2
deps:
- protos.rip/<scope>/notes
```
Fetch the latest commit on the default label and write a `buf.lock` alongside `buf.yaml`:
```bash
buf dep update
```
The protos are now resolvable from your `.proto` files via `import "notes/v1/notes.proto";` and from `buf generate` for SDK output. Pin to a specific commit or label by appending `:label` or `:commit_id` to the dep entry — see [Labels and commits](/docs/guides/labels-and-commits).

## See also