Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

docs: add license configuration examples for SDK generators

Summary

Adds documentation for how to specify a license for generated SDKs using the metadata.license field. This addresses customer confusion about where to configure licenses in generators.yml.

Changes:

  • Added license: MIT example to the top-level metadata section in generators-yml-reference.mdx
  • Added ParamField documentation explaining that metadata.license accepts MIT or Apache-2.0 and populates package manifests
  • Added license: MIT example to the Python publishing guide showing the correct placement at the generator level

Review & Testing Checklist for Human

  • Verify the license configuration actually works: Generate a Python SDK with metadata.license: MIT and confirm it populates the license field in pyproject.toml and adds the appropriate PyPI classifier
  • Check clarity of metadata sections: In the Python publishing guide, there are now two "metadata" sections - output.metadata (PyPI-specific) and metadata (general SDK metadata). Confirm this isn't confusing for users
  • Consider other language guides: This PR only updates the Python guide. Decide if TypeScript, Java, and other language-specific publishing guides need similar license examples

Notes

This was a minimal change per Danny's request to "change less rather than more." The customer originally tried using pyproject_toml under config which doesn't work - the correct location is metadata.license at the generator level.

Link to Devin run: https://app.devin.ai/sessions/62df5dfa1f934ae5b60671d82da03897
Requested by: danny@buildwithfern.com (@dannysheridan)

- Add license field example to metadata section in generators-yml-reference.mdx
- Add ParamField documentation for license configuration
- Add license example to Python publishing guide

Co-Authored-By: danny@buildwithfern.com <danny@buildwithfern.com>
@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

</ParamField>

<ParamField path="license" type="'MIT' | 'Apache-2.0'" required={false} toc={true}>
Software license for the generated SDK. Supported values are `MIT` or `Apache-2.0`. This populates the license field in package manifests (e.g., `pyproject.toml` for Python, `package.json` for TypeScript).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Acronyms] 'MIT' has no definition.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 4, 2025

@dannysheridan dannysheridan requested a review from devalog November 4, 2025 18:39
@dannysheridan
Copy link
Member

@devalog added per this slack thread

@github-actions
Copy link
Contributor

github-actions bot commented Nov 5, 2025

@devalog
Copy link
Collaborator

devalog commented Nov 5, 2025

@devalog added per this slack thread

@dannysheridan metadata.license was actually already documented in the generators.yml reference. I clarified the description in the Python publishing page (you can set different metadata at different levels) and added links

@devalog devalog merged commit cfcdf11 into main Nov 5, 2025
2 checks passed
@devalog devalog deleted the devin/1762281268-add-license-documentation branch November 5, 2025 00:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants