This is an internal guide for LSST DM staff. It's also openly available so that others can understand how we're building the LSST's data management subsystem.
This guide includes a mix of normative requirements and helpful, descriptive, pages. When it's particularly important that you closely follow a standard, we include an annotation box at the top of the page.
Any member of DM can contribute to this guide. It's published from the https://github.com/lsst-dm/dm_dev_guide GitHub repo. Check out the README to get started.
Jump to: :ref:`Team <part-team>` · :ref:`Communications <part-communications>` · :ref:`Project documentation <part-project-docs>` · :ref:`Work management <part-work>`
Development guides: :ref:`Overview <part-guides>` · :ref:`C++ <part-cpp>` · :ref:`Python <part-python>` · :ref:`Pybind11 <part-pybind11>` · :ref:`JavaScript <part-javascript>` · :ref:`ReStructuredText <part-rst>` · :ref:`DM Stack <part-dm-stack>` · :ref:`Git <part-git>` · :ref:`Editors <part-editors>` · :ref:`Legal <part-legal>` · :ref:`User documentation style <part-user-doc-style-guide>`
Services: :ref:`Overview <part-services>` · :ref:`Jenkins <part-jenkins>` · :ref:`LSST Data Facility <part-ldf>`
.. toctree:: :maxdepth: 1 :caption: Team :hidden: team/onboarding team/code-of-conduct team/empowerment team/drp
Basic information about the LSST Data Management Subsystem and our culture. Learn more about the Data Management Subsystem in :ldm:`294`.
Team-specific pages:
.. toctree:: :maxdepth: 1 :caption: Communications :hidden: communications/slack-github-username.rst communications/rfc.rst communications/rfd.rst communications/wiki.rst communications/presenting-at-conferences.rst communications/calendars.rst
How to use DM's communication channels.
- :doc:`communications/slack-github-username`
- :doc:`communications/rfc`
- :doc:`communications/rfd`
- :doc:`communications/wiki`
- :doc:`communications/presenting-at-conferences`
- :doc:`communications/calendars`
.. toctree:: :maxdepth: 1 :caption: Project docs :hidden: project-docs/change-controlled-docs.rst project-docs/publication-policy.rst project-docs/technotes.rst
Controlled documentation and publications.
Technical notes.
.. toctree:: :maxdepth: 1 :caption: Work :hidden: work/flow.rst work/project-planning.rst work/jira-agile.rst work/jira-tips.rst
How DM coordinates work and gets things done.
.. toctree:: :maxdepth: 1 :caption: Code Style Guides :hidden: coding/intro.rst coding/unit-test-policy.rst
.. toctree:: :maxdepth: 1 :caption: C++ :hidden: cpp/style cpp/api-docs cpp/clang-format cpp/testing-private-functions cpp/templates cpp/boost cpp/eigen cpp/profiling
- :doc:`cpp/style`
- :doc:`cpp/api-docs`
- :doc:`cpp/clang-format`
- :doc:`cpp/testing-private-functions`
- :doc:`cpp/templates`
- :doc:`cpp/boost`
- :doc:`cpp/eigen`
- :doc:`cpp/profiling`
.. toctree:: :maxdepth: 1 :caption: Python :hidden: python/style python/testing python/numpydoc python/astropy python/profiling
- :doc:`python/style`
- :doc:`python/testing`
- :doc:`python/numpydoc`
- :doc:`python/astropy`
- :doc:`python/profiling`
.. toctree:: :maxdepth: 1 :caption: Pybind11 :hidden: pybind11/style pybind11/how-to
.. toctree:: :maxdepth: 1 :caption: JavaScript :hidden: javascript/jsdoc
.. toctree:: :maxdepth: 1 :caption: ReStructuredText :hidden: restructuredtext/style
.. toctree:: :maxdepth: 1 :caption: DM Stack :hidden: stack/platforms stack/transferring-code stack/deprecating-interfaces stack/logging stack/debug stack/documentation-system-overview stack/layout-of-doc-directory stack/package-documentation-topic-types stack/add-a-package-to-pipelines-lsst-io stack/building-single-package-docs stack/building-pipelines-lsst-io-locally stack/building-pipelines-lsst-io-with-documenteer-job stack/jenkins-stack-os-matrix stack/unit-test-coverage.rst stack/eups-tutorial stack/lsstsw stack/adding-a-new-package stack/license-and-copyright stack/packaging-third-party-eups-dependencies stack/renaming-a-package
General policies and procedures.
Development.
Documentation.
- :doc:`stack/documentation-system-overview`
- Documentation in packages:
- Documentation in the main repository:
- Building docs:
Testing.
Packaging.
- :doc:`stack/eups-tutorial`
- :doc:`stack/lsstsw`
- :doc:`stack/adding-a-new-package`
- :doc:`stack/license-and-copyright`
- :doc:`stack/packaging-third-party-eups-dependencies`
- :doc:`stack/renaming-a-package`
.. toctree:: :maxdepth: 1 :caption: Git :hidden: git/setup git/git-lfs
.. toctree:: :maxdepth: 1 :caption: Editors :hidden: editors/emacs editors/sublime editors/vim
Crowd-sourced recommendations for configuring editors for LSST development (listed alphabetically)
.. toctree:: :maxdepth: 1 :caption: Legal :hidden: legal/licensing-overview legal/copyright-overview
.. toctree:: :maxdepth: 1 :caption: User docs :hidden: user-docs/index
.. toctree:: :maxdepth: 1 :caption: IT Overview :hidden: it/itsc
.. toctree:: :maxdepth: 1 :caption: Jenkins :hidden: jenkins/getting-started
.. toctree:: :maxdepth: 1 :caption: LDF Services :hidden: services/lsst-dev services/lsst-db services/verification services/datasets services/data_protection services/ncsa_bulk_transfer services/nebula/index services/orchestration/index services/ldf-tickets services/ldf-resources services/storage services/monitoring_applications
- :doc:`services/lsst-dev`
- :doc:`services/lsst-db`
- :doc:`services/verification`
- :doc:`services/datasets`
- :doc:`services/data_protection`
- :doc:`services/ncsa_bulk_transfer`
- :doc:`services/nebula/index`
- :doc:`services/orchestration/index`
- :doc:`services/ldf-tickets`
- :doc:`services/ldf-resources`
- :doc:`services/storage`
- :doc:`services/monitoring_applications`