github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/docs/design/README.md (about)

     1  # TiCDC Design Documents
     2  
     3  Many changes, including bug fixes and documentation improvements can be implemented and reviewed via the normal GitHub pull request workflow.
     4  
     5  Some changes though are "substantial", and we ask that these be put through a bit of a design process and produce a consensus among the TiDB community.
     6  
     7  The process described in this page is intended to provide a consistent and controlled path for new features to enter the TiCDC projects, so that all stakeholders can be confident about the direction the projects is evolving in.
     8  
     9  ## Who should initiate the design document?
    10  
    11  Everyone is encouraged to initiate a design document, but before doing it, please make sure you have an intention of getting the work done to implement it.
    12  
    13  ## Before creating a design document
    14  
    15  A hastily-proposed design document can hurt its chances of acceptance. Low-quality proposals, proposals for previously-rejected features, or those that don't fit into the near-term roadmap, may be quickly rejected, which can be demotivating for the unprepared contributor. Laying some groundwork ahead of the design document can make the process smoother.
    16  
    17  Although there is no single way to prepare for submitting a design document, it is generally a good idea to pursue feedback from other project developers beforehand, to ascertain that the design document may be desirable; having a consistent impact on the project requires concerted effort toward consensus-building.
    18  
    19  The most common preparations for writing and submitting a design document for now is [creating a discuss issue](https://github.com/pingcap/tiflow/issues/new/choose), which is going to be converted into a tracking issue of the design implementation.
    20  
    21  ## What is the process?
    22  
    23  1. Create a pull request with a design document based on the [template](./TEMPLATE.md) under this directory as `YYYY-MM-DD-my-feature.md`.
    24  2. Discussion takes place, and the text is revised in response.
    25  3. The design document is accepted or rejected when at least two committers reach consensus and no objection from the committer.
    26  4. If accepted, [create a tracking issue](https://github.com/pingcap/tiflow/issues/new/choose) for the design document or convert one from a previous discuss issue. The tracking issue basically tracks subtasks and progress. And refer the tracking issue in the design document replacing placeholder in the template.
    27  5. Merge the pull request of design.
    28  
    29  Please update the tracking issue according to the progress of succeeding implementation pull requests.
    30  
    31  ## Style of Design Documents
    32  
    33  Run lints in `docs` directory (you must have [Node.js](https://nodejs.org) installed):
    34  
    35  ```bash
    36  # Install linters: npm install
    37  npm run lint:fix
    38  ```