Dagger
Search

monorepo

The `pkg` argument specifies which package subdirectory to operate on.
Each function runs the corresponding npm script from the package's package.json.

All implementation logic lives in helper files; this file contains only
the @object() class with thin @func() wrappers (Dagger TypeScript SDK constraint).

Installation

dagger install github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0

Entrypoint

Return Type
Monorepo
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
func (m *MyModule) Example() *dagger.Monorepo  {
	return dag.
			Monorepo()
}
@function
def example() -> dagger.Monorepo:
	return (
		dag.monorepo()
	)
@func()
example(): Monorepo {
	return dag
		.monorepo()
}

Types

Monorepo 🔗

lint() 🔗

Run the lint script on a package

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 lint --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			Lint(ctx, pkgDir, pkg)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.lint(pkg_dir, pkg)
	)
@func()
async example(pkgDir: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.lint(pkgDir, pkg)
}

typecheck() 🔗

Run the typecheck script on a package

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 typecheck --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			Typecheck(ctx, pkgDir, pkg)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.typecheck(pkg_dir, pkg)
	)
@func()
async example(pkgDir: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.typecheck(pkgDir, pkg)
}

test() 🔗

Run the test script on a package

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
needsHelmBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 test --pkg-dir DIR_PATH --pkg string --needs-helm boolean
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string, needsHelm bool) string  {
	return dag.
			Monorepo().
			Test(ctx, pkgDir, pkg, needsHelm)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str, needs_helm: bool) -> str:
	return await (
		dag.monorepo()
		.test(pkg_dir, pkg, needs_helm)
	)
@func()
async example(pkgDir: Directory, pkg: string, needsHelm: boolean): Promise<string> {
	return dag
		.monorepo()
		.test(pkgDir, pkg, needsHelm)
}

buildPackage() 🔗

Run the build script on a package. Returns the Container so dist/ can be exported via CLI chaining.

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 build-package --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(pkgDir *dagger.Directory, pkg string) *dagger.Container  {
	return dag.
			Monorepo().
			BuildPackage(pkgDir, pkg)
}
@function
def example(pkg_dir: dagger.Directory, pkg: str) -> dagger.Container:
	return (
		dag.monorepo()
		.build_package(pkg_dir, pkg)
	)
@func()
example(pkgDir: Directory, pkg: string): Container {
	return dag
		.monorepo()
		.buildPackage(pkgDir, pkg)
}

generateAndLint() 🔗

Generate then lint — chains on the same container to avoid SIGILL from bun install in fresh containers

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 generate-and-lint --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			GenerateAndLint(ctx, pkgDir, pkg)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.generate_and_lint(pkg_dir, pkg)
	)
@func()
async example(pkgDir: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.generateAndLint(pkgDir, pkg)
}

generateAndTypecheck() 🔗

Generate then typecheck — chains on the same container

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 generate-and-typecheck --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			GenerateAndTypecheck(ctx, pkgDir, pkg)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.generate_and_typecheck(pkg_dir, pkg)
	)
@func()
async example(pkgDir: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.generateAndTypecheck(pkgDir, pkg)
}

generateAndTypecheckWithSecrets() 🔗

Generate (with HA secrets) then typecheck — for temporal, whose generate step materializes a typed HA schema by introspecting a live HA instance. Secrets are optional; without them the generate script falls back to the committed stub via scripts/ensure-ha-schema.ts and typecheck runs against loose DefaultHaSchema types.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
haUrlSecret -No description provided
haTokenSecret -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 generate-and-typecheck-with-secrets --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			GenerateAndTypecheckWithSecrets(ctx, pkgDir, pkg)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.generate_and_typecheck_with_secrets(pkg_dir, pkg)
	)
@func()
async example(pkgDir: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.generateAndTypecheckWithSecrets(pkgDir, pkg)
}

generateAndTest() 🔗

Generate then test — chains on the same container

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 generate-and-test --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			GenerateAndTest(ctx, pkgDir, pkg)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.generate_and_test(pkg_dir, pkg)
	)
@func()
async example(pkgDir: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.generateAndTest(pkgDir, pkg)
}

astroCheck() 🔗

Run astro check on a package

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 astro-check --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			AstroCheck(ctx, pkgDir, pkg)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.astro_check(pkg_dir, pkg)
	)
@func()
async example(pkgDir: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.astroCheck(pkgDir, pkg)
}

astroBuild() 🔗

Run astro build and return the output directory

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 astro-build --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(pkgDir *dagger.Directory, pkg string) *dagger.Directory  {
	return dag.
			Monorepo().
			AstroBuild(pkgDir, pkg)
}
@function
def example(pkg_dir: dagger.Directory, pkg: str) -> dagger.Directory:
	return (
		dag.monorepo()
		.astro_build(pkg_dir, pkg)
	)
@func()
example(pkgDir: Directory, pkg: string): Directory {
	return dag
		.monorepo()
		.astroBuild(pkgDir, pkg)
}

viteBuild() 🔗

Run vite build and return the output directory

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 vite-build --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(pkgDir *dagger.Directory, pkg string) *dagger.Directory  {
	return dag.
			Monorepo().
			ViteBuild(pkgDir, pkg)
}
@function
def example(pkg_dir: dagger.Directory, pkg: str) -> dagger.Directory:
	return (
		dag.monorepo()
		.vite_build(pkg_dir, pkg)
	)
@func()
example(pkgDir: Directory, pkg: string): Directory {
	return dag
		.monorepo()
		.viteBuild(pkgDir, pkg)
}

buildImage() 🔗

Build a Bun service OCI image. Constructs a minimal workspace with only the target package and its workspace deps — no file modification.

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
usePrismaBoolean !falseNo description provided
installEditorClisBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 build-image --pkg-dir DIR_PATH --pkg string --version string --git-sha string --use-prisma boolean --install-editor-clis boolean
func (m *MyModule) Example(pkgDir *dagger.Directory, pkg string, version string, gitSha string, usePrisma bool, installEditorClis bool) *dagger.Container  {
	return dag.
			Monorepo().
			BuildImage(pkgDir, pkg, version, gitSha, usePrisma, installEditorClis)
}
@function
def example(pkg_dir: dagger.Directory, pkg: str, version: str, git_sha: str, use_prisma: bool, install_editor_clis: bool) -> dagger.Container:
	return (
		dag.monorepo()
		.build_image(pkg_dir, pkg, version, git_sha, use_prisma, install_editor_clis)
	)
@func()
example(pkgDir: Directory, pkg: string, version: string, gitSha: string, usePrisma: boolean, installEditorClis: boolean): Container {
	return dag
		.monorepo()
		.buildImage(pkgDir, pkg, version, gitSha, usePrisma, installEditorClis)
}

pushImage() 🔗

Push a built image to a registry under one or more tags. Returns digest of the first tag.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
tags[String ! ] !-No description provided
registryUsernameString !-No description provided
registryPasswordSecret !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
usePrismaBoolean !falseNo description provided
installEditorClisBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 push-image --pkg-dir DIR_PATH --pkg string --tags string1 --tags string2 --registry-username string --registry-password env:MYSECRET --version string --git-sha string --use-prisma boolean --install-editor-clis boolean
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string, tags []string, registryUsername string, registryPassword *dagger.Secret, version string, gitSha string, usePrisma bool, installEditorClis bool) string  {
	return dag.
			Monorepo().
			PushImage(ctx, pkgDir, pkg, tags, registryUsername, registryPassword, version, gitSha, usePrisma, installEditorClis)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str, tags: List[str], registry_username: str, registry_password: dagger.Secret, version: str, git_sha: str, use_prisma: bool, install_editor_clis: bool) -> str:
	return await (
		dag.monorepo()
		.push_image(pkg_dir, pkg, tags, registry_username, registry_password, version, git_sha, use_prisma, install_editor_clis)
	)
