Developer Workflow & Commit Guidelines

1. Credentials Configuration


CREDENTIALS_STRUCTURE:
  USERNAME = System.getenv('GITHUB_ACTOR')  
          ?: System.getenv('AGENT_GITHUB_NAME') 
          ?: System.getenv('USER_GITHUB_NAME')
          
  PASSWORD = System.getenv('GITHUB_TOKEN')  
          ?: System.getenv('AGENT_GITHUB_TOKEN') 
          ?: System.getenv('USER_GITHUB_TOKEN')

2. Branch Naming Convention (STRICT)

CRITICAL: Branches must follow the type/noun structure. Do not use verbs or Jira IDs.

Format: {type}/{primary-noun} or {type}/{primary-noun}-{secondary-noun}

Allowed Types: feat/, fix/, docs/, style/, refactor/, perf/, test/, build/, ci/, chore/ and revert/.

3. Commit Message Convention (STRICT)

Commits MUST follow the Conventional Commits specification. The structure communicates intent to the consumers of the library:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Examples:


feat: allow provided config object to extend other configs

BREAKING CHANGE: `extends` key in config file is now used for extending other config files

feat(api)!: send an email to the customer when a product is shipped

fix: prevent racing of requests

Introduce a request id and a reference to latest request. Dismiss
incoming responses other than from latest request.

Remove timeouts which were used to mitigate the racing issue but are
obsolete now.

Reviewed-by: Z
Refs: #123