Remote Imports: Automatic GitHub Auth, Failure Warnings, and Caching
Centralizing shared configuration in one private Git repository, and reusing it across projects, is not a
new idea. Mergify and Dependabot both support extending a project's configuration from a shared repository.
Doing the same for a general-purpose tool usually means a git submodule or subtree, and both are
cumbersome. Atmos supports this natively: a project's atmos.yaml or stack manifest adds a remote import,
a git:: URL that points at the centralized repository, with no submodule or subtree involved.
Resolving that import still had rough edges. Git fetch authentication was separate from a developer's
GitHub CLI session, so gh auth login alone was not enough for a private import. A broken import failed
silently: a tag name with a typo, an unreachable host, or a token without read access all added nothing to
the configuration, with no warning. And a git:: import with a subdirectory re-cloned on every single
command, even when nothing had changed.
Atmos already reused a developer's GitHub CLI session for other GitHub operations, such as toolchain
installs. Atmos now reuses that same session for private git:: imports too. This applies to both stack
configuration imports and atmos.yaml configuration imports. Atmos also warns you when an import fails.
Atmos also lets you cache imports to avoid unnecessary re-fetching.