@func()
async example(pkgDir: Directory, pkg: string, tags: string[], registryUsername: string, registryPassword: Secret, version: string, gitSha: string, usePrisma: boolean, installEditorClis: boolean): Promise<string> {
	return dag
		.monorepo()
		.pushImage(pkgDir, pkg, tags, registryUsername, registryPassword, version, gitSha, usePrisma, installEditorClis)
}

buildCaddyS3ProxyImage() 🔗

Build the caddy-s3proxy image (custom Caddy build with S3 proxy plugin)

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 build-caddy-s-3-proxy-image --version string --git-sha string
func (m *MyModule) Example(version string, gitSha string) *dagger.Container  {
	return dag.
			Monorepo().
			BuildCaddyS3ProxyImage(version, gitSha)
}
@function
def example(version: str, git_sha: str) -> dagger.Container:
	return (
		dag.monorepo()
		.build_caddy_s3_proxy_image(version, git_sha)
	)
@func()
example(version: string, gitSha: string): Container {
	return dag
		.monorepo()
		.buildCaddyS3ProxyImage(version, gitSha)
}

buildObsidianHeadlessImage() 🔗

Build the obsidian-headless image (Bun + obsidian CLI)

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 build-obsidian-headless-image --version string --git-sha string
func (m *MyModule) Example(version string, gitSha string) *dagger.Container  {
	return dag.
			Monorepo().
			BuildObsidianHeadlessImage(version, gitSha)
}
@function
def example(version: str, git_sha: str) -> dagger.Container:
	return (
		dag.monorepo()
		.build_obsidian_headless_image(version, git_sha)
	)
@func()
example(version: string, gitSha: string): Container {
	return dag
		.monorepo()
		.buildObsidianHeadlessImage(version, gitSha)
}

pushCaddyS3ProxyImage() 🔗

Push a caddy-s3proxy image to a registry. Returns digest.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
tags[String ! ] !-No description provided
registryUsernameString !-No description provided
registryPasswordSecret !-No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 push-caddy-s-3-proxy-image --tags string1 --tags string2 --registry-username string --registry-password env:MYSECRET --version string --git-sha string
func (m *MyModule) Example(ctx context.Context, tags []string, registryUsername string, registryPassword *dagger.Secret, version string, gitSha string) string  {
	return dag.
			Monorepo().
			PushCaddyS3ProxyImage(ctx, tags, registryUsername, registryPassword, version, gitSha)
}
@function
async def example(tags: List[str], registry_username: str, registry_password: dagger.Secret, version: str, git_sha: str) -> str:
	return await (
		dag.monorepo()
		.push_caddy_s3_proxy_image(tags, registry_username, registry_password, version, git_sha)
	)
@func()
async example(tags: string[], registryUsername: string, registryPassword: Secret, version: string, gitSha: string): Promise<string> {
	return dag
		.monorepo()
		.pushCaddyS3ProxyImage(tags, registryUsername, registryPassword, version, gitSha)
}

pushObsidianHeadlessImage() 🔗

Push an obsidian-headless image to a registry. Returns digest.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
tags[String ! ] !-No description provided
registryUsernameString !-No description provided
registryPasswordSecret !-No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 push-obsidian-headless-image --tags string1 --tags string2 --registry-username string --registry-password env:MYSECRET --version string --git-sha string
func (m *MyModule) Example(ctx context.Context, tags []string, registryUsername string, registryPassword *dagger.Secret, version string, gitSha string) string  {
	return dag.
			Monorepo().
			PushObsidianHeadlessImage(ctx, tags, registryUsername, registryPassword, version, gitSha)
}
@function
async def example(tags: List[str], registry_username: str, registry_password: dagger.Secret, version: str, git_sha: str) -> str:
	return await (
		dag.monorepo()
		.push_obsidian_headless_image(tags, registry_username, registry_password, version, git_sha)
	)
@func()
async example(tags: string[], registryUsername: string, registryPassword: Secret, version: string, gitSha: string): Promise<string> {
	return dag
		.monorepo()
		.pushObsidianHeadlessImage(tags, registryUsername, registryPassword, version, gitSha)
}

buildScoutImage() 🔗

Build the scout-for-lol backend image (Bun workspace + Prisma)

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 build-scout-image --pkg-dir DIR_PATH --version string --git-sha string
func (m *MyModule) Example(pkgDir *dagger.Directory, version string, gitSha string) *dagger.Container  {
	return dag.
			Monorepo().
			BuildScoutImage(pkgDir, version, gitSha)
}
@function
def example(pkg_dir: dagger.Directory, version: str, git_sha: str) -> dagger.Container:
	return (
		dag.monorepo()
		.build_scout_image(pkg_dir, version, git_sha)
	)
@func()
example(pkgDir: Directory, version: string, gitSha: string): Container {
	return dag
		.monorepo()
		.buildScoutImage(pkgDir, version, gitSha)
}

pushScoutImage() 🔗

Push a scout-for-lol image to a registry. Returns digest.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
tags[String ! ] !-No description provided
registryUsernameString !-No description provided
registryPasswordSecret !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 push-scout-image --pkg-dir DIR_PATH --tags string1 --tags string2 --registry-username string --registry-password env:MYSECRET --version string --git-sha string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, tags []string, registryUsername string, registryPassword *dagger.Secret, version string, gitSha string) string  {
	return dag.
			Monorepo().
			PushScoutImage(ctx, pkgDir, tags, registryUsername, registryPassword, version, gitSha)
}
@function
async def example(pkg_dir: dagger.Directory, tags: List[str], registry_username: str, registry_password: dagger.Secret, version: str, git_sha: str) -> str:
	return await (
		dag.monorepo()
		.push_scout_image(pkg_dir, tags, registry_username, registry_password, version, git_sha)
	)
@func()
async example(pkgDir: Directory, tags: string[], registryUsername: string, registryPassword: Secret, version: string, gitSha: string): Promise<string> {
	return dag
		.monorepo()
		.pushScoutImage(pkgDir, tags, registryUsername, registryPassword, version, gitSha)
}

buildDiscordPlaysPokemonImage() 🔗

Build the discord-plays-pokemon backend image (Bun workspace)

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 build-discord-plays-pokemon-image --pkg-dir DIR_PATH --version string --git-sha string
func (m *MyModule) Example(pkgDir *dagger.Directory, version string, gitSha string) *dagger.Container  {
	return dag.
			Monorepo().
			BuildDiscordPlaysPokemonImage(pkgDir, version, gitSha)
}
@function
def example(pkg_dir: dagger.Directory, version: str, git_sha: str) -> dagger.Container:
	return (
		dag.monorepo()
		.build_discord_plays_pokemon_image(pkg_dir, version, git_sha)
	)
@func()
example(pkgDir: Directory, version: string, gitSha: string): Container {
	return dag
		.monorepo()
		.buildDiscordPlaysPokemonImage(pkgDir, version, gitSha)
}

pushDiscordPlaysPokemonImage() 🔗

