zulip/tools
Mateusz Mandera f28cd99bc3
Some checks failed
Code scanning / CodeQL (push) Has been cancelled
Zulip production suite / Ubuntu 22.04 production build (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:bookworm, true, false, Debian 12 (Python 3.11, backend + documentation), bookworm) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:jammy, false, true, Ubuntu 22.04 (Python 3.10, backend + frontend), jammy) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:noble, false, false, Ubuntu 24.04 (Python 3.12, backend), noble) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:resolute, false, false, Ubuntu 26.04 (Python 3.14, backend), resolute) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:trixie, false, false, Debian 13 (Python 3.13, backend), trixie) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm, --test-custom-db, Debian 12 production install with custom db name and user, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy, , Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble, , Ubuntu 24.04 production install, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:resolute, , Ubuntu 26.04 production install, resolute) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:trixie, , Debian 13 production install, trixie) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-7.0, 7.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-8.0, 8.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy-6.0, 6.0 Version Upgrade, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-10.0, 10.0 Version Upgrade, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-9.0, 9.0 Version Upgrade, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:resolute-12.0, 12.0 Version Upgrade, resolute) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:trixie-11.0, 11.0 Version Upgrade, trixie) (push) Has been cancelled
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
renumber-migrations: Print current HEAD before amending prior commits.
2026-05-30 23:15:16 +08:00
..
ci ci: Pin Docker base images to linux/amd64. 2026-05-21 23:50:45 +08:00
documentation_crawler dependencies: Upgrade JavaScript dependencies. 2026-05-13 14:20:32 -07:00
droplets droplets: Replace dict[str, Any] with list[str] in create.py. 2026-03-03 10:29:15 -08:00
i18n sync-translations: Handle the case of no *.mo files. 2026-02-03 10:22:55 -08:00
lib provision: Install Java ≥ 17. 2026-05-13 14:20:32 -07:00
linter_lib ms_teams_importer: Convert hosted content message attachments. 2026-04-20 09:12:37 -07:00
node_lib web: Set "type": "module" and convert various CJS files to ESM. 2024-11-13 09:18:56 -08:00
oneclickapps ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
screenshots screenshots: Remove document.querySelector by using page.$eval. 2026-04-23 17:14:12 -07:00
setup bootstrap-aws-installer: Lock root password. 2026-05-06 19:37:13 +00:00
test-install Remove support for Ubuntu 20.04 and Debian 11. 2024-04-01 13:27:39 -07:00
tests tools: Enforce '_html' suffix for unescaped hbs vars. 2025-08-28 17:33:20 -07:00
zulip-export message: Remove unused recipient_id. 2025-09-09 09:20:40 -07:00
__init__.py
backport-all-prs backport-all-prs: Derive backport branch from unmerged tags. 2026-04-05 20:55:51 -07:00
backport-pull-request backport: Give a sensible error when trying to backport an unmerged PR. 2026-05-18 22:33:17 -04:00
build-demo-organization-wordlist demo-orgs: Get word list for demo subdomains from jitsi js-utils repo. 2025-12-11 10:22:49 -08:00
build-docs tools: Use root-based absolute import for tools.lib, etc. 2021-07-05 12:21:52 -07:00
build-help-center help: Serve help center build without relative links for zulip.com. 2025-09-03 09:28:15 -07:00
build-release-tarball provision: Use uv sync --no-managed-python. 2026-03-25 04:05:47 -07:00
cache-zulip-git-version build-release-tarball: Override merge-base for full official releases. 2022-11-15 12:50:41 -08:00
check-capitalization python: Mark regexes as raw strings. 2024-04-26 12:30:31 -07:00
check-feature-level-updated github_actions: Check if feature levels are updated in API docs. 2025-07-09 09:33:55 -07:00
check-frontend-i18n docs: Explain web app translations before server, and use those terms. 2025-01-31 14:32:47 -08:00
check-issue-labels ruff: Fix PLC1802 len(…) used as condition without comparison. 2025-03-14 17:31:50 -07:00
check-openapi.ts dependencies: Upgrade JavaScript dependencies. 2026-04-17 15:39:27 -07:00
check-provision tools: Rename force argument to skip-provision-check 2021-03-03 09:17:49 -08:00
check-schemas event_types: Rename EventX classes to XEvent. 2026-05-26 16:35:37 -07:00
check-templates shared: Move icons to web/images/icons. 2025-11-14 10:19:12 -08:00
check-thirdparty check-thirdparty: License under GPLv2+. 2022-06-26 17:33:11 -07:00
clean-branches Rename default branch to ‘main’. 2021-09-06 12:56:35 -07:00
closed-by-commits closed-by-commit: Broaden validation of Github secret tokens. 2025-11-20 23:13:46 -05:00
commit-message-lint commit-message-lint: Take release branches into account. 2022-07-22 10:39:05 -07:00
commit-msg commit-msg: Don’t change the current directory for non-Vagrant. 2023-05-23 12:24:44 -07:00
conf.ini-template
coveragerc async_utils: Skip NoAutoCreateEventLoopPolicy on Python ≥ 3.14. 2026-04-22 22:00:04 -07:00
create-api-changelog tools: Update docs for create-api-changelog tool. 2025-05-21 12:04:45 -07:00
deploy-branch Rename default branch to ‘main’. 2021-09-06 12:56:35 -07:00
diagnose Vagrantfile: Share the checkout at the host’s path. 2026-04-23 09:18:20 -07:00
documentation.vnufilter dependencies: Upgrade JavaScript dependencies. 2026-01-12 18:31:52 -08:00
duplicate_commits.json tools: Move duplicate_commits.json file to tools directory. 2020-04-07 16:06:29 -07:00
fetch-contributor-data install: Remove --cacert and CUSTOM_CA_CERTIFICATES. 2025-02-24 22:29:24 -08:00
fetch-pull-request tools: Avoid readlink -f in *-pull-request scripts. 2021-04-30 14:57:13 -07:00
fetch-rebase-pull-request Rename default branch to ‘main’. 2021-09-06 12:56:35 -07:00
find-unused-css web: Move web app to ‘web’ directory. 2023-02-23 16:04:17 -08:00
github-changes-contain-file tools: Fix a linter issue caught by semgrep. 2025-10-23 14:33:58 -07:00
lint shared: Remove @zulip/shared packaging files. 2025-11-12 15:28:14 -08:00
merge-api-changelogs tools: Add support for viewing updated changelog for testing. 2025-07-02 11:34:34 -07:00
notify-if-api-docs-changed tools: Check if feature level is changed before sending message. 2025-11-07 10:11:16 -08:00
pre-commit Vagrantfile: Share the checkout at the host’s path. 2026-04-23 09:18:20 -07:00
provision requirements: Migrate to uv. 2025-02-24 22:29:24 -08:00
push-to-pull-request push-to-pull-request: Accept intermixed options and arguments again. 2024-02-01 17:08:44 -08:00
python-warnings.bash python-warnings: Update glom SyntaxWarning pattern for Python 3.14. 2026-04-22 22:00:04 -07:00
README.md docs: Update links in README files for moved directory-structure. 2026-05-13 18:01:30 +05:30
rebuild-dev-database terminate-psql-sessions: Rely on the caller to set PGHOST, PGUSER. 2020-06-15 21:37:14 -07:00
rebuild-test-database populate_db: Add attachments in messages. 2026-05-29 09:06:22 +05:30
release release: Parse version.py using the language it was written in. 2024-07-25 13:17:49 -07:00
release-tarball-exclude.txt help: Include dist in release tarball and exclude source code. 2025-10-01 13:10:13 -07:00
renumber-migrations renumber-migrations: Print current HEAD before amending prior commits. 2026-05-30 23:15:16 +08:00
reset-to-pull-request tools: Avoid readlink -f in *-pull-request scripts. 2021-04-30 14:57:13 -07:00
review ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
run-codespell demo-orgs: Get word list for demo subdomains from jitsi js-utils repo. 2025-12-11 10:22:49 -08:00
run-dev Revert "run-dev: Abbreviate error message when receiving an https request." 2026-04-23 14:37:30 -07:00
run-mypy ruff: Fix SIM905 Consider using a list literal instead of str.split. 2025-03-14 17:31:50 -07:00
run-tsc tooling: Enable strict shell mode in selected scripts. 2026-01-21 09:53:52 -08:00
semgrep-py.yml queries: Always pass no_key kwarg explicitly to select_for_update. 2026-03-02 15:15:40 -08:00
setup-git-repo tooling: Enable strict shell mode in selected scripts. 2026-01-21 09:53:52 -08:00
show-profile-results python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
stop-run-dev python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
tail-ses ruff: Fix RUF059 Unpacked variable is never used. 2025-09-30 16:47:54 -07:00
test-all workflows: Remove ignores for check-capitalization, check-frontend-i18n. 2026-04-27 15:24:22 -07:00
test-api test-api: Reset uploaded realm emoji for realm export tests. 2026-04-24 10:57:05 -07:00
test-backend message_summary: Replace litellm with the OpenAI Python SDK. 2026-05-07 16:18:53 -07:00
test-documentation ruff: Fix UP035 Import from collections.abc, typing instead. 2024-07-13 22:28:22 -07:00
test-help-documentation documentation_crawler: Remove wrongly inverted skip_check_fragment flag. 2025-09-03 16:21:23 -07:00
test-js-with-node sidebars: Sync Tab and arrow key navigation in sidebars. 2026-04-23 18:11:39 -07:00
test-js-with-puppeteer install-node: Upgrade Node.js from 22.17.1 to 22.18.0. 2025-08-14 21:37:50 -07:00
test-migrations requirements: Upgrade Python requirements. 2021-04-15 21:47:33 -07:00
test-queue-worker-reload ruff: Fix UP007 Use X | Y for type annotations. 2024-07-13 22:28:22 -07:00
test-run-dev ruff: Fix UP006 Use list instead of List for type annotation. 2024-07-13 22:28:22 -07:00
test-tools requirements: Migrate to uv. 2025-02-24 22:29:24 -08:00
total-contributions total-contributions: Use a more complete set of repositories. 2025-10-02 12:11:43 -07:00
update-prod-static ui_init: Show unsupported browser warning on load. 2026-01-12 16:34:54 -08:00
update-zuliprc-api-field python: Replace universal_newlines with text. 2022-01-23 22:16:01 -08:00
upload-release python: Simplify with str.removeprefix, str.removesuffix. 2024-09-03 12:30:16 -07:00
webpack webpack: Pass --allowed-hosts as separate flags. 2026-05-08 19:06:46 -07:00
zanitizer zanitizer: Reformat with perltidy. 2021-03-24 12:12:04 -07:00
zanitizer_config.pm.sample zanitizer: Reformat with perltidy. 2021-03-24 12:12:04 -07:00

This directory contains scripts that are used in building, managing, testing, and other forms of work in a Zulip development environment. Note that tools that are also useful in production belong in scripts/ or should be Django management commands.

For more details, see https://zulip.readthedocs.io/en/latest/subsystems/directory-structure.html.