> For the complete documentation index, see [llms.txt](https://rc.sunbird.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rc.sunbird.org/engage/contribution-guidebook.md).

# Contribution Guidebook

Thank you for your interest in contributing to Sunbird Registry and Credentials (RC)! This guidebook is designed to help you get started with contributing to the Sunbird RC project.

**There are many ways to contribute to an open-source project, even if you are not a programmer or developer. Here are some suggestions on how you can start.**

1. Start small: If you are new to open source, start with small contributions such as reporting bugs or fixing documentation.
2. Read the documentation: Read the project's documentation to understand how it works and what needs to be done.
3. Join the community: Join the project's community, ask questions, and get to know the developers and other contributors.
4. Contribute code: If you are a programmer, you can contribute code to the project. Start by looking for "good first issues" or "beginner-friendly" issues that are easy to fix.
5. Write documentation: If you are good at writing, you can help improve the project's documentation by writing tutorials, guides, or documentation.
6. Test and report bugs: Help the project by testing it and reporting bugs. This helps the developers identify and fix issues.

## How we work as a community

1. **Engage with the community**

   You can engage using [Discussions](https://github.com/Sunbird-RC/community/discussions) for general questions, Ideas & Enhancement suggestions, Show & tell, etc.

   <figure><img src="https://1708923393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5AiA9iZeHXWMn8BoXoxo%2Fuploads%2FM5fv2qb8xqJNRaVfWI50%2Fimage.png?alt=media&#x26;token=c720c758-af15-41d4-a176-2320dc5a1f9d" alt="GitHub Discussions categories for Sunbird RC"><figcaption></figcaption></figure>
2. **Create an issue (or a ticket)**
   1. Provide sufficient details i.e. Title, Description, Screenshots, Videos, Environment, etc
   2. Create it in the [sunbird-rc-core repository](https://github.com/Sunbird-RC/sunbird-rc-core/issues/new/choose) by selecting the issue type (template) - Bug or Feature
   3. Never report a security vulnerability in a public issue — use the **Security → Report a vulnerability** tab on the [sunbird-rc-core repository](https://github.com/Sunbird-RC/sunbird-rc-core/security) instead
3. **Find issues to contribute**
   1. Look for issues/items tagged as “[good first issue](https://github.com/Sunbird-RC/sunbird-rc-core/issues?q=is%3Aissue%20is%3Aopen%20label%3A%22good%20first%20issue%22)”. If there are no good first issues, check out [the roadmap](https://github.com/orgs/Sunbird-RC/projects/16/views/1).
   2. From the Roadmap, look for [Priority items](https://github.com/orgs/Sunbird-RC/projects/16/views/6) that are not already in a Sprint
   3. Navigate using the components (labels) to find items relevant to your skillset/area of interest
   4. Comment on the ticket by tagging at least the current assignee and the reporter to get more clarity if needed or validate your approach to solving the issue. If you are clear on what needs to be done, you can go ahead & create a Pull Request to contribute code.
4. **Processes and Rituals**
   1. Assume you have identified a ticket you wish to contribute
   2. Self-assign the ticket
   3. Ensure it has sufficient details
      1. Meaningful Title e.g. As a \<user persona>, I should be able to \<do something>, so that \<I benefit from it>
      2. Clear Description e.g. What is the problem?, Proposed Solution, Implementation Approach
         1. Acceptance criteria or Test cases
   4. Labeled appropriately to tag the Component, Priority, Issue Type
   5. Assigned to someone/you - only one person ideally
   6. Estimated time/days for completion, Target date
   7. Tagged to a Sprint
   8. Tag the Component owner/maintainer to review the implementation approach, code contribution
5. **Governance**
   1. Working Group
   2. Triage team
   3. Product council
   4. Architecture council
   5. Marking the issue as a duplicate
      1. Adding \[Duplicate] in the heading and closing the issue with the original issue link as a comment


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://rc.sunbird.org/engage/contribution-guidebook.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