Push a discord-plays-pokemon image to a registry. Returns digest.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
tags[String ! ] !-No description provided
registryUsernameString !-No description provided
registryPasswordSecret !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 push-discord-plays-pokemon-image --pkg-dir DIR_PATH --tags string1 --tags string2 --registry-username string --registry-password env:MYSECRET --version string --git-sha string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, tags []string, registryUsername string, registryPassword *dagger.Secret, version string, gitSha string) string  {
	return dag.
			Monorepo().
			PushDiscordPlaysPokemonImage(ctx, pkgDir, tags, registryUsername, registryPassword, version, gitSha)
}
@function
async def example(pkg_dir: dagger.Directory, tags: List[str], registry_username: str, registry_password: dagger.Secret, version: str, git_sha: str) -> str:
	return await (
		dag.monorepo()
		.push_discord_plays_pokemon_image(pkg_dir, tags, registry_username, registry_password, version, git_sha)
	)
@func()
async example(pkgDir: Directory, tags: string[], registryUsername: string, registryPassword: Secret, version: string, gitSha: string): Promise<string> {
	return dag
		.monorepo()
		.pushDiscordPlaysPokemonImage(pkgDir, tags, registryUsername, registryPassword, version, gitSha)
}

buildTemporalWorkerImage() 🔗

Build the temporal-worker image (Bun + Temporal SDK)

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 build-temporal-worker-image --pkg-dir DIR_PATH --version string --git-sha string
func (m *MyModule) Example(pkgDir *dagger.Directory, version string, gitSha string) *dagger.Container  {
	return dag.
			Monorepo().
			BuildTemporalWorkerImage(pkgDir, version, gitSha)
}
@function
def example(pkg_dir: dagger.Directory, version: str, git_sha: str) -> dagger.Container:
	return (
		dag.monorepo()
		.build_temporal_worker_image(pkg_dir, version, git_sha)
	)
@func()
example(pkgDir: Directory, version: string, gitSha: string): Container {
	return dag
		.monorepo()
		.buildTemporalWorkerImage(pkgDir, version, gitSha)
}

pushTemporalWorkerImage() 🔗

Push a temporal-worker image to a registry. Returns digest.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
tags[String ! ] !-No description provided
registryUsernameString !-No description provided
registryPasswordSecret !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 push-temporal-worker-image --pkg-dir DIR_PATH --tags string1 --tags string2 --registry-username string --registry-password env:MYSECRET --version string --git-sha string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, tags []string, registryUsername string, registryPassword *dagger.Secret, version string, gitSha string) string  {
	return dag.
			Monorepo().
			PushTemporalWorkerImage(ctx, pkgDir, tags, registryUsername, registryPassword, version, gitSha)
}
@function
async def example(pkg_dir: dagger.Directory, tags: List[str], registry_username: str, registry_password: dagger.Secret, version: str, git_sha: str) -> str:
	return await (
		dag.monorepo()
		.push_temporal_worker_image(pkg_dir, tags, registry_username, registry_password, version, git_sha)
	)
@func()
async example(pkgDir: Directory, tags: string[], registryUsername: string, registryPassword: Secret, version: string, gitSha: string): Promise<string> {
	return dag
		.monorepo()
		.pushTemporalWorkerImage(pkgDir, tags, registryUsername, registryPassword, version, gitSha)
}

buildTrmnlDashboardImage() 🔗

Build the trmnl-dashboard image (Bun service, runs as UID 1000).

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 build-trmnl-dashboard-image --pkg-dir DIR_PATH --version string --git-sha string
func (m *MyModule) Example(pkgDir *dagger.Directory, version string, gitSha string) *dagger.Container  {
	return dag.
			Monorepo().
			BuildTrmnlDashboardImage(pkgDir, version, gitSha)
}
@function
def example(pkg_dir: dagger.Directory, version: str, git_sha: str) -> dagger.Container:
	return (
		dag.monorepo()
		.build_trmnl_dashboard_image(pkg_dir, version, git_sha)
	)
@func()
example(pkgDir: Directory, version: string, gitSha: string): Container {
	return dag
		.monorepo()
		.buildTrmnlDashboardImage(pkgDir, version, gitSha)
}

pushTrmnlDashboardImage() 🔗

Push a trmnl-dashboard image to a registry. Returns digest.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
tags[String ! ] !-No description provided
registryUsernameString !-No description provided
registryPasswordSecret !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
versionString !"dev"No description provided
gitShaString !"unknown"No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 push-trmnl-dashboard-image --pkg-dir DIR_PATH --tags string1 --tags string2 --registry-username string --registry-password env:MYSECRET --version string --git-sha string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, tags []string, registryUsername string, registryPassword *dagger.Secret, version string, gitSha string) string  {
	return dag.
			Monorepo().
			PushTrmnlDashboardImage(ctx, pkgDir, tags, registryUsername, registryPassword, version, gitSha)
}
@function
async def example(pkg_dir: dagger.Directory, tags: List[str], registry_username: str, registry_password: dagger.Secret, version: str, git_sha: str) -> str:
	return await (
		dag.monorepo()
		.push_trmnl_dashboard_image(pkg_dir, tags, registry_username, registry_password, version, git_sha)
	)
@func()
async example(pkgDir: Directory, tags: string[], registryUsername: string, registryPassword: Secret, version: string, gitSha: string): Promise<string> {
	return dag
		.monorepo()
		.pushTrmnlDashboardImage(pkgDir, tags, registryUsername, registryPassword, version, gitSha)
}

buildCiBaseImage() 🔗

Build the CI base image from a Dockerfile context.

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
contextDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 build-ci-base-image --context DIR_PATH
func (m *MyModule) Example(context *dagger.Directory) *dagger.Container  {
	return dag.
			Monorepo().
			BuildCiBaseImage(context)
}
@function
def example(context: dagger.Directory) -> dagger.Container:
	return (
		dag.monorepo()
		.build_ci_base_image(context)
	)
@func()
example(context: Directory): Container {
	return dag
		.monorepo()
		.buildCiBaseImage(context)
}

pushCiBaseImage() 🔗

Build and push the CI base image. Returns digest.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
contextDirectory !-No description provided
tags[String ! ] !-No description provided
registryUsernameString !-No description provided
registryPasswordSecret !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 push-ci-base-image --context DIR_PATH --tags string1 --tags string2 --registry-username string --registry-password env:MYSECRET
func (m *MyModule) Example(ctx context.Context, context *dagger.Directory, tags []string, registryUsername string, registryPassword *dagger.Secret) string  {
	return dag.
			Monorepo().
			PushCiBaseImage(ctx, context, tags, registryUsername, registryPassword)
}
@function
async def example(context: dagger.Directory, tags: List[str], registry_username: str, registry_password: dagger.Secret) -> str:
	return await (
		dag.monorepo()
		.push_ci_base_image(context, tags, registry_username, registry_password)
	)
@func()
async example(context: Directory, tags: string[], registryUsername: string, registryPassword: Secret): Promise<string> {
	return dag
		.monorepo()
		.pushCiBaseImage(context, tags, registryUsername, registryPassword)
}

goBuild() 🔗

Run go build

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 go-build --pkg-dir DIR_PATH
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory) string  {
	return dag.
			Monorepo().
			GoBuild(ctx, pkgDir)
}
@function
async def example(pkg_dir: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.go_build(pkg_dir)
	)
@func()
async example(pkgDir: Directory): Promise<string> {
	return dag
		.monorepo()
		.goBuild(pkgDir)
}

goTest() 🔗

Run go test

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 go-test --pkg-dir DIR_PATH
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory) string  {
	return dag.
			Monorepo().
			GoTest(ctx, pkgDir)
}
@function
async def example(pkg_dir: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.go_test(pkg_dir)
	)
@func()
async example(pkgDir: Directory): Promise<string> {
	return dag
		.monorepo()
		.goTest(pkgDir)
}

goLint() 🔗

