From 6733627ea452057b68940a53c969e7ea1565dbfd Mon Sep 17 00:00:00 2001 From: Li Yilong Date: Fri, 22 Jan 2021 17:27:05 +0800 Subject: [PATCH] add rfc for TiDE incubating project --- rfc/2021-01-20-TiDE.md | 91 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 rfc/2021-01-20-TiDE.md diff --git a/rfc/2021-01-20-TiDE.md b/rfc/2021-01-20-TiDE.md new file mode 100644 index 00000000..c2ee194c --- /dev/null +++ b/rfc/2021-01-20-TiDE.md @@ -0,0 +1,91 @@ +# Proposal: TiDE + +- Author(s): [@aylei](https://github.com/aylei), [@baurine](https://github.com/baurine), [@dragonly](https://github.com/dragonly) (in alphabetical order) +- Last updated: 2021-01-20 +- Discussion at: https://github.com/pingcap/community/issues/389 + +## Abstract + +TiDE is aimed to be the definitive IDE of any TiDB related projects. It should provide a convinient and consistent way of developing TiDB code. + +## Background + +TiDE was originally a TiDB Hackathon 2020 project which won the second prize. During the hackathon event, we found that this tool could potentially change the way people develop TiDB projects completely, just think about how IDE has changed the software developing process. + +Opensource software development is a long process, so we really want to make everyones life easier. + +## Proposal + +We propose to continue developing TiDE as a community incubating project, so that more people could join the development with their hands-on experience about how to use the tool to empower themselves. This can be a positive feedback-improvement loop with the help of the TiDB community. + +The developing process should be in two phases: + +1. In the first phase, the original authors in hackathon are responsible for refactoring the code into an extensible structure, and finish the core features. +2. In the second phase, feature requests and pull requests are welcome from the community, which will help the project to graduate. + +We should also define some milestones: + +1. TiUP/kubectl utils encapsulated +2. fully support daily TiUP usage for TiDB development +3. contributing documentations done +4. TiDB dashboard scaffolding +5. TiKV coprocessor scaffolding + +## Rationale + + +TiDB itself is a distributed database system, which is very hard to contribute to, even for an experienced engineering. TiDE should lower the entry level into the TiDB community. + +## Compatibility and Migration Plan + + + +## Implementation + + +TiDE is implemented as a Visual Studio Code extension, which would efficiently leverage all vscode provided capabilities, with features tailored for TiDB repos. + +## Testing Plan + + +We should find some seeds users in TiDB community, and keep in touch with them. After each version published, we should anounce it in a dedicated slack channel, and collect feedbacks from real users. We should also add telemetry in the codebase, so that we could find out popular features. + +## Open issues (if applicable) + + +None. \ No newline at end of file