AUTHORS.md · JSON Structure

All Contributors Config Structure

Schema for the .all-contributorsrc configuration file used by the All Contributors specification and bot to manage open-source project contributor attribution.

Type: object Properties: 10 Required: 3
AttributionDocumentationOpen SourceRepositoryFile FormatContributor ManagementLicense ComplianceStandard

AllContributorsConfig is a JSON Structure definition published by AUTHORS.md, describing 10 properties, of which 3 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

projectName projectOwner repoType repoHost files imageSize commit commitConvention contributorsPerLine contributors

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

all-contributors-config-structure.json Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/authors-md/refs/heads/main/json-structure/all-contributors-config-structure.json",
  "name": "AllContributorsConfig",
  "description": "Schema for the .all-contributorsrc configuration file used by the All Contributors specification and bot to manage open-source project contributor attribution.",
  "type": "object",
  "properties": {
    "projectName": {
      "type": "string",
      "description": "Name of the project repository."
    },
    "projectOwner": {
      "type": "string",
      "description": "GitHub username or organization that owns the project."
    },
    "repoType": {
      "type": "string",
      "description": "Type of repository hosting service.",
      "enum": ["github", "gitlab", "bitbucket"]
    },
    "repoHost": {
      "type": "string",
      "description": "Hostname of the repository hosting service."
    },
    "files": {
      "type": "array",
      "description": "List of files to update with contributor tables.",
      "items": {
        "type": "string"
      }
    },
    "imageSize": {
      "type": "int32",
      "description": "Size in pixels for contributor avatar images."
    },
    "commit": {
      "type": "boolean",
      "description": "Whether to automatically commit changes when contributors are added."
    },
    "commitConvention": {
      "type": "string",
      "description": "Commit message convention to follow.",
      "enum": ["none", "angular", "atom", "ember", "eslint", "jshint", "gitmoji"]
    },
    "contributorsPerLine": {
      "type": "int32",
      "description": "Maximum number of contributors to display per line in the table."
    },
    "contributors": {
      "type": "array",
      "description": "List of contributors to the project.",
      "items": {
        "$ref": "#/definitions/Contributor"
      }
    }
  },
  "required": ["projectName", "projectOwner", "contributors"],
  "definitions": {
    "Contributor": {
      "name": "Contributor",
      "type": "object",
      "description": "An individual contributor to the project with their profile information and contribution types.",
      "properties": {
        "login": {
          "type": "string",
          "description": "GitHub/GitLab username of the contributor."
        },
        "name": {
          "type": "string",
          "description": "Full display name of the contributor."
        },
        "avatar_url": {
          "type": "uri",
          "description": "URL to the contributor's avatar image."
        },
        "profile": {
          "type": "uri",
          "description": "URL to the contributor's public profile page."
        },
        "contributions": {
          "type": "array",
          "description": "List of contribution types made by this contributor.",
          "items": {
            "type": "string"
          }
        }
      },
      "required": ["login", "name", "contributions"]
    },
    "AuthorEntry": {
      "name": "AuthorEntry",
      "type": "object",
      "description": "A structured entry representing an author or contributor in an AUTHORS.md file.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Full name of the author."
        },
        "email": {
          "type": "string",
          "description": "Email address of the author."
        },
        "url": {
          "type": "uri",
          "description": "Personal website or profile URL of the author."
        },
        "contributions": {
          "type": "string",
          "description": "Description of which files or portions of the project the author contributed."
        },
        "organization": {
          "type": "string",
          "description": "Organization or employer affiliation of the author."
        },
        "role": {
          "type": "string",
          "description": "Role of the author in the project.",
          "enum": ["author", "contributor", "maintainer", "emeritus"]
        }
      },
      "required": ["name"]
    }
  }
}