Run golangci-lint (v2)

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 go-lint --pkg-dir DIR_PATH
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory) string  {
	return dag.
			Monorepo().
			GoLint(ctx, pkgDir)
}
@function
async def example(pkg_dir: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.go_lint(pkg_dir)
	)
@func()
async example(pkgDir: Directory): Promise<string> {
	return dag
		.monorepo()
		.goLint(pkgDir)
}

homelabSynth() 🔗

Run cdk8s synth (bun run build) and return the output directory

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 homelab-synth --pkg-dir DIR_PATH
func (m *MyModule) Example(pkgDir *dagger.Directory) *dagger.Directory  {
	return dag.
			Monorepo().
			HomelabSynth(pkgDir)
}
@function
def example(pkg_dir: dagger.Directory) -> dagger.Directory:
	return (
		dag.monorepo()
		.homelab_synth(pkg_dir)
	)
@func()
example(pkgDir: Directory): Directory {
	return dag
		.monorepo()
		.homelabSynth(pkgDir)
}

swiftLint() 🔗

Run swiftlint on a Swift package

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
pkgString !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 swift-lint --source DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			SwiftLint(ctx, source, pkg)
}
@function
async def example(source: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.swift_lint(source, pkg)
	)
@func()
async example(source: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.swiftLint(source, pkg)
}

playwrightTest() 🔗

Run Playwright tests headless in a container

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 playwright-test --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			PlaywrightTest(ctx, pkgDir, pkg)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.playwright_test(pkg_dir, pkg)
	)
@func()
async example(pkgDir: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.playwrightTest(pkgDir, pkg)
}

playwrightUpdate() 🔗

Generate/update Playwright snapshot baselines. Returns the snapshots directory.

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 playwright-update --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(pkgDir *dagger.Directory, pkg string) *dagger.Directory  {
	return dag.
			Monorepo().
			PlaywrightUpdate(pkgDir, pkg)
}
@function
def example(pkg_dir: dagger.Directory, pkg: str) -> dagger.Directory:
	return (
		dag.monorepo()
		.playwright_update(pkg_dir, pkg)
	)
@func()
example(pkgDir: Directory, pkg: string): Directory {
	return dag
		.monorepo()
		.playwrightUpdate(pkgDir, pkg)
}

ciAll() 🔗

Run lint/typecheck/test for all TS packages in parallel. Returns results summary.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 ci-all --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			CiAll(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.ci_all(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.ciAll(source)
}

mavenBuild() 🔗

Build a Maven project with mvn package -DskipTests

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 maven-build --pkg-dir DIR_PATH
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory) string  {
	return dag.
			Monorepo().
			MavenBuild(ctx, pkgDir)
}
@function
async def example(pkg_dir: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.maven_build(pkg_dir)
	)
@func()
async example(pkgDir: Directory): Promise<string> {
	return dag
		.monorepo()
		.mavenBuild(pkgDir)
}

mavenTest() 🔗

Test a Maven project with mvn test

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 maven-test --pkg-dir DIR_PATH
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory) string  {
	return dag.
			Monorepo().
			MavenTest(ctx, pkgDir)
}
@function
async def example(pkg_dir: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.maven_test(pkg_dir)
	)
@func()
async example(pkgDir: Directory): Promise<string> {
	return dag
		.monorepo()
		.mavenTest(pkgDir)
}

mavenCoverage() 🔗

Run mvn verify to generate JaCoCo coverage reports

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 maven-coverage --pkg-dir DIR_PATH
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory) string  {
	return dag.
			Monorepo().
			MavenCoverage(ctx, pkgDir)
}
@function
async def example(pkg_dir: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.maven_coverage(pkg_dir)
	)
@func()
async example(pkgDir: Directory): Promise<string> {
	return dag
		.monorepo()
		.mavenCoverage(pkgDir)
}

latexBuild() 🔗

Build the LaTeX resume with xelatex

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 latex-build --pkg-dir DIR_PATH
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory) string  {
	return dag.
			Monorepo().
			LatexBuild(ctx, pkgDir)
}
@function
async def example(pkg_dir: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.latex_build(pkg_dir)
	)
@func()
async example(pkgDir: Directory): Promise<string> {
	return dag
		.monorepo()
		.latexBuild(pkgDir)
}

mkdocsBuild() 🔗

Build MkDocs documentation site and return the built site/ directory

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 mkdocs-build --source DIR_PATH
func (m *MyModule) Example(source *dagger.Directory) *dagger.Directory  {
	return dag.
			Monorepo().
			MkdocsBuild(source)
}
@function
def example(source: dagger.Directory) -> dagger.Directory:
	return (
		dag.monorepo()
		.mkdocs_build(source)
	)
@func()
example(source: Directory): Directory {
	return dag
		.monorepo()
		.mkdocsBuild(source)
}

helmPackage() 🔗

Package and push a single Helm chart to ChartMuseum

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
cdk8SdistDirectory !-No description provided
chartNameString !-No description provided
versionString !-No description provided
chartMuseumUsernameString !-No description provided
chartMuseumPasswordSecret !-No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 helm-package --source DIR_PATH --cdk-8-s-dist DIR_PATH --chart-name string --version string --chart-museum-username string --chart-museum-password env:MYSECRET --dryrun boolean
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, cdk8SDist *dagger.Directory, chartName string, version string, chartMuseumUsername string, chartMuseumPassword *dagger.Secret, dryrun bool) string  {
	return dag.
			Monorepo().
			HelmPackage(ctx, source, cdk8SDist, chartName, version, chartMuseumUsername, chartMuseumPassword, dryrun)
}
@function
async def example(source: dagger.Directory, cdk8_s_dist: dagger.Directory, chart_name: str, version: str, chart_museum_username: str, chart_museum_password: dagger.Secret, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.helm_package(source, cdk8_s_dist, chart_name, version, chart_museum_username, chart_museum_password, dryrun)
	)
@func()
async example(source: Directory, cdk8SDist: Directory, chartName: string, version: string, chartMuseumUsername: string, chartMuseumPassword: Secret, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.helmPackage(source, cdk8SDist, chartName, version, chartMuseumUsername, chartMuseumPassword, dryrun)
}

helmSynthAndPackage() 🔗

Synth cdk8s manifests and package a Helm chart in one call. Eliminates Buildkite artifact transfer — Dagger caches the synth output.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
synthPkgDirDirectory !-No description provided
synthDepNames[String ! ] -No description provided
synthDepDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
chartNameString !-No description provided
versionString !-No description provided
chartMuseumUsernameString !-No description provided
chartMuseumPasswordSecret !-No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 helm-synth-and-package --source DIR_PATH --synth-pkg-dir DIR_PATH --chart-name string --version string --chart-museum-username string --chart-museum-password env:MYSECRET --dryrun boolean
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, synthPkgDir *dagger.Directory, chartName string, version string, chartMuseumUsername string, chartMuseumPassword *dagger.Secret, dryrun bool) string  {
	return dag.
			Monorepo().
			HelmSynthAndPackage(ctx, source, synthPkgDir, chartName, version, chartMuseumUsername, chartMuseumPassword, dryrun)
}
@function
async def example(source: dagger.Directory, synth_pkg_dir: dagger.Directory, chart_name: str, version: str, chart_museum_username: str, chart_museum_password: dagger.Secret, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.helm_synth_and_package(source, synth_pkg_dir, chart_name, version, chart_museum_username, chart_museum_password, dryrun)
	)
@func()
async example(source: Directory, synthPkgDir: Directory, chartName: string, version: string, chartMuseumUsername: string, chartMuseumPassword: Secret, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.helmSynthAndPackage(source, synthPkgDir, chartName, version, chartMuseumUsername, chartMuseumPassword, dryrun)
}

tofuApply() 🔗

Run tofu init + apply on an infrastructure stack

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
stackString !-No description provided
awsAccessKeyIdSecret !-No description provided
awsSecretAccessKeySecret !-No description provided
githubTokenSecret -No description provided
cloudflareAccountIdSecret -No description provided
cloudflareApiTokenSecret -No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 tofu-apply --source DIR_PATH --stack string --aws-access-key-id env:MYSECRET --aws-secret-access-key env:MYSECRET --dryrun boolean
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, stack string, awsAccessKeyId *dagger.Secret, awsSecretAccessKey *dagger.Secret, dryrun bool) string  {
	return dag.
			Monorepo().
			TofuApply(ctx, source, stack, awsAccessKeyId, awsSecretAccessKey, dryrun)
}
@function
async def example(source: dagger.Directory, stack: str, aws_access_key_id: dagger.Secret, aws_secret_access_key: dagger.Secret, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.tofu_apply(source, stack, aws_access_key_id, aws_secret_access_key, dryrun)
	)
@func()
async example(source: Directory, stack: string, awsAccessKeyId: Secret, awsSecretAccessKey: Secret, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.tofuApply(source, stack, awsAccessKeyId, awsSecretAccessKey, dryrun)
}

tofuPlan() 🔗

Run tofu init + plan on an infrastructure stack (read-only)

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
stackString !-No description provided
awsAccessKeyIdSecret !-No description provided
awsSecretAccessKeySecret !-No description provided
githubTokenSecret -No description provided
cloudflareAccountIdSecret -No description provided
cloudflareApiTokenSecret -No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 tofu-plan --source DIR_PATH --stack string --aws-access-key-id env:MYSECRET --aws-secret-access-key env:MYSECRET --dryrun boolean
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, stack string, awsAccessKeyId *dagger.Secret, awsSecretAccessKey *dagger.Secret, dryrun bool) string  {
	return dag.
			Monorepo().
			TofuPlan(ctx, source, stack, awsAccessKeyId, awsSecretAccessKey, dryrun)
}
@function
async def example(source: dagger.Directory, stack: str, aws_access_key_id: dagger.Secret, aws_secret_access_key: dagger.Secret, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.tofu_plan(source, stack, aws_access_key_id, aws_secret_access_key, dryrun)
	)
@func()
async example(source: Directory, stack: string, awsAccessKeyId: Secret, awsSecretAccessKey: Secret, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.tofuPlan(source, stack, awsAccessKeyId, awsSecretAccessKey, dryrun)
}

publishNpm() 🔗

Publish an npm package. Set devSuffix for dev releases (–tag dev, version becomes -dev.), leave empty for prod (–tag latest). Set pkgPath to the on-disk path under packages/ (e.g. “homelab/src/helm-types”) when the npm name differs from the directory layout — required so file: workspace deps resolve correctly.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
npmTokenSecret !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
dryrunBoolean !falseNo description provided
tsconfigFile -No description provided
devSuffixString !""No description provided
pkgPathString !""No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 publish-npm --pkg-dir DIR_PATH --pkg string --npm-token env:MYSECRET --dryrun boolean --dev-suffix string --pkg-path string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string, npmToken *dagger.Secret, dryrun bool, devSuffix string, pkgPath string) string  {
	return dag.
			Monorepo().
			PublishNpm(ctx, pkgDir, pkg, npmToken, dryrun, devSuffix, pkgPath)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str, npm_token: dagger.Secret, dryrun: bool, dev_suffix: str, pkg_path: str) -> str:
	return await (
		dag.monorepo()
		.publish_npm(pkg_dir, pkg, npm_token, dryrun, dev_suffix, pkg_path)
	)
@func()
async example(pkgDir: Directory, pkg: string, npmToken: Secret, dryrun: boolean, devSuffix: string, pkgPath: string): Promise<string> {
	return dag
		.monorepo()
		.publishNpm(pkgDir, pkg, npmToken, dryrun, devSuffix, pkgPath)
}

deploySite() 🔗

Build and deploy a static site to S3 or R2

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
bucketString !-No description provided
buildCmdString !-No description provided
distSubdirString !-No description provided
targetString !-No description provided
awsAccessKeyIdSecret !-No description provided
awsSecretAccessKeySecret !-No description provided
cloudflareAccountIdString !""No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
buildEnvNames[String ! ] -No description provided
buildEnvValues[Secret ! ] -No description provided
dryrunBoolean !falseNo description provided
tsconfigFile -No description provided
needsPlaywrightBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 deploy-site --pkg-dir DIR_PATH --pkg string --bucket string --build-cmd string --dist-subdir string --target string --aws-access-key-id env:MYSECRET --aws-secret-access-key env:MYSECRET --cloudflare-account-id string --dryrun boolean --needs-playwright boolean
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string, bucket string, buildCmd string, distSubdir string, target string, awsAccessKeyId *dagger.Secret, awsSecretAccessKey *dagger.Secret, cloudflareAccountId string, dryrun bool, needsPlaywright bool) string  {
	return dag.
			Monorepo().
			DeploySite(ctx, pkgDir, pkg, bucket, buildCmd, distSubdir, target, awsAccessKeyId, awsSecretAccessKey, cloudflareAccountId, dryrun, needsPlaywright)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str, bucket: str, build_cmd: str, dist_subdir: str, target: str, aws_access_key_id: dagger.Secret, aws_secret_access_key: dagger.Secret, cloudflare_account_id: str, dryrun: bool, needs_playwright: bool) -> str:
	return await (
		dag.monorepo()
		.deploy_site(pkg_dir, pkg, bucket, build_cmd, dist_subdir, target, aws_access_key_id, aws_secret_access_key, cloudflare_account_id, dryrun, needs_playwright)
	)
@func()
async example(pkgDir: Directory, pkg: string, bucket: string, buildCmd: string, distSubdir: string, target: string, awsAccessKeyId: Secret, awsSecretAccessKey: Secret, cloudflareAccountId: string, dryrun: boolean, needsPlaywright: boolean): Promise<string> {
	return dag
		.monorepo()
		.deploySite(pkgDir, pkg, bucket, buildCmd, distSubdir, target, awsAccessKeyId, awsSecretAccessKey, cloudflareAccountId, dryrun, needsPlaywright)
}

deployStaticSite() 🔗

Deploy a pre-built static site directory to S3 (no bun install or build)

Return Type
String !
Arguments
NameTypeDefault ValueDescription
siteDirDirectory !-No description provided
bucketString !-No description provided
targetString !-No description provided
awsAccessKeyIdSecret !-No description provided
awsSecretAccessKeySecret !-No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 deploy-static-site --site-dir DIR_PATH --bucket string --target string --aws-access-key-id env:MYSECRET --aws-secret-access-key env:MYSECRET --dryrun boolean
func (m *MyModule) Example(ctx context.Context, siteDir *dagger.Directory, bucket string, target string, awsAccessKeyId *dagger.Secret, awsSecretAccessKey *dagger.Secret, dryrun bool) string  {
	return dag.
			Monorepo().
			DeployStaticSite(ctx, siteDir, bucket, target, awsAccessKeyId, awsSecretAccessKey, dryrun)
}
@function
async def example(site_dir: dagger.Directory, bucket: str, target: str, aws_access_key_id: dagger.Secret, aws_secret_access_key: dagger.Secret, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.deploy_static_site(site_dir, bucket, target, aws_access_key_id, aws_secret_access_key, dryrun)
	)
