From 651113ab3332631b05caa502a8ab87a8f78f3bc2 Mon Sep 17 00:00:00 2001 From: Greg Price Date: Sun, 25 Feb 2024 16:51:17 -0800 Subject: [PATCH] docs: Fix a server/web-specific segment in contributing guide. These are fine instructions, but are specific to the server and web app, while the surrounding section is otherwise valid for the project as a whole. Mark them as such, and add a sibling item for the Flutter app. (Consisting of good advice for becoming familiar with really any software project, plus a link to the app's README for specific setup instructions.) --- CONTRIBUTING.md | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e675261986..d4466158a7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -85,15 +85,34 @@ to help. your name as the topic. Bonus: tell us about your first impressions of Zulip, and anything that felt confusing/broken or interesting/helpful as you started using the product. + - Read [What makes a great Zulip contributor](#what-makes-a-great-zulip-contributor). -- [Install the development environment](https://zulip.readthedocs.io/en/latest/development/overview.html), - getting help in - [#provision help](https://chat.zulip.org/#narrow/stream/21-provision-help) - if you run into any troubles. -- Familiarize yourself with [using the development environment](https://zulip.readthedocs.io/en/latest/development/using.html). -- Go through the [new application feature - tutorial](https://zulip.readthedocs.io/en/latest/tutorials/new-feature-tutorial.html) to get familiar with - how the Zulip codebase is organized and how to find code in it. + +- Set up the development environment for the Zulip codebase you want + to work on, and start getting familiar with the code. + + - For the server and web app: + + - [Install the development environment](https://zulip.readthedocs.io/en/latest/development/overview.html), + getting help in + [#provision help](https://chat.zulip.org/#narrow/stream/21-provision-help) + if you run into any troubles. + - Familiarize yourself with [using the development environment](https://zulip.readthedocs.io/en/latest/development/using.html). + - Go through the [new application feature + tutorial](https://zulip.readthedocs.io/en/latest/tutorials/new-feature-tutorial.html) to get familiar with + how the Zulip codebase is organized and how to find code in it. + + - For the upcoming Flutter-based mobile app: + - Set up a development environment following the instructions in + [the project README](https://github.com/zulip/zulip-flutter). + - Start reading recent commits to see the code we're writing. + Use either a [graphical Git viewer][] like `gitk`, or `git log -p` + with [the "secret" to reading its output][git-log-secret]. + - Pick some of the code that appears in those Git commits and + that looks interesting. Use your IDE to visit that code + and to navigate to related code, reading to see how it works + and how the codebase is organized. + - Read the [Zulip guide to Git](https://zulip.readthedocs.io/en/latest/git/index.html) if you are unfamiliar with Git or Zulip's rebase-based Git workflow, @@ -103,6 +122,9 @@ to help. Git tools page](https://zulip.readthedocs.io/en/latest/git/zulip-tools.html). +[graphical Git viewer]: https://zulip.readthedocs.io/en/latest/git/setup.html#get-a-graphical-client +[git-log-secret]: https://github.com/zulip/zulip-mobile/blob/main/docs/howto/git.md#git-log-secret + ### Where to look for an issue Now you're ready to pick your first issue! Zulip has several repositories you