# pkg

Published articles for pkg.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Use internal packages to reduce your public API surface

DevFeed: [Use internal packages to reduce your public API surface](<https://devfeed.tech/articles/use-internal-packages-to-reduce-your-public-api-surface-20820.md>)

Original publisher: [Read original article](<https://dave.cheney.net/2019/10/06/use-internal-packages-to-reduce-your-public-api-surface>)

Author: Dave Cheney

Published: 2019-10-06T04:43:54Z

Content type: article

Language: en

Sources: [Dave Cheney](<https://devfeed.tech/sources/dave-cheney.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [go](<https://devfeed.tech/tags/go.md>), [library](<https://devfeed.tech/tags/library.md>), [pkg](<https://devfeed.tech/tags/pkg.md>), [programming](<https://devfeed.tech/tags/programming.md>), [project-layout](<https://devfeed.tech/tags/project-layout.md>)

### AI overview

This article explains how Go internal packages restrict imports to a defined directory tree, helping project authors keep implementation details out of the public API. Packages can later be promoted if the author chooses to support them publicly.

### Source excerpt

In the beginning, before the go tool, before Go 1.0, the Go distribution stored the standard library in a subdirectory called pkg/ and the commands which built upon it in cmd/. This wasn't so much a deliberate taxonomy but a by product of the original make based build system. In September 2014, the Go distribution [...]

## Announcing our Experimental Linter Tool for Firebase on iOS

DevFeed: [Announcing our Experimental Linter Tool for Firebase on iOS](<https://devfeed.tech/articles/announcing-our-experimental-linter-tool-for-firebase-on-ios-16214.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2017/08/announcing-our-experimental-linter-tool>)

Author: Ibrahim Ulukaya

Published: 2017-08-17T00:00:00Z

Content type: release

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [display](<https://devfeed.tech/tags/display.md>), [download](<https://devfeed.tech/tags/download.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [ios](<https://devfeed.tech/tags/ios.md>), [launch](<https://devfeed.tech/tags/launch.md>), [linter](<https://devfeed.tech/tags/linter.md>), [news](<https://devfeed.tech/tags/news.md>), [pkg](<https://devfeed.tech/tags/pkg.md>), [pre-release](<https://devfeed.tech/tags/pre-release.md>), [project](<https://devfeed.tech/tags/project.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [source](<https://devfeed.tech/tags/source.md>), [swift](<https://devfeed.tech/tags/swift.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>), [updates](<https://devfeed.tech/tags/updates.md>), [us](<https://devfeed.tech/tags/us.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Firebase introduces experimental SwiftLint rules that warn about common mistakes when using the Firebase SDK in Swift projects. The rules are available through a Firebase fork and a pre-release binary, with instructions for installation and use in Xcode projects.

### Source excerpt

News, tutorials, and updates from the Firebase team.