# Customize README > Customize your SDK README with Fern's generators.yml configuration. Add custom sections, control example styles, and organize endpoints by feature. Each SDK includes a `README.md` file in its root directory that provides an overview of the SDK and instructions for working with the associated API. By default, Fern [generates the README automatically](./sdk-user-features) with usage examples and API details. For a complete example of a generated SDK README, see [Intercom's Python SDK](https://github.com/intercom/python-intercom/blob/3aac991a92cefe34cf437f8f5ca46c97c04c1a6c/README.md). Although each SDK has its own README, the content can be configured globally through the `readme` section in the `generators.yml` file. ## Configuration options ```yaml title="generators.yml" maxLines=10 readme: bannerLink: "https://example.com/banner" introduction: "Welcome to our API" apiReferenceLink: "https://docs.example.com" apiName: "Example Product" exampleStyle: "minimal" disabledSections: - "contributing" defaultEndpoint: method: "POST" path: "/users" stream: false customSections: - title: "Custom Section" language: "java" content: | This is a custom section. Latest package info is {{ group }}:{{ artifact }}:{{ version }}. - title: "Custom Section" language: "typescript" content: | Custom section for {{ packageName }} - title: "Another Custom Section" language: "typescript" content: | A second custom section for {{ packageName }} features: authentication: - method: "POST" path: "/auth/login" - "GET /auth/profile" users: - method: "GET" path: "/users" - method: "POST" path: "/users" ``` URL for a banner image or link that appears at the top of the README. Custom introduction text that appears at the beginning of the README. URL to your external API documentation or reference guide. Name of the API that appears in the README. Will appear as `Your Api Name SDK` or `Your Api Name API` throughout the README. Defaults to organization name if not set. Controls whether usage examples show only required parameters (`minimal`) or all parameters (`comprehensive`). Currently only supported for Java SDKs. Sections to disable in the README. Supported values: `"contributing"`. Organizes endpoints into named feature sections within the README. Each feature creates a dedicated section with example code snippets for the specified endpoints. Specifies which endpoint's code snippet to showcase as the primary example in the README. HTTP method of the default endpoint (e.g., `GET`, `POST`, `PUT`, `DELETE`). Endpoint path for the default example (e.g., `/users`, `/auth/login`). Whether the endpoint is a streaming endpoint. Defaults to `false`. Define a custom section in the generated README for a specific SDK. The title of the custom section as it will appear in the README. The target SDK language for this section. The custom section will only appear in README files generated for the specified language. The Markdown content of the custom section. You can use template variables in the format `{{ variable }}` that will be dynamically replaced with values specific to each SDK language when the README is generated. Available template variables by language: | Language | Variable | Description | | ---------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | TypeScript | `packageName` | Name of your package, as specified in the [`package-name` field](/sdks/generators/typescript/configuration#package-name) | | Python | `packageName` | Name of your package, as specified in the [`package_name` field](/sdks/generators/python/configuration#package_name) | | Go | `owner` | The owner of your Go module | | Go | `repo` | The [repository](/sdks/generators/go/publishing#configure-output-location) where your Go module is published | | Go | `version` | SDK version | | Java | `group` | Maven `groupId` [from `coordinate` field](/sdks/generators/java/publishing#configure-maven-coordinate) | | Java | `artifact` | Maven `artifactId` [from `coordinate` field](/sdks/generators/java/publishing#configure-maven-coordinate) | | Java | `version` | SDK version | | C#/.NET | `packageName` | Name of your package, as specified in the [`package-name` field](/sdks/generators/csharp/configuration#package-name) | | PHP | `packageName` | Name of your package, as specified in the [`package-name` field](/sdks/generators/php/configuration#package-name) | | Ruby | `packageName` | Name of your package, as specified in the [`package-name` field](/sdks/generators/ruby/configuration#package-name) | | Swift | `gitUrl` | The [URL](/sdks/generators/swift/publishing#verify-package-availability) where your Swift package is published. For example, `https://github.com/fern-api/basic-swift-sdk` | | Swift | `minVersion` | SDK version | ## Additional customization To go beyond the available configuration options, you can [manually edit the `README.md` file](/learn/sdks/overview/custom-code). Then, add it to the `.fernignore` file to prevent it from being overwritten during regeneration.