Skip to content

Conversation

jkodroff
Copy link
Member

  • Completely rewrote the packages page content for clarity and better organization
  • Moved page from Building & Extending guides to IaC Concepts section (after Components, before Assets & Archives)
  • Removed outdated conceptual diagrams and references to non-existent images
  • Added practical guidance on choosing between local packages and published SDKs
  • Clarified the difference between authoring components vs providers
  • Added alias for previous path to preserve SEO and prevent broken links
  • Removed unused images (pulumi-package-overview.png and pulumi-package-concepts.png) that are duplicated in blog post

🤖 Generated with Claude Code

- Completely rewrote the packages page content for clarity and better organization
- Moved page from Building & Extending guides to IaC Concepts section (after Components, before Assets & Archives)
- Removed outdated conceptual diagrams and references to non-existent images
- Added practical guidance on choosing between local packages and published SDKs
- Clarified the difference between authoring components vs providers
- Added alias for previous path to preserve SEO and prevent broken links
- Removed unused images (pulumi-package-overview.png and pulumi-package-concepts.png) that are duplicated in blog post

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@jkodroff
Copy link
Member Author

@Frassle @iwahbe Would be awesome to get your review with a specific focus on technical accuracy.

Copy link
Contributor

claude bot commented Oct 19, 2025

Documentation Review

Thank you for this comprehensive rewrite! The reorganization significantly improves clarity and organization. I found a few minor issues to address:

Issues Found

Line 70: Inconsistent terminology
The text uses "your package's consumers" which could be simplified to "package consumers" for consistency with other usage in the document.

Line 73: Missing nuance
"If you are authoring a Pulumi component to be shared within your team or organization" could be more clearly written to include the broader community option mentioned in the heading.

Line 76: Sentence clarity
The phrase "Most component authors will want consumers to use local packages" could be more direct. Consider: "Most component authors should use local packages"

Line 79: Passive construction
"Pulumi only offers tooling for writing packages with published SDKs in Go" could use active voice. Consider: "Pulumi offers tooling for writing packages with published SDKs only in Go"

Positive Observations

  • ✓ Aliases properly added for the moved content path
  • ✓ Headings follow sentence case (H2+) correctly
  • ✓ Content is well-organized with clear sections
  • ✓ Links are descriptive and avoid vague text
  • ✓ Paragraphs are concise
  • ✓ The rewrite significantly improves readability and logical flow
  • ✓ Technical accuracy appears sound throughout

Verification Needed

The file path remains the same in the repository, but the menu structure has changed (moved from iac-guides-packages to iac-concepts). The alias has been added correctly.

However, I recommend verifying that:

  1. The menu path change from parent: iac-guides-packages to parent: iac-concepts is intentional and won't break navigation
  2. All internal links to this page still work correctly after the menu restructure

Mention @claude if you'd like me to review any updates or help with additional changes.

@pulumi-bot
Copy link
Collaborator

In order to consume a Pulumi package, you must have the runtime installed for the language in which the provider is written. For example, if a package is written in TypeScript, any consumers of the package will require the NodeJS runtime to be installed in order to use the package.

All Pulumi Packages must include a [schema](/docs/using-pulumi/pulumi-packages/schema/), which defines the resources and functions exposed by the package, and is used to drive the generation of language-specific SDKs and documentation.
Go compiles to a native binary and does not require a runtime, and thus has the lowest overhead for package consumers. Most Pulumi packages in the Pulumi Registry (including all of the packages for the major cloud providers) are written in Go.
Copy link
Member

Choose a reason for hiding this comment

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

This is only true for binary based plugins. Source based plugins will still need the Go compiler installed. Also dotnet plugins can be published as either runtime-dependent or runtime-included binaries (we'd recommend the latter). So what you need can get a bit fuzzy.

Copy link
Member Author

Choose a reason for hiding this comment

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

Added the gory details. Would be awesome if you could check for accuracy. (Leaving this convo unresolved until I know the info I added is complete and accurate.)

If you are authoring a Pulumi component to be shared within your team or organization, you will need to decide whether to use local packages or publish SDKs. **Most component authors will want consumers to use local packages** for the following reasons:

- The overhead of publishing SDKs can be significant: your CI/CD process will need to generate SDKs for all Pulumi languages (or at least all the languages your package consumers will use) and you will need package feeds to host those published SDKs.
- Pulumi only offers tooling for writing packages with published SDKs in Go, the [Pulumi Provider SDK](/docs/iac/guides/building-extending/providers/pulumi-provider-sdk/).
Copy link
Member

Choose a reason for hiding this comment

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

This is less a distinction of local or published SDKs and more of custom or components. Once you've built a provider with a schema in any language our tooling for SDK generation and publishing is the same.

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

Copy link
Contributor

@CamSoper CamSoper left a comment

Choose a reason for hiding this comment

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

I don't have all the technical context to sanity check all the content, but I've made some readability suggestions for the prose.

@pulumi-bot
Copy link
Collaborator

@pulumi-bot
Copy link
Collaborator

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.

5 participants