11 Star 102 Fork 12

TEO Cloud / teo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
CONTRIBUTING.md 3.78 KB
一键复制 编辑 原始数据 按行查看 历史
Victor Teo 提交于 2024-03-16 17:02 . update contributing scripts

Welcome!

Welcome! You've arrived at our Contributing page and are now one step away from joining our quest to make coding more fun. We're thankful for all your contributions, whether it's helping us find issues in our code, highlighting features we're missing, or contributing to the codebase. If you've found your way here, you'll soon be ready to join in the fun of building features and fixing bugs directly with us - and we're thrilled to have you on board!

To get you started on a good foot, we've created an easy overview of the most important things to get you started contributing code to Teo below as well as a Code of Conduct for contributing to the development of Teo.

Contributing Code

Welcome to the repository for the TEO HTTP server framework.

General Prerequisites

  • Core: Rust >=1.67, latest is recommended
  • Clients:
    • TypeScript & JavaScript: Node.js >=20, latest or lastest LTS is recommended
    • Dart & Flutter: Dart >=3.3, latest is recommended
  • Servers:
    • Node.js: Node.js >=20, latest or latest LTS is recommended
    • Python: Python >=3.12, latest is recommended

Checkout repositories

Run this setup in a new empty directory script to set up repositories.

GitHub source

bash <(curl -o- https://raw.githubusercontent.com/teocloud/teo-development-setup/main/setup.sh)
bash <(wget -qO- https://raw.githubusercontent.com/teocloud/teo-development-setup/main/setup.sh)

Gitee source (for China users)

bash <(curl -o- https://gitee.com/teocloud/teo-development-setup/raw/main/setup.sh)
bash <(wget -qO- https://gitee.com/teocloud/teo-development-setup/raw/main/setup.sh)

Building Teo when you make changes

  • Core: cargo run

Conventions

Code Commit

Please do not write code in languages other than English.

Git Commit Messages

We structure our messages like this:

<type>[(<feature>[/<subfeature>]?)]?: <subject>
<BLANK LINE>
<body>

List of types:

  • feat: A new feature
  • fix: A bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding missing or correcting existing tests
  • chore: Changes to the build process or auxiliary tools and libraries such as documentation generation

List of features in the monorepo:

  • connector: The database connectors
    • sql: SQL database connectors
    • mysql: MySQL database connector
    • postgres: PostgreSQL database connector
    • sqlite: SQLite database connector
    • mongo: MongoDB database connector
  • server: The server integration
  • core: The core
  • pipeline: The pipeline items
  • lang: The schema language
  • seed: The data seeder
  • client: Client generators
    • ts: TypeScript client generator
    • swift: Swift client generator
    • kotlin: Kotlin client generator
    • csharp: C# client generator
    • dart: Dart client generator
  • entity: Entity generators
    • rust: Rust entity generator
    • node: Node.js entity generator
    • python: Python entity generator

Testing

Before testing

Run this command to startup testing databases:

docker-compose -f databases.yml up -d

Run integration tests

To run integration tests, use this command:

RUST_TEST_THREADS=1 cargo test --test '*' 

Legal

Pull Request authors must sign the TEO Cloud CLA, it will show up in an automated comment after you create a PR.

If you cannot or do not want to sign this CLA (e.g. your employment contract for your employer may not allow this), you should not submit a PR. Open an issue and someone else can do the work.

Rust
1
https://gitee.com/teocloud/teo.git
git@gitee.com:teocloud/teo.git
teocloud
teo
teo
main

搜索帮助

53164aa7 5694891 3bd8fe86 5694891