# AFFiNE [![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-) Workspace for AFFiNE ## Installation ```sh # Clone the repo git clone git@github.com:toeverything/AFFiNE.git ``` Once cloned, switch to the master branch and navigate to the folder by typing `cd AFFiNE` and then running the following commands: ```sh # Install all project dependencies npm i -g pnpm pnpm i # Start the project pnpm start open http://localhost:4200/ ``` This project uses pnpm for package management and is built based on nx. It is recommended to install the [nx console](https://marketplace.visualstudio.com/items?itemName=nrwl.angular-console) plugin to create dependencies **If it is development, you can add environment variables in the project directory .env.local file** ``` NODE_ENV=development ``` ## Scripts 1. Create react dependency library: `pnpm run add:library` 2. Create react components: `pnpm run add:components` 3. Create a data source: `pnpm run add:datasource` 4. Unit testing: `pnpm test` 5. Compile specific components - `pnpm build/test/lint `project name - Project name reference workspace.json 6. Create react/node program: use nx console 7. If you need to use the git cz function, please install it globally first commitizen `npm install -g commitizen conventional-changelog conventional-changelog-cli` ## Examples Have a look at [the examples to see AFFiNE in action](https://app.affine.pro/). ## Contributing - Generic functional components (such as ui components) are placed in `libs/components/common` - components within common are not allowed to reference _components_ except utils and dependencies - Common components can reference each other - Business components are placed in `libs/components` - The data source component is placed in `libs/datasource` - api request code, schema, etc. belong to the data source Please see [CONTRIBUTING](/docs/CONTRIBUTING.md) ## Documentation - [how-to-write-css-in-affine.md](/docs/how-to-write-css-in-affine.md) - [how-to-add-ui-component-in-affine.md](/docs/how-to-add-ui-component-in-affine.md) - [how-to-customize-rollup-config.md](docs/how-to-customize-rollup-config.md) - [how-to-auto-download-figma-assets-in-affine.md](docs/how-to-auto-download-figma-assets-in-affine.md) - [affine-icons-user-guide.md](docs/affine-icons-user-guide.md) - [How to develop api server in virgo](./apps/keck/README.md) ## Community For help, discussion about best practices, or any other conversation that would benefit from being searchable: [Discuss AFFiNE on GitHub](https://github.com/toeverything/AFFiNE/discussions) ## Contributors

DarkSky

💻 📖

Chi Zhang

💻 📖

alt1o

💻 📖

Diamond

💻 📖

Whitewater

💻 📖

zuoxiaodong0815

💻 📖

SaikaSakura

💻 📖

Qi

💻 📖

tuluffy

💻 📖

Austaras

💻 📖

Jin Yao

💻 📖
## License AFFiNE is distributed under the terms of MIT license. See LICENSE for details.