2015-08-19 05:24:21 +02:00
===================
Directory structure
===================
2015-09-23 07:17:56 +02:00
This page documents the Zulip directory structure and how to decide where to
2015-08-19 05:24:21 +02:00
put a file.
Scripts
=======
2015-08-19 05:26:48 +02:00
+--------------------+-----------------------------------------------------------------------------------+
| `` scripts/ `` | Scripts that production deployments might run manually (e.g. `` restart-server `` ) |
+--------------------+-----------------------------------------------------------------------------------+
| `` bin/ `` | Scripts that are needed on production deployments but humans should never run |
+--------------------+-----------------------------------------------------------------------------------+
| `` scripts/setup/ `` | Tools that production deployments will only run once, during installation |
+--------------------+-----------------------------------------------------------------------------------+
| `` tools/ `` | Development tools |
+--------------------+-----------------------------------------------------------------------------------+
2015-08-19 05:24:21 +02:00
Bots
====
2015-08-19 05:26:48 +02:00
+------------------------+----------------------------------------------------------------------+
2015-09-23 07:17:56 +02:00
| `` api/integrations `` | Bots distributed as part of the Zulip API bundle. |
2015-08-19 05:26:48 +02:00
+------------------------+----------------------------------------------------------------------+
2015-09-23 07:17:56 +02:00
| `` bots/ `` | Previously Zulip internal bots. These usually need a bit of work. |
2015-08-19 05:26:48 +02:00
+------------------------+----------------------------------------------------------------------+
2015-08-19 05:24:21 +02:00
Management commands
===================
2015-08-19 05:26:48 +02:00
+-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
| `` zerver/management/commands/ `` | Management commands one might run at a production deployment site (e.g. scripts to change a value or deactivate a user properly) |
+-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+
2015-08-19 05:24:21 +02:00
Views
=====
+--------------------------------+-----------------------------------------+
| `` zerver/tornadoviews.py `` | Tornado views |
+--------------------------------+-----------------------------------------+
| `` zerver/views/webhooks.py `` | Webhook views |
+--------------------------------+-----------------------------------------+
2015-08-19 05:26:48 +02:00
| `` zerver/views/messages.py `` | message-related views |
+--------------------------------+-----------------------------------------+
2015-08-19 05:24:21 +02:00
| `` zerver/views/__init__.py `` | other Django views |
+--------------------------------+-----------------------------------------+
Static assets
=============
2015-08-19 05:26:48 +02:00
+---------------+---------------------------------------------------------------------------------------------------------------+
| `` assets/ `` | For assets not to be served to the web (e.g. the system to generate our favicons) |
+---------------+---------------------------------------------------------------------------------------------------------------+
| `` static/ `` | For things we do want to both serve to the web and distribute to production deployments (e.g. the webpages) |
+---------------+---------------------------------------------------------------------------------------------------------------+
2015-08-19 05:24:21 +02:00
Puppet
======
2015-08-19 05:26:48 +02:00
+--------------------+----------------------------------------------------------------------------------+
| `` puppet/zulip `` | For configuration for production deployments |
+--------------------+----------------------------------------------------------------------------------+
2015-08-19 05:24:21 +02:00
Templates
=========
2015-08-19 05:26:48 +02:00
+--------------------------+--------------------------------------------------------+
| `` templates/zerver `` | For templates related to zerver views |
+--------------------------+--------------------------------------------------------+
| `` static/templates `` | Handlebars templates for the frontend |
+--------------------------+--------------------------------------------------------+
Tests
=====
2015-09-23 07:17:56 +02:00
+------------------------+-----------------------------------+
2015-10-13 23:34:50 +02:00
| `` zerver/test*.py `` | Backend tests |
2015-09-23 07:17:56 +02:00
+------------------------+-----------------------------------+
2015-10-13 23:34:50 +02:00
| `` frontend_tests/node `` | Node Frontend unit tests |
2015-09-23 07:17:56 +02:00
+------------------------+-----------------------------------+
2015-10-13 23:34:50 +02:00
| `` frontend_tests/tests `` | Casper frontend tests |
2015-09-23 07:17:56 +02:00
+------------------------+-----------------------------------+
2015-08-19 05:26:48 +02:00
Documentation
=============
+-------------+-----------------------------------------------+
| `` docs/ `` | Source for this documentation |
+-------------+-----------------------------------------------+
2015-08-19 05:24:21 +02:00
2015-09-23 07:17:56 +02:00
You can consult the repository's .gitattributes file to see exactly
which components are excluded from production releases (release
tarballs are generated using tools/build-release-tarball).