@func()
async example(siteDir: Directory, bucket: string, target: string, awsAccessKeyId: Secret, awsSecretAccessKey: Secret, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.deployStaticSite(siteDir, bucket, target, awsAccessKeyId, awsSecretAccessKey, dryrun)
}

argoCdSync() 🔗

Trigger an ArgoCD sync for an application

Return Type
String !
Arguments
NameTypeDefault ValueDescription
appNameString !-No description provided
argoCdTokenSecret !-No description provided
serverUrlString !"https://argocd.sjer.red"No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 argo-cd-sync --app-name string --argo-cd-token env:MYSECRET --server-url string --dryrun boolean
func (m *MyModule) Example(ctx context.Context, appName string, argoCdToken *dagger.Secret, serverUrl string, dryrun bool) string  {
	return dag.
			Monorepo().
			ArgoCdSync(ctx, appName, argoCdToken, serverUrl, dryrun)
}
@function
async def example(app_name: str, argo_cd_token: dagger.Secret, server_url: str, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.argo_cd_sync(app_name, argo_cd_token, server_url, dryrun)
	)
@func()
async example(appName: string, argoCdToken: Secret, serverUrl: string, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.argoCdSync(appName, argoCdToken, serverUrl, dryrun)
}

argoCdHealthWait() 🔗

Wait for an ArgoCD application to become healthy

Return Type
String !
Arguments
NameTypeDefault ValueDescription
appNameString !-No description provided
argoCdTokenSecret !-No description provided
timeoutSecondsInteger !300No description provided
serverUrlString !"https://argocd.sjer.red"No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 argo-cd-health-wait --app-name string --argo-cd-token env:MYSECRET --timeout-seconds integer --server-url string --dryrun boolean
func (m *MyModule) Example(ctx context.Context, appName string, argoCdToken *dagger.Secret, timeoutSeconds int, serverUrl string, dryrun bool) string  {
	return dag.
			Monorepo().
			ArgoCdHealthWait(ctx, appName, argoCdToken, timeoutSeconds, serverUrl, dryrun)
}
@function
async def example(app_name: str, argo_cd_token: dagger.Secret, timeout_seconds: int, server_url: str, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.argo_cd_health_wait(app_name, argo_cd_token, timeout_seconds, server_url, dryrun)
	)
@func()
async example(appName: string, argoCdToken: Secret, timeoutSeconds: number, serverUrl: string, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.argoCdHealthWait(appName, argoCdToken, timeoutSeconds, serverUrl, dryrun)
}

cooklangBuild() 🔗

Build cooklang-for-obsidian plugin and return artifacts (main.js, manifest.json, styles.css)

Return Type
Directory !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 cooklang-build --pkg-dir DIR_PATH
func (m *MyModule) Example(pkgDir *dagger.Directory) *dagger.Directory  {
	return dag.
			Monorepo().
			CooklangBuild(pkgDir)
}
@function
def example(pkg_dir: dagger.Directory) -> dagger.Directory:
	return (
		dag.monorepo()
		.cooklang_build(pkg_dir)
	)
@func()
example(pkgDir: Directory): Directory {
	return dag
		.monorepo()
		.cooklangBuild(pkgDir)
}

cooklangPublish() 🔗

Publish built cooklang artifacts to the plugin repo: compute next patch version from the latest release tag, update manifest, update versions.json only for Obsidian compatibility boundary changes, commit to main, and cut the GitHub release.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
tokenSourceDirectory !-No description provided
pluginRepoString !-No description provided
githubAppIdSecret !-No description provided
githubAppInstallationIdSecret !-No description provided
githubAppPrivateKeySecret !-No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 cooklang-publish --source DIR_PATH --token-source DIR_PATH --plugin-repo string --github-app-id env:MYSECRET --github-app-installation-id env:MYSECRET --github-app-private-key env:MYSECRET --dryrun boolean
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, tokenSource *dagger.Directory, pluginRepo string, githubAppId *dagger.Secret, githubAppInstallationId *dagger.Secret, githubAppPrivateKey *dagger.Secret, dryrun bool) string  {
	return dag.
			Monorepo().
			CooklangPublish(ctx, source, tokenSource, pluginRepo, githubAppId, githubAppInstallationId, githubAppPrivateKey, dryrun)
}
@function
async def example(source: dagger.Directory, token_source: dagger.Directory, plugin_repo: str, github_app_id: dagger.Secret, github_app_installation_id: dagger.Secret, github_app_private_key: dagger.Secret, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.cooklang_publish(source, token_source, plugin_repo, github_app_id, github_app_installation_id, github_app_private_key, dryrun)
	)
@func()
async example(source: Directory, tokenSource: Directory, pluginRepo: string, githubAppId: Secret, githubAppInstallationId: Secret, githubAppPrivateKey: Secret, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.cooklangPublish(source, tokenSource, pluginRepo, githubAppId, githubAppInstallationId, githubAppPrivateKey, dryrun)
}

cooklangBuildAndPublish() 🔗

Build cooklang, publish to plugin repo, and open the monorepo commit-back PR — full release pipeline in one call.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
pkgDirDirectory !-No description provided
pluginRepoString !-No description provided
githubAppIdSecret !-No description provided
githubAppInstallationIdSecret !-No description provided
githubAppPrivateKeySecret !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
tsconfigFile -No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 cooklang-build-and-publish --source DIR_PATH --pkg-dir DIR_PATH --plugin-repo string --github-app-id env:MYSECRET --github-app-installation-id env:MYSECRET --github-app-private-key env:MYSECRET --dryrun boolean
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, pkgDir *dagger.Directory, pluginRepo string, githubAppId *dagger.Secret, githubAppInstallationId *dagger.Secret, githubAppPrivateKey *dagger.Secret, dryrun bool) string  {
	return dag.
			Monorepo().
			CooklangBuildAndPublish(ctx, source, pkgDir, pluginRepo, githubAppId, githubAppInstallationId, githubAppPrivateKey, dryrun)
}
@function
async def example(source: dagger.Directory, pkg_dir: dagger.Directory, plugin_repo: str, github_app_id: dagger.Secret, github_app_installation_id: dagger.Secret, github_app_private_key: dagger.Secret, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.cooklang_build_and_publish(source, pkg_dir, plugin_repo, github_app_id, github_app_installation_id, github_app_private_key, dryrun)
	)
@func()
async example(source: Directory, pkgDir: Directory, pluginRepo: string, githubAppId: Secret, githubAppInstallationId: Secret, githubAppPrivateKey: Secret, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.cooklangBuildAndPublish(source, pkgDir, pluginRepo, githubAppId, githubAppInstallationId, githubAppPrivateKey, dryrun)
}

versionCommitBack() 🔗

Update versions.ts with new image digests and create auto-merge PR

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
digestsString !-No description provided
versionString !-No description provided
githubAppIdSecret !-No description provided
githubAppInstallationIdSecret !-No description provided
githubAppPrivateKeySecret !-No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 version-commit-back --source DIR_PATH --digests string --version string --github-app-id env:MYSECRET --github-app-installation-id env:MYSECRET --github-app-private-key env:MYSECRET --dryrun boolean
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, digests string, version string, githubAppId *dagger.Secret, githubAppInstallationId *dagger.Secret, githubAppPrivateKey *dagger.Secret, dryrun bool) string  {
	return dag.
			Monorepo().
			VersionCommitBack(ctx, source, digests, version, githubAppId, githubAppInstallationId, githubAppPrivateKey, dryrun)
}
@function
async def example(source: dagger.Directory, digests: str, version: str, github_app_id: dagger.Secret, github_app_installation_id: dagger.Secret, github_app_private_key: dagger.Secret, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.version_commit_back(source, digests, version, github_app_id, github_app_installation_id, github_app_private_key, dryrun)
	)
@func()
async example(source: Directory, digests: string, version: string, githubAppId: Secret, githubAppInstallationId: Secret, githubAppPrivateKey: Secret, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.versionCommitBack(source, digests, version, githubAppId, githubAppInstallationId, githubAppPrivateKey, dryrun)
}

ciBaseVersionCommitBack() 🔗

Update the CI base image version pointer and create auto-merge PR

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
versionString !-No description provided
githubAppIdSecret !-No description provided
githubAppInstallationIdSecret !-No description provided
githubAppPrivateKeySecret !-No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 ci-base-version-commit-back --source DIR_PATH --version string --github-app-id env:MYSECRET --github-app-installation-id env:MYSECRET --github-app-private-key env:MYSECRET --dryrun boolean
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, version string, githubAppId *dagger.Secret, githubAppInstallationId *dagger.Secret, githubAppPrivateKey *dagger.Secret, dryrun bool) string  {
	return dag.
			Monorepo().
			CiBaseVersionCommitBack(ctx, source, version, githubAppId, githubAppInstallationId, githubAppPrivateKey, dryrun)
}
@function
async def example(source: dagger.Directory, version: str, github_app_id: dagger.Secret, github_app_installation_id: dagger.Secret, github_app_private_key: dagger.Secret, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.ci_base_version_commit_back(source, version, github_app_id, github_app_installation_id, github_app_private_key, dryrun)
	)
@func()
async example(source: Directory, version: string, githubAppId: Secret, githubAppInstallationId: Secret, githubAppPrivateKey: Secret, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.ciBaseVersionCommitBack(source, version, githubAppId, githubAppInstallationId, githubAppPrivateKey, dryrun)
}

releasePlease() 🔗

Run release-please to create release PRs and GitHub releases, then refine the auto-generated CHANGELOGs via a Claude agent

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
githubAppIdSecret !-No description provided
githubAppInstallationIdSecret !-No description provided
githubAppPrivateKeySecret !-No description provided
claudeOauthTokenSecret !-No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 release-please --source DIR_PATH --github-app-id env:MYSECRET --github-app-installation-id env:MYSECRET --github-app-private-key env:MYSECRET --claude-oauth-token env:MYSECRET --dryrun boolean
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, githubAppId *dagger.Secret, githubAppInstallationId *dagger.Secret, githubAppPrivateKey *dagger.Secret, claudeOauthToken *dagger.Secret, dryrun bool) string  {
	return dag.
			Monorepo().
			ReleasePlease(ctx, source, githubAppId, githubAppInstallationId, githubAppPrivateKey, claudeOauthToken, dryrun)
}
@function
async def example(source: dagger.Directory, github_app_id: dagger.Secret, github_app_installation_id: dagger.Secret, github_app_private_key: dagger.Secret, claude_oauth_token: dagger.Secret, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.release_please(source, github_app_id, github_app_installation_id, github_app_private_key, claude_oauth_token, dryrun)
	)
@func()
async example(source: Directory, githubAppId: Secret, githubAppInstallationId: Secret, githubAppPrivateKey: Secret, claudeOauthToken: Secret, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.releasePlease(source, githubAppId, githubAppInstallationId, githubAppPrivateKey, claudeOauthToken, dryrun)
}

cooklangVersionCommitBack() 🔗

Commit-back the cooklang plugin version and any compatibility boundary versions.json update to the monorepo source after a successful publish.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
versionString !-No description provided
minAppVersionString !-No description provided
githubAppIdSecret !-No description provided
githubAppInstallationIdSecret !-No description provided
githubAppPrivateKeySecret !-No description provided
dryrunBoolean !falseNo description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 cooklang-version-commit-back --source DIR_PATH --version string --min-app-version string --github-app-id env:MYSECRET --github-app-installation-id env:MYSECRET --github-app-private-key env:MYSECRET --dryrun boolean
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, version string, minAppVersion string, githubAppId *dagger.Secret, githubAppInstallationId *dagger.Secret, githubAppPrivateKey *dagger.Secret, dryrun bool) string  {
	return dag.
			Monorepo().
			CooklangVersionCommitBack(ctx, source, version, minAppVersion, githubAppId, githubAppInstallationId, githubAppPrivateKey, dryrun)
}
@function
async def example(source: dagger.Directory, version: str, min_app_version: str, github_app_id: dagger.Secret, github_app_installation_id: dagger.Secret, github_app_private_key: dagger.Secret, dryrun: bool) -> str:
	return await (
		dag.monorepo()
		.cooklang_version_commit_back(source, version, min_app_version, github_app_id, github_app_installation_id, github_app_private_key, dryrun)
	)
@func()
async example(source: Directory, version: string, minAppVersion: string, githubAppId: Secret, githubAppInstallationId: Secret, githubAppPrivateKey: Secret, dryrun: boolean): Promise<string> {
	return dag
		.monorepo()
		.cooklangVersionCommitBack(source, version, minAppVersion, githubAppId, githubAppInstallationId, githubAppPrivateKey, dryrun)
}

caddyfileValidate() 🔗

