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.
{
"$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"]
}
}
}