---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.2
alternate:
  - https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md
  - https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/index.md
  - href: en/sourcecraft/concepts/index.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
title: SourceCraft resource relationships
description: 'SourceCraft resource relationships: A guide to the platform''s key concepts for Git, CI/CD, and team development.'
---
> **Documentation Index:** Fetch the complete configuration index at https://sourcecraft.dev/portal/docs/en/llms.txt


# SourceCraft resource relationships

<!-- source: en/_includes/sourcecraft/intro.md -->
_SourceCraft_ is a platform you can use to develop source code, perform version management, test, assemble, deploy, and maintain software products. It is a code repository management system for [git](https://git-scm.com/) with error tracking and a CI/CD pipeline.

For more information on working with `git`, see [Getting started with Git](https://sourcecraft.dev/portal/docs/en/sourcecraft/tutorials/quickstart-git.md).
<!-- endsource: en/_includes/sourcecraft/intro.md -->

<!-- source: en/_includes/sourcecraft/terms-link.md -->
[SourceCraft Terms of Use](https://yandex.com/legal/cloud_terms_sourcecraft/en/)
<!-- endsource: en/_includes/sourcecraft/terms-link.md -->

To automate your work with the service, use the [SourceCraft CLI](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/cli-quickstart.md) or a public [REST API](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/api-start.md).

For information on how you can use SourceCraft for open source projects, see [this page](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/open-source.md).

<!-- source: en/_includes/sourcecraft/service-connection-note.md -->
SourceCraft provides secure Yandex Cloud [API](https://yandex.cloud/en/docs/api-design-guide/concepts/general) authentication within [CI/CD](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/ci-cd.md) workflows using [service connections](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/service-connections.md).
<!-- endsource: en/_includes/sourcecraft/service-connection-note.md -->

## Organizations {#org}

<!-- source: en/_includes/sourcecraft/org-description.md -->
An _organization_ is a user space in SourceCraft.

When a user [signs up](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/registration.md) in SourceCraft, this automatically creates a _personal organization_ and [cloud](https://yandex.cloud/en/docs/resource-manager/concepts/resources-hierarchy#cloud) in Yandex Cloud. A personal organization can be distinguished by `Personal Organization (SourceCraft)` in its name and `Created by SourceCraft` in its description.

Organizations do not interact with each other. Resources belonging to an organization cannot access another organization’s resources.
<!-- endsource: en/_includes/sourcecraft/org-description.md -->

Organizations differ in privacy settings:
* **Private**: Only [invited](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/invite.md) users will have access to view and edit the [repository](#repos). You cannot create public repositories in such organizations.
* **Public**: All internet users will be able to view the organization's public repositories without authentication. Only invited users will be able to modify the repositories.

<!-- source: en/_includes/sourcecraft/org-invites-and-yc-connection.md -->
By default, a new organization member has no access to the organization repositories. Access permissions must be granted explicitly by [assigning a role](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/bind.md) for an individual repository or the entire organization.

<!-- source: en/_includes/sourcecraft/teams-tip.md -->
{% note tip %}

To manage user roles in teams across your organization, use [these commands](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/teams.md).

{% endnote %}
<!-- endsource: en/_includes/sourcecraft/teams-tip.md -->

Each organization in SourceCraft has a corresponding organization in [Yandex Identity Hub](https://yandex.cloud/en/docs/organization/).
<!-- endsource: en/_includes/sourcecraft/org-invites-and-yc-connection.md -->

<!-- source: en/_includes/sourcecraft/federations-note.md -->
To authorize corporate accounts in SourceCraft using single sign-on (SSO), you can use Yandex Cloud [SAML-compatiable identity federations](https://yandex.cloud/en/docs/organization/concepts/add-federation).
<!-- endsource: en/_includes/sourcecraft/federations-note.md -->

For more information, see [Creating an organization in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/org-create.md).

## Repositories {#repos}

<!-- source: en/_includes/sourcecraft/repo-description.md -->
A _repository_ is a storage containing the entire codebase of your project and information related to it. Each repository includes:
* Source code (all project files).
* <!-- source: en/_includes/sourcecraft/commit-intro.md -->
  _Commits_ are records of changes to the repository containing a description, author info, and timestamp.
  <!-- endsource: en/_includes/sourcecraft/commit-intro.md --> 

  For more information, see [Viewing the commit history in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/get-commits.md).

  {% note tip %}

  <!-- source: en/_includes/sourcecraft/commit-association-intro.md -->
  SourceCraft gets the author name and email for each commit from `git`. If the email in the `git` settings matches the SourceCraft user email, the commit is automatically associated with that user in the repository, with their SourceCraft username, avatar, and profile link displayed in the commit history.

  You can have several email addresses associated with your profile, in which case commits containing these addresses will be attached to your account.
  <!-- endsource: en/_includes/sourcecraft/commit-association-intro.md --> 
  
  For more information, see [Setting up an email address for commit association in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/commit-association.md).

  {% endnote %}

* _Branches_ (independent development lines).
* _Tags_ (markers for key points in the project’s history).
* [Releases](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/releases.md), i.e., fixed versions of the project that include a specific set of changes, a tag, a description, and additional resources, such as binaries or archives, intended for users or other developers.

You can use a repository to track the progress of your project, manage different development branches, and roll back to previous code versions.

SourceCraft uses [branch policies](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/branch-policies.md) for change management and code review, enforcement of proper naming conventions and branch and tag conditions, and protection of branches from accidental commits or direct pushes.
<!-- endsource: en/_includes/sourcecraft/repo-description.md -->

For more information, see [Creating a repository in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/repo-create.md).

You can set up repository privacy in SourceCraft:

<!-- source: en/_includes/sourcecraft/repo-visibility-options.md -->
* **Public**: All internet users will be able to view the repository without authentication. Only invited users will be able to modify the repository.
* **Internal**: Only users from the organization housing the repository will have access to view and edit the repository.
* **Private**: Only invited users will have access to view and edit the repository.

You can [change](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/repo-privacy.md) repository access type at any time.
<!-- endsource: en/_includes/sourcecraft/repo-visibility-options.md -->

<!-- source: en/_includes/sourcecraft/lfs-description.md -->
SourceCraft repositories support [Git Large File Storage (LFS)](https://git-lfs.com/) for storing large files. We recommend using LFS for storing objects larger than 100 MB in the repository.
<!-- endsource: en/_includes/sourcecraft/lfs-description.md -->

For more information, see [Configuring a SourceCraft repository to support Git Large File Storage (LFS)](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/lfs.md).

You can also use a repository for static website hosting with [SourceCraft Sites](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/sites.md).

Email [notifications](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/repo-notifications.md) about activities in the repository are supported.

### Importing and mirroring a repository from another system {#repos-import}

<!-- source: en/_includes/sourcecraft/migration-intro.md -->
You can _import_ or _mirror_ into SourceCraft your source code repository hosted in another IT project management system for [Git](https://git-scm.com/).

Mirroring allows you to automatically synchronize particular branches between the source repository and the SourceCraft repository.

Simple code import (commit history, all existing branches and tags) is supported for any public repositories from any Git hosting services.

When migrating a repository from [GitHub](https://github.com), you can optionally import the following:
* Pull requests
* Issues
* Comments

<!-- source: en/_includes/sourcecraft/mirroring-gh-resources-note.md -->
{% note warning %}

Pull requests, issues and comments are transferred only during the initial synchronization and do not get updated afterwards. Mirroring is limited to particular branches of the source repository.

{% endnote %}
<!-- endsource: en/_includes/sourcecraft/mirroring-gh-resources-note.md -->
<!-- endsource: en/_includes/sourcecraft/migration-intro.md -->

<!-- source: en/_includes/sourcecraft/mirroring-restrictions.md -->
The mirrored SourceCraft repository branches are subject to [branch policy](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/branch-policies.md) protection rules. You cannot change them in SourceCraft; they get updated only when syncing with the source repository. 

If the branch policy is disabled or overridden by a user with the `Repository admin` [role](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/index.md#src-repositories-admin), the SourceCraft commit history will be overwritten (`force push`) during the next repository sync.
<!-- endsource: en/_includes/sourcecraft/mirroring-restrictions.md -->

For more information, see [Importing or mirroring a repository in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/migration.md).

## Forks {#forks}

<!-- source: en/_includes/sourcecraft/fork-description.md -->
_Forks_ allow you to create a personal isolated copy of another [repository](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#repos). A fork contains all code, commit history, and the main branch or all branches and tags of the original repository.

Forks simplify the process of making changes in someone else's projects, including open source ones. You are free to experiment, add new features, or fix bugs, and then propose your edits to the main project as [pull requests](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#pr).
<!-- endsource: en/_includes/sourcecraft/fork-description.md -->

A fork only contains objects created when working with that fork, such as commits and LFS objects, and the original repository data is connected dynamically.

When the original repository is deleted, the fork that was created first becomes the new original. All data is transferred to that fork.

SourceCraft supports fork sequences up to ten levels deep.

<!-- source: en/_includes/sourcecraft/fork-access.md -->
{% note info %}

To create a fork, you need the permissions to read the original repository. To create a fork from an existing one, you need permissions to read all the repositories in the chain. For more information, see [Access management in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/index.md).

{% endnote %}
<!-- endsource: en/_includes/sourcecraft/fork-access.md -->

<!-- source: en/_includes/sourcecraft/fork-ci-restriction.md -->
Pull request [CI/CD processes](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/ci-cd.md) from the fork repository branch to the original repository branch can only be started by users with the `Repository developer` [role](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/index.md#src-repositories-developer) or `Repository maintainer` [role](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/index.md#src-repositories-maintainer) in the original repository. In such pull requests, automatic start of CI/CD processes is disabled.
<!-- endsource: en/_includes/sourcecraft/fork-ci-restriction.md -->

For more information, see [Working with forks in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/fork-work.md).

## Pull requests {#pr}

<!-- source: en/_includes/sourcecraft/pr-description.md -->
A _pull request_ is a request to merge changes from one branch into another, usually the project’s main branch. A pull request contains a description of changes, comparison of branches, a discussion for review, and may be integrated with [CI/CD processes](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/ci-cd.md). This makes it easier for teams to collaborate and allows you to review and approve updates based on the [defined rules](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/code-review.md) before they are added to the main project.
<!-- endsource: en/_includes/sourcecraft/pr-description.md -->

For more information, see [Creating a pull request in a SourceCraft repository](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/pr-create.md).

<!-- source: en/_includes/sourcecraft/pr-work-in-ui.md -->
To work with pull requests in SourceCraft, including for approvals, you do not need to switch to an IDE on your local computer: you can do all the steps in the SourceCraft interface. You can [navigate and search through the project code](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/code-navigation.md) and [edit the code](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/code-edit.md).
<!-- endsource: en/_includes/sourcecraft/pr-work-in-ui.md -->

For more information, see [Working with pull requests in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/pr-work.md).

## Issues {#issues}

<!-- source: en/_includes/sourcecraft/issue-description.md -->
_Issues_ is a tool for tracking bugs, improvements, and new feature requests within a project. In an issue, you can start a discussion in comments, set the job status, priority, and responsible employee.
<!-- endsource: en/_includes/sourcecraft/issue-description.md -->

For more information, see [Creating an issue in a SourceCraft repository](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/issue-create.md).

You can use _boards_ to work with issues. Boards allow you to track progress and manage issue statuses.

<!-- source: en/_includes/sourcecraft/boards-description.md -->
Issues on the board are distributed between columns and sorted by creation date. Columns correspond to issue statuses:

* ![image](../../_assets/console-icons/circle.svg) **Open**
* ![image](../../_assets/console-icons/circle-play.svg) **In progress**
* ![image](../../_assets/console-icons/circle-pause.svg) **Paused**
* ![image](../../_assets/console-icons/circle-xmark.svg) **Declined**
* ![image](../../_assets/console-icons/circle-check.svg) **Closed**

Each issue card contains:

* Assignee's avatar. Hover over the avatar for the username and a link to the profile.
* Issue priority icon. Hover over this icon to see the priority name.
* Issue number.
* The ![image](../../_assets/console-icons/link.svg) icon to copy a link to the issue. Hover over the card to see this icon.
* Issue name.
* List of tags.
* [Milestone](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#milestones) name. Hover over the milestone name to view the deadline and open the milestone.
<!-- endsource: en/_includes/sourcecraft/boards-description.md -->

For more information, see [Working with an issue board in a SourceCraft repository](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/board-control.md).

<!-- source: en/_includes/sourcecraft/issue-activity-intro.md -->
You can use issues to maintain user activity in a project. Users may vote for an issue, discuss problems or ideas in comments, share their suggestions, and ask for clarifications. 

They can use reactions, e.g., likes, dislikes, and other emojis, to acknowledge a relevant or helpful comment. Users can mention each other in a message with the `@` symbol and add links to other issues, [milestones](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#milestones), and [pull requests](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#pr) to group related discussions and resolve issues faster.

SourceCraft supports updating issue pages in real time. You do not need to refresh the page manually to see new comments, reactions, and other changes.
<!-- endsource: en/_includes/sourcecraft/issue-activity-intro.md -->

<!-- source: en/_includes/sourcecraft/issue-connection.md -->
{% note tip %}

You can link issues from different [repositories](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#repos) within one [organization](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#org). The following link types are available: ![image](../../_assets/console-icons/link.svg) **Related issue**, ![image](../../_assets/console-icons/circle-arrow-right.svg) **Sub-issue**, ![image](../../_assets/console-icons/folder-arrow-up-in.svg) **Parent issue**, ![image](../../_assets/console-icons/octagon-xmark.svg) **Blocker for**, ![image](../../_assets/console-icons/shuffle.svg) **Blocked by**, and ![image](../../_assets/console-icons/copy-transparent.svg) **Duplicate of**.

{% endnote %}

You can select an existing issue from the drop-down list or create a new one directly on the current page.
<!-- endsource: en/_includes/sourcecraft/issue-connection.md -->

<!-- source: en/_includes/sourcecraft/issue-notifications-intro.md -->
To stay updated on new comments, reactions, and other events, subscribe to notifications for the issue. You will be getting these at the email linked to your account.
<!-- endsource: en/_includes/sourcecraft/issue-notifications-intro.md -->

For more information, see [Working with issues in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/issue-work.md).

## Labels {#labels}

<!-- source: en/_includes/sourcecraft/label-description.md -->
You can use labels to group [pull requests](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#pr) and [issues](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#issues), e.g., by the following criteria:

* Issue type: `bug`, `feature`, or `docs`.
* Sprint or release the issue belongs to: `sprint: 2026-01-20 / 2026-02-02` or `release-02-02`.
* Team: `frontend-team` or `core`.

You can color-code labels for better visibility.

You can also use labels to search and filter [pull requests](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/search-repo.md) and [issues](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/search-repo-issue.md).

Labels only apply within the repository where they were created. Adding, editing, or deleting labels within a repository does not affect labels in other repositories.
<!-- endsource: en/_includes/sourcecraft/label-description.md -->

For more information, see [Working with labels in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/labels-work.md).

## Milestones {#milestones}

<!-- source: en/_includes/sourcecraft/milestone-description.md -->
_Milestones_ are a tool for planning and tracking key milestones during software development. 

Milestones may be associated with new releases or major updates.

For each milestone, you can set a due date and specify the [issues](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#issues) you need to complete to reach your target. You can also link [pull requests](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#pr) to issues.

This way, by grouping milestones, issues, and pull requests, you can track development progress and manage priorities.
<!-- endsource: en/_includes/sourcecraft/milestone-description.md -->

For more information, see [Working with milestones in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/milestone-work.md).

## Secrets {#secrets}

<!-- source: en/_includes/sourcecraft/secrets-description.md -->
Using _secrets_, you can securely store encrypted confidential data, such as passwords, access keys, tokens, and more in the repository.

A secret consists of a key-value pair, where the key is the secret name, and the value, the confidential data.

Two types of secrets are supported:
* SourceCraft: Regular key-value secret stored in the service.
* Lockbox: Link to a [Yandex Lockbox](https://yandex.cloud/en/docs/lockbox/) secret. The secret itself is stored in Yandex Cloud, and SourceCraft accesses it via a [service connection](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/service-connections.md) using the latest current [version](https://yandex.cloud/en/docs/lockbox/concepts/secret#version) of the secret.
<!-- endsource: en/_includes/sourcecraft/secrets-description.md -->

<!-- source: en/_includes/sourcecraft/secrets-in-ci-cd.md -->
You can use secret values in the repository's [CI/CD processes](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/ci-cd.md). To do this, in the `.sourcecraft/ci.yaml` configuration file, specify the secret in `${{ secrets.<secret_name> }}` format.
<!-- endsource: en/_includes/sourcecraft/secrets-in-ci-cd.md -->

{% note tip %}

<!-- source: en/_includes/sourcecraft/service-connection-note.md -->
SourceCraft provides secure Yandex Cloud [API](https://yandex.cloud/en/docs/api-design-guide/concepts/general) authentication within [CI/CD](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/ci-cd.md) workflows using [service connections](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/service-connections.md).
<!-- endsource: en/_includes/sourcecraft/service-connection-note.md -->

{% endnote %}

### Integration with Yandex Lockbox {#lockbox}

<!-- source: en/_includes/sourcecraft/lockbox-integration-note.md -->
With Yandex Lockbox integration, you can:
* Store secrets in Yandex Cloud without duplicating their values ​​in SourceCraft.
* Use full-blown secret management with versioning and granular access permissions.
* Use the same secrets in SourceCraft and other Yandex Cloud services.
<!-- endsource: en/_includes/sourcecraft/lockbox-integration-note.md -->

{% cut "Example of using a Yandex Lockbox secret in CI/CD" %}

<!-- source: en/_includes/sourcecraft/lockbox-secret-example.md -->
```yaml
workflows:
  test-lockbox-workflow:
    tasks:
      - name: test-lockbox-task
        cubes:
          - name: test-lockbox-task
            script:
              - |
                set -eou pipefail
                echo "Testing lockbox"
                echo ${{ secrets.lockbox-test#BOT_TOKEN }}
```

In our example, we are using the value of the `BOT_TOKEN` key from the `lockbox-test` Yandex Lockbox secret.
<!-- endsource: en/_includes/sourcecraft/lockbox-secret-example.md -->

{% endcut %}

For more information, see these pages:
* [Managing secrets in a SourceCraft repository](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/secrets.md)
* [Setting up integration with Yandex Lockbox in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/lockbox-integration.md).

## Code {#code}

<!-- source: en/_includes/sourcecraft/spaces-tip.md -->
For full-out coding, there is a [Visual Studio Code](https://code.visualstudio.com/)-based cloud development environment called [SourceCraft Spaces](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/spaces.md) accessible via the browser.
<!-- endsource: en/_includes/sourcecraft/spaces-tip.md -->

You can [use an AI assistant to edit your project code](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/code-assistant.md#code-edition) right in the SourceCraft interface.

<!-- source: en/_includes/sourcecraft/raw-content-intro.md -->
In a SourceCraft [repository](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#repos), raw files are available via [direct links](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/raw-content.md#raw). 

The SourceCraft UI also supports [copying](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/raw-content.md#copy) and [downloading](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/raw-content.md#download) raw files without having to [clone](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/repo-clone.md) the repository.
<!-- endsource: en/_includes/sourcecraft/raw-content-intro.md -->

{% note tip %}

To render Markdown files, the repository supports [Yandex Flavored Markdown](https://diplodoc.com/docs/ru/syntax/) as well as LaTeX formulas implemented via the Diplodoc [plugin](https://github.com/diplodoc-platform/latex-extension) based on the [KaTeX](https://katex.org/) library.

{% endnote %}

### Navigating and searching through code {#code-navigation}

<!-- source: en/_includes/sourcecraft/code-navigation-description.md -->
You can easily understand code structure and dependencies with SourceCraft code navigation. The solution links declarations of named entities to their usages: for any named entity, you can view its declaration and jump directly to the corresponding line in the source code.

You need no setup to activate code navigation: SourceCraft will automatically index your code for all supported programming languages.

This feature is available both in code browsing mode and when reviewing pull requests.

<iframe width="640" height="360" src="https://runtime.strm.yandex.ru/player/video/vplvlyx6usuy2ivx7kdm?autoplay=0&mute=0" allow="autoplay; fullscreen; picture-in-picture; encrypted-media" frameborder="0" scrolling="no"></iframe>

<br>

#|
||
SourceCraft provides the following code navigation capabilities:
* [Text-based code search across the repository](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/code-navigation.md#search-code-in-repo)
* [File structure navigation](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/code-navigation.md#get-structure)
* [Viewing declaration info](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/code-navigation.md#declaration-info)
* [Jumping from a usage to its declaration](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/code-navigation.md#search-by-declaration)
* [Search by usage](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/code-navigation.md#search-by-usage)
||
|#

You can check whether navigation is available via the [indicator](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/code-navigation.md#indicator).
<!-- endsource: en/_includes/sourcecraft/code-navigation-description.md -->

<!-- source: en/_includes/sourcecraft/code-navigation-supported-syntax.md -->
{% note info %}

File structure output, declaration search, and element occurrence search are supported for C, C++, C#, Go, Java, JavaScript, Kotlin, PHP, Python, TypeScript, the Protocol Buffers data description language, and the `.sourcecraft/ci.yaml` [CI/CD configuration file](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/ci-cd.md#ci-cd-configuration).

{% endnote %}
<!-- endsource: en/_includes/sourcecraft/code-navigation-supported-syntax.md -->

For more information, see [Navigating and searching by code in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/code-navigation.md).

### Using a repository as a package source {#go-get}

<!-- source: en/_includes/sourcecraft/go-get-description.md -->
In SourceCraft, you can use public [repositories](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#repos) in public [organizations](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#org) as a source of packages for projects in [Go](https://go.dev/).
<!-- endsource: en/_includes/sourcecraft/go-get-description.md -->

For more information, see [Using a SourceCraft repository as a Go package source](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/go-get.md).

## Packages {#packages}

<!-- source: en/_includes/sourcecraft/packages-intro.md -->
In SourceCraft, you can store, distribute, and manage software _packages_. These can be third-party libraries, dependencies, or custom program builds. 

With packages, developers can easily share their build results, reuse code, and incorporate it into their projects.

Packages are stored in _registries_, i.e., repositories these packages are published to and from where they can be downloaded by other project members or automated systems. Registries provide version control, access control, auditing, and link together the package publishing and deployment processes in the source code management system.

{% note info %}

Registries are stored in [Yandex Cloud Registry](https://yandex.cloud/en/docs/cloud-registry/). For more information about the free tier and pricing policy, see [these Cloud Registry guides](https://yandex.cloud/en/docs/cloud-registry/pricing).

{% endnote %}

Supported package types:
* Maven: Java artifacts.
* NPM: Node.js artifacts.
* NuGet: .NET artifacts.
* PyPI: Python artifacts.
* Docker: Docker images.
<!-- endsource: en/_includes/sourcecraft/packages-intro.md -->

<!-- source: en/_includes/sourcecraft/registry-role.md -->
{% note warning %}

To create, add, and connect registries to repositories, you need the `Organization admin` [role](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/index.md#organization-manager-admin).

{% endnote %}

All organization users have read access to packages from registries.
<!-- endsource: en/_includes/sourcecraft/registry-role.md -->

<!-- source: en/_includes/sourcecraft/registry-exist.md -->
You can connect to local [Yandex Cloud Registry](https://yandex.cloud/en/docs/cloud-registry/) registries residing in the same [organization](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#org).
<!-- endsource: en/_includes/sourcecraft/registry-exist.md -->

<!-- source: en/_includes/sourcecraft/registry-cloud.md -->
Registries created in SourceCraft will also be shown in the Yandex Cloud [management console](https://console.yandex.cloud).
<!-- endsource: en/_includes/sourcecraft/registry-cloud.md -->

<!-- source: en/_includes/sourcecraft/registry-repo-access.md -->
{% note info %}

Once a [repository](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/index.md#repos) is connected to a registry, all users with the [`Repository developer`](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/index.md#src-repositories-developer), [`Repository maintainer`](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/index.md#src-repositories-maintainer), or [`Repository admin`](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/index.md#src-repositories-admin) role for the repository gain the ability to upload packages into the registry.

{% endnote %}
<!-- endsource: en/_includes/sourcecraft/registry-repo-access.md -->

For more information, see the guides for [Working with packages](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/index.md#packages).

## Integration with Yandex Tracker {#tracker-integration}

SourceCraft offers integration with Tracker. It allows you to link [pull requests](#pr) to Tracker issues, track the status of linked pull requests in Tracker, and, the other way around, see linked issues in the repository.

For more information, see [Integrating SourceCraft with Yandex Tracker](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/tracker-integration.md).

#### Useful links {#see-also}

* [Getting started with SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/quickstart.md)
* [Continuous integration and continuous deployment in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/ci-cd.md)
* [Approval rules in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/code-review.md)
* [Branch policies in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/concepts/branch-policies.md)
* [Working with the SourceCraft REST API](https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/api-start.md)
* [Security in SourceCraft](https://sourcecraft.dev/portal/docs/en/sourcecraft/security/security-overview.md)

<!-- source: en/_includes/sourcecraft/yandex-project.md -->
_Project by Yandex© 2026 Yandex.Cloud LLC_
<!-- endsource: en/_includes/sourcecraft/yandex-project.md -->