Generate and validate the Caddyfile for S3 static sites

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 caddyfile-validate --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			CaddyfileValidate(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.caddyfile_validate(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.caddyfileValidate(source)
}

prettier() 🔗

Prettier formatting check across the entire monorepo.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 prettier --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			Prettier(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.prettier(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.prettier(source)
}

markdownlint() 🔗

Markdownlint via the root bun run markdownlint script.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 markdownlint --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			Markdownlint(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.markdownlint(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.markdownlint(source)
}

shellcheck() 🔗

Shellcheck against every *.sh outside archive/node_modules/Pods/target.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 shellcheck --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			Shellcheck(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.shellcheck(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.shellcheck(source)
}

qualityRatchet() 🔗

Quality ratchet: enforce per-rule suppression counts don’t exceed baseline.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 quality-ratchet --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			QualityRatchet(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.quality_ratchet(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.qualityRatchet(source)
}

complianceCheck() 🔗

Compliance check: every package has the required scripts in its package.json.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 compliance-check --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			ComplianceCheck(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.compliance_check(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.complianceCheck(source)
}

knipCheck() 🔗

Knip dead-code detection across the monorepo.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 knip-check --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			KnipCheck(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.knip_check(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.knipCheck(source)
}

gitleaksCheck() 🔗

Gitleaks scan for secrets in the working tree.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 gitleaks-check --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			GitleaksCheck(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.gitleaks_check(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.gitleaksCheck(source)
}

suppressionCheck() 🔗

Suppression check: any rule’s suppression count vs baseline.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 suppression-check --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			SuppressionCheck(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.suppression_check(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.suppressionCheck(source)
}

trivyScan() 🔗

Trivy filesystem CVE scan (HIGH + CRITICAL).

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 trivy-scan --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			TrivyScan(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.trivy_scan(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.trivyScan(source)
}

daggerHygiene() 🔗

Grep .dagger/, scripts/ci/, .buildkite/scripts/ for banned patterns.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 dagger-hygiene --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			DaggerHygiene(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.dagger_hygiene(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.daggerHygiene(source)
}

tunnelDnsCoverage() 🔗

Verify every cdk8s TunnelBinding has a matching cloudflare DNS record.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 tunnel-dns-coverage --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			TunnelDnsCoverage(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.tunnel_dns_coverage(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.tunnelDnsCoverage(source)
}

semgrepScan() 🔗

Semgrep auto-config scan against the repo.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 semgrep-scan --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			SemgrepScan(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.semgrep_scan(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.semgrepScan(source)
}

lockfileCheck() 🔗

Lockfile check: bun install --frozen-lockfile against the root lock.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 lockfile-check --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			LockfileCheck(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.lockfile_check(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.lockfileCheck(source)
}

envVarNames() 🔗

Env-var naming convention check across staged-style file types.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 env-var-names --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			EnvVarNames(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.env_var_names(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.envVarNames(source)
}

lineEndingsCheck() 🔗

Verify every tracked file’s line endings match .gitattributes.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 line-endings-check --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			LineEndingsCheck(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.line_endings_check(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.lineEndingsCheck(source)
}

migrationGuard() 🔗

Guard against silent package-exclusion drift in the catalog.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 migration-guard --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			MigrationGuard(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.migration_guard(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.migrationGuard(source)
}

mergeConflictCheck() 🔗

Detect unresolved merge-conflict markers in source files.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 merge-conflict-check --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			MergeConflictCheck(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.merge_conflict_check(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.mergeConflictCheck(source)
}

largeFileCheck() 🔗

Detect files >5 MB in the working tree (honors .largeignore).

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 large-file-check --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			LargeFileCheck(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.large_file_check(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.largeFileCheck(source)
}

tasksForObsidianIosNativeDeps() 🔗

iOS native-deps check for packages/tasks-for-obsidian.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 tasks-for-obsidian-ios-native-deps --source DIR_PATH
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory) string  {
	return dag.
			Monorepo().
			TasksForObsidianIosNativeDeps(ctx, source)
}
@function
async def example(source: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.tasks_for_obsidian_ios_native_deps(source)
	)
@func()
async example(source: Directory): Promise<string> {
	return dag
		.monorepo()
		.tasksForObsidianIosNativeDeps(source)
}

smokeTest() 🔗

Start a container and verify its health endpoint responds

Return Type
String !
Arguments
NameTypeDefault ValueDescription
imageContainer !-No description provided
portInteger !3000No description provided
healthPathString !"/"No description provided
timeoutSecondsInteger !30No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 smoke-test --image IMAGE:TAG --port integer --health-path string --timeout-seconds integer
func (m *MyModule) Example(ctx context.Context, image *dagger.Container, port int, healthPath string, timeoutSeconds int) string  {
	return dag.
			Monorepo().
			SmokeTest(ctx, image, port, healthPath, timeoutSeconds)
}
@function
async def example(image: dagger.Container, port: int, health_path: str, timeout_seconds: int) -> str:
	return await (
		dag.monorepo()
		.smoke_test(image, port, health_path, timeout_seconds)
	)
@func()
async example(image: Container, port: number, healthPath: string, timeoutSeconds: number): Promise<string> {
	return dag
		.monorepo()
		.smokeTest(image, port, healthPath, timeoutSeconds)
}

smokeTestScoutForLol() 🔗

Smoke test scout-for-lol: build production image, verify config, HTTP server, expected Discord auth failure

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 smoke-test-scout-for-lol --pkg-dir DIR_PATH
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory) string  {
	return dag.
			Monorepo().
			SmokeTestScoutForLol(ctx, pkgDir)
}
@function
async def example(pkg_dir: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.smoke_test_scout_for_lol(pkg_dir)
	)
@func()
async example(pkgDir: Directory): Promise<string> {
	return dag
		.monorepo()
		.smokeTestScoutForLol(pkgDir)
}

smokeTestBirmel() 🔗

Smoke test birmel: build production image, verify config, Discord login attempt, expected auth failure

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 smoke-test-birmel --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			SmokeTestBirmel(ctx, pkgDir, pkg)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.smoke_test_birmel(pkg_dir, pkg)
	)
@func()
async example(pkgDir: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.smokeTestBirmel(pkgDir, pkg)
}

smokeTestStarlightKarmaBot() 🔗

Smoke test starlight-karma-bot: build production image, verify config, server start, expected auth failure

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 smoke-test-starlight-karma-bot --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			SmokeTestStarlightKarmaBot(ctx, pkgDir, pkg)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.smoke_test_starlight_karma_bot(pkg_dir, pkg)
	)
@func()
async example(pkgDir: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.smokeTestStarlightKarmaBot(pkgDir, pkg)
}

smokeTestTasknotesServer() 🔗

Smoke test tasknotes-server: build production image, verify server starts and listens

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
pkgString !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 smoke-test-tasknotes-server --pkg-dir DIR_PATH --pkg string
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory, pkg string) string  {
	return dag.
			Monorepo().
			SmokeTestTasknotesServer(ctx, pkgDir, pkg)
}
@function
async def example(pkg_dir: dagger.Directory, pkg: str) -> str:
	return await (
		dag.monorepo()
		.smoke_test_tasknotes_server(pkg_dir, pkg)
	)
@func()
async example(pkgDir: Directory, pkg: string): Promise<string> {
	return dag
		.monorepo()
		.smokeTestTasknotesServer(pkgDir, pkg)
}

smokeTestCaddyS3Proxy() 🔗

Smoke test caddy-s3proxy: verifies custom Caddy binary works

Return Type
String !
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 smoke-test-caddy-s-3-proxy
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Monorepo().
			SmokeTestCaddyS3Proxy(ctx)
}
@function
async def example() -> str:
	return await (
		dag.monorepo()
		.smoke_test_caddy_s3_proxy()
	)
@func()
async example(): Promise<string> {
	return dag
		.monorepo()
		.smokeTestCaddyS3Proxy()
}

smokeTestObsidianHeadless() 🔗

Smoke test obsidian-headless: verifies Bun + obsidian CLI installed

Return Type
String !
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 smoke-test-obsidian-headless
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Monorepo().
			SmokeTestObsidianHeadless(ctx)
}
@function
async def example() -> str:
	return await (
		dag.monorepo()
		.smoke_test_obsidian_headless()
	)
@func()
async example(): Promise<string> {
	return dag
		.monorepo()
		.smokeTestObsidianHeadless()
}

smokeTestDiscordPlaysPokemon() 🔗

Smoke test discord-plays-pokemon: build production image, boots app, expects Discord auth failure

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 smoke-test-discord-plays-pokemon --pkg-dir DIR_PATH
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory) string  {
	return dag.
			Monorepo().
			SmokeTestDiscordPlaysPokemon(ctx, pkgDir)
}
@function
async def example(pkg_dir: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.smoke_test_discord_plays_pokemon(pkg_dir)
	)
@func()
async example(pkgDir: Directory): Promise<string> {
	return dag
		.monorepo()
		.smokeTestDiscordPlaysPokemon(pkgDir)
}

smokeTestTrmnlDashboard() 🔗

Smoke test trmnl-dashboard: builds image, boots Bun.serve, killed at timeout.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
pkgDirDirectory !-No description provided
depNames[String ! ] -No description provided
depDirs[Directory ! ] -No description provided
Example
dagger -m github.com/shepherdjerred/monorepo@adf2af08b0952eb06de2a8c0d1768baa672a9ed0 call \
 smoke-test-trmnl-dashboard --pkg-dir DIR_PATH
func (m *MyModule) Example(ctx context.Context, pkgDir *dagger.Directory) string  {
	return dag.
			Monorepo().
			SmokeTestTrmnlDashboard(ctx, pkgDir)
}
@function
async def example(pkg_dir: dagger.Directory) -> str:
	return await (
		dag.monorepo()
		.smoke_test_trmnl_dashboard(pkg_dir)
	)
@func()
async example(pkgDir: Directory): Promise<string> {
	return dag
		.monorepo()
		.smokeTestTrmnlDashboard(pkgDir)
}