## 1. Project Overview & Quickstart (toeverything/LICENSE)

# LICENSE

Open-source repository toeverything/LICENSE

### Repository Details
- **Repository:** [toeverything/LICENSE](https://github.com/toeverything/LICENSE)
- **Primary Language:** Code

*Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.*

## 2. Official Technical Reference & Guides (toeverything/docs)

## File: README.md

# Welcome to the AFFiNE Docs!

## <mark style="color:orange;">⚠️</mark> <mark style="color:red;">For reference only</mark> <mark style="color:orange;">⚠️</mark>

## <mark style="color:orange;">⚠️</mark> <mark style="color:red;">This site and docs are not actively updated.</mark> <mark style="color:orange;">⚠️</mark>

\


<mark style="color:orange;">⚠️</mark> Please use our community site: <mark style="color:orange;">⚠️</mark>\
🫱 [https://community.affine.pro](https://community.affine.pro) 🫲\



***

\


## Welcome to the AFFiNE Docs!

[⭐ Getting Started](getting-started/welcome.md) General user information - including how to setup and get started using AFFiNE.

[💻 Developer Docs](developer-docs/welcome.md) Looking to develop on/with AFFiNE? Make contributions on GitHub? Check out our dev docs.

[🌐 Internationalization](internationalization/welcome.md) Interested in our internationalization and helping translate AFFiNE to reach the world?

[💼 AFFiNE Ambassadors](affine-ambassadors/welcome.md) Want to help spread the word of AFFiNE and have access to talk with the team directly?

[™️ Branding Resources](branding-resources/welcome.md) Some branding and style designs and resources for AFFiNE

#### Want to get in touch?

[AFFiNE Community](https://community.affine.pro/)

We are also active on various social and community platforms, head over to the communities page to find our official groups and pages:

{% content-ref url="community-links/official-communities.md" %}
[official-communities.md](community-links/official-communities.md)
{% endcontent-ref %}

---

## File: developer-docs/contributions/adding-ui-components/README.md

# 💐 Adding UI Components

AFFiNE defines a new component development specification in Figma, extends AFFiNE UI Components based on [MUI BASE](https://mui.com/base/getting-started/overview/) and [MUI SYSTEM](https://mui.com/system/basics/), and supplements as needed https://github.com/toeverything/AFFiNE/tree/master/libs/components/ui , e.g. `src/libs/components/ui/src/button/base-button.ts`.

```jsx
import ButtonUnstyled, {
    buttonUnstyledClasses,
} from '@mui/base/ButtonUnstyled';
import { styled } from '../styled';

/* eslint-disable @typescript-eslint/naming-convention */
const blue = {
    500: '#007FFF',
    600: '#0072E5',
    700: '#0059B2',
};
/* eslint-enable @typescript-eslint/naming-convention */

export const BaseButton = styled(ButtonUnstyled)`
    font-family: IBM Plex Sans, sans-serif;
    font-weight: bold;
    font-size: 0.875rem;
    background-color: ${blue[500]};
    border-radius: 8px;
    padding: 4px 8px;
    color: white;
    transition: all 150ms ease;
    cursor: pointer;
    border: none;

    &:hover {
        background-color: ${blue[600]};
    }

    &.${buttonUnstyledClasses.active} {
        background-color: ${blue[700]};
    }

    &.${buttonUnstyledClasses.focusVisible} {
        box-shadow: 0 4px 20px 0 rgba(61, 71, 82, 0.1), 0 0 0 5px rgba(0, 127, 255, 0.5);
        outline: none;
    }

    &.${buttonUnstyledClasses.disabled} {
        opacity: 0.5;
        cursor: not-allowed;
    }
`;

export { BaseButton } from './base-button';
```

---

## File: developer-docs/contributions/making-code-contributions/README.md

---
  Affine welcomes open source enthusiasts to collaborate and contribute
  interesting ideas and code.
---

# ❤ Making Code Contributions

## What Does It Mean to Contribute [](#what-it-means-to-contribute)

If you are a new open source contributor, the process can be daunting - What if you don't know how to code? What if something goes wrong?

Don't worry! This article will provide detailed guidance for you.

## Get Started

### Create Issue

You should usually open an issue when you have trouble with:

* Presenting a problem you have that you cannot solve
* Presenting a valid idea, expectation, or conjecture about a topic
* Proposing a new feature
* Propose to improve or refactor existing code through code generation

Tips for communicating on issues:

* **If you see an open issue that you want to tackle,** comment on the issue. That way, people are less likely to duplicate your work.
* **If an issue was opened a while ago,** it’s possible that it’s being addressed somewhere else, or has already been resolved, so comment to ask for confirmation before starting work.
* **If you opened an issue, but figured out the answer later on your own,** comment on the issue to let people know, then close the issue. Even documenting that outcome is a contribution to the project.

### [**Fork Repository**](https://guides.github.com/activities/forking/)

You can fork the repository and clone the code repository to the local workspace.

Connect your local workspace to the original "upstream" repository by adding it as a remote.

Sync upstream branches from time to time keeps your code up to date. When you submit a pull request, the possibility of encountering conflict can be greatly reduced (see more detailed instructions [here](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork)).

### [**Create Branch**](https://guides.github.com/introduction/flow/) & Start Development

Create a local branch in your workspace and make the necessary changes.

### Test Changes

Run your changes against any existing test and create new ones when needed. Whether tests exist or not, make sure your changes would not break the existing project.

It's important to maintain a consistent style with existing code (e.g. indentation, semicolons, the way comments are written), which makes it easier for maintainers to merge and for others to understand and maintain in the future.

### [Open Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) [](#opening-a-pull-request)

Pull requests do not necessarily mean completed work. It is often better to open pull requests early on so that others can see your progress or give feedback. Simply mark it as "WIP" (Work in Progress) in the subject line. You can add more commits later.

* Reference any relevant issues or supporting documentation in your PR (for example, "Closes Issues#2345").
* If the view layer has changed, please include a comparison diagram of the difference before and after the change. If the performance metrics have changed, please detail the reasons for the change. So that the code review can be more focused.

{% hint style="info" %}
To ensure the security of our product, we kindly request that you share any scripts that may have been used to generate code changes. This allows us to audit the code and prevent any malicious code execution.
{% endhint %}

{% hint style="info" %}
Where appropriate, please consider submitting larger changes into smaller, separate pull requests.
{% endhint %}

## Tips

If your pull request has not progressed for a long time (close or merge), please send the relevant information to contact@toeverything.info.

Remember: you need to include the issue number in the content of your email.

---

## File: developer-docs/contributions/README.md

# 🖥 Contributions

Welcome to the AFFiNE software development documentation.

Here you will find all the resources you need to start developing your AFFiNE project.

These pages will guide you through the stages of setting up your development environment, connecting to our code base, learning how to code for AFFiNE, and finally submitting code to the project!