Skip to content

New project initialization flow #72

@karczewskiPiotr

Description

@karczewskiPiotr

The flow of initializing a new PaaW project bases on the inputs from user (these will be available as an object in a redux store that will take te shape defined in #79) is as follows:

  1. Validate node installation with the use of nodeCheck function (defined here).
    1. If absent install LTS version of node.
  2. Based on the chosen package manager validate presence of yarn or npm.
    1. If absent install it (mainly for yarn since npm installs with node).
  3. Validate presence of gatsby-cli with checkForGatsby function (defined here).
    1. If absent install it with the installGatsby function (defined here).
  4. Based on the chosen technologies decide, which publication template should be used.
  5. Generate a new PaaW project based on the chosen template.
  6. Modify the package.json data and gatsby-config.js or gatsby-config.ts based on the input data.
  7. Create the publab.config.json file in the project with correct data from user input.
  8. Create project repo on GitHub.
  9. Initialize the repository with the main branch.
  10. Set the upstream branch / add remote
  11. Stage all files
  12. Create an initial commit
  13. Push the project to the repository
  14. Add collaborators to the GitHub repo based on the input data.
  15. Create content branch and push it to the repo (it should stay as the working branch in the app)

Based on the flow above the following tasks need to be taken care of before the flow can be put together:

Metadata

Metadata

Assignees

No one assigned

    Labels

    back-endBack-end related task

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions