Codeline Patterns

%%{init: { "flowchart": { "htmlLabels": true,  } } }%%
flowchart TB

classDef scrumPattern fill:gold
classDef orgPatterns fill:lightsalmon
classDef current font-style:italic
classDef codeLinePattern fill:skyblue
classDef codeReviewPattern fill:lightcyan
classDef workItemPattern fill:cadetblue
classDef culturePattern fill:lightsalmon
classDef highlighted stroke:#333,stroke-width:4px
classDef hidden display:none



%% Entities - Code Lines
   accDescr: Diagram of a Revised Pattern Language

%% Codeline Patterns
    CodelinePolicy(Codeline Policy)
    MainLine(Main Line)
    TaskBranch(Task Branch)
    ReleaseLine(Release Line)

%% URLs are relative to the berczuk.com site
    click MainLine "/codeline-patterns/mainline/"
    click TaskBranch "/codeline-patterns/task-branch/"
    click ReleaseLine "/codeline-patterns/release-line/"
    click CodelinePolicy "/codeline-patterns/codeline-policy/"

%% Workspace and BuildPatterns
    DevWorkspace(Developer Workspace)
    UniformBuild(Uniform Build)
    IntegrationBuild(Integration Build)


    click DevWorkspace "/codeline-patterns/developer-workspace/"
    click UniformBuild "/codeline-patterns/uniform-build/"
    click IntegrationBuild "/codeline-patterns/integration-build/"
    

    class CodelinePolicy,MainLine,TaskBranch,ReleaseLine,DevWorkspace,IntegrationBuild,IntegrationTest,UnitTest codeLinePattern

%% Work Item Patterns
    IntegrationTest(Integration Test)
    UnitTest(Unit Test)
    SmallDevTask(Small Development Task)
    PBI(Product Backlog Item)
    TeamFocus(TeamFocus\nSprintGoal)
    FeaturePartner(Feature Partner)
    ModularArch(Modular Architecture)
    FeatureFlag(Feature Flag)

    click FeaturePartner "/codeline-patterns/feature-partner/"
    click PBI "/codeline-patterns/product-backlog-item/"

    class SmallDevTask,UnitTest,FeatureFlag,IntegrationTest,PBI,ModularArch workItemPattern

%% Code Review Patterns
    AutomatedChecks(Automated Checks)
    CodeReview(Code Review)
    PullRequest(Merge Request/Pull Request)

    click CodeReview "/codeline-patterns/code-review/"
    click PullRequest "/codeline-patterns/pull-request/"
    click AutomatedChecks "/codeline-patterns/automated-checks/"


    class CodeReview,PullRequest,FeaturePartner,AutomatedChecks,TeamFocus codeReviewPattern

    PsychSafety(Psychological Safety\nComunity Of Trust)
    RetroCulture(Retrospective Culture)



    class PBI,SmallDevTask,TeamFocus scrumPattern;
    class PsychSafety,RetroCulture culturePattern
    class ModularArchitecture hidden


  MainLine --> RetroCulture
  MainLine --> TaskBranch
  RetroCulture --> PsychSafety
  DevWorkspace -->TaskBranch
  MainLine -->DevWorkspace
  DevWorkspace --> UniformBuild
  IntegrationBuild --> UniformBuild


  MainLine --> ReleaseLine
  MainLine --> CodelinePolicy
  ReleaseLine --> CodelinePolicy
  TaskBranch --> SmallDevTask
  TaskBranch --> CodeReview
  TaskBranch --> IntegrationBuild
  
  SmallDevTask --> FeatureFlag

  CodelinePolicy --> AutomatedChecks
  CodeReview --> FeaturePartner
    FeaturePartner --> TeamFocus

  CodeReview --> TeamFocus
  CodeReview --> SmallDevTask
  CodeReview --> PullRequest
  CodeReview --> AutomatedChecks
  IntegrationBuild --> AutomatedChecks
  AutomatedChecks --> PullRequest
  AutomatedChecks --> UnitTest



  FeatureFlag --> ModularArch


  UnitTest --> IntegrationTest 
  SmallDevTask --> UnitTest
  PBI --> SmallDevTask 

	TeamFocus --> PBI
	%%class MainLine,TaskBranch,CodeReview,FeaturePartner,PullRequest highlighted