Files
agent-skills/skills/tsdown/references/advanced-ci.md
Jason Woltje f5792c40be feat: Complete fleet — 94 skills across 10+ domains
Pulled ALL skills from 15 source repositories:
- anthropics/skills: 16 (docs, design, MCP, testing)
- obra/superpowers: 14 (TDD, debugging, agents, planning)
- coreyhaines31/marketingskills: 25 (marketing, CRO, SEO, growth)
- better-auth/skills: 5 (auth patterns)
- vercel-labs/agent-skills: 5 (React, design, Vercel)
- antfu/skills: 16 (Vue, Vite, Vitest, pnpm, Turborepo)
- Plus 13 individual skills from various repos

Mosaic Stack is not limited to coding — the Orchestrator and
subagents serve coding, business, design, marketing, writing,
logistics, analysis, and more.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 16:27:42 -06:00

2.0 KiB

CI Environment Support

Automatically detect CI environments and toggle features based on local vs CI builds.

Overview

tsdown uses the is-in-ci package to detect CI environments. This covers GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis CI, and more.

CI-Aware Values

Several options accept CI-aware string values:

Value Behavior
true Always enabled
false Always disabled
'ci-only' Enabled only in CI, disabled locally
'local-only' Enabled only locally, disabled in CI

Supported Options

These options accept CI-aware values:

  • dts - TypeScript declaration file generation
  • publint - Package lint validation
  • attw - "Are the types wrong" validation
  • report - Bundle size reporting
  • exports - Auto-generate package.json exports
  • unused - Unused dependency check
  • devtools - DevTools integration
  • failOnWarn - Fail on warnings (defaults to 'ci-only')

Usage

String Form

export default defineConfig({
  dts: 'local-only',        // Skip DTS in CI for faster builds
  publint: 'ci-only',       // Only run publint in CI
  failOnWarn: 'ci-only',    // Fail on warnings in CI only (default)
})

Object Form

When an option takes a configuration object, set enabled to a CI-aware value:

export default defineConfig({
  publint: {
    enabled: 'ci-only',
    level: 'error',
  },
  attw: {
    enabled: 'ci-only',
    profile: 'node16',
  },
})

Config Function

The config function receives a ci boolean in its context:

export default defineConfig((_, { ci }) => ({
  minify: ci,
  sourcemap: !ci,
}))

Typical CI Configuration

export default defineConfig({
  entry: 'src/index.ts',
  format: ['esm', 'cjs'],
  dts: true,
  failOnWarn: 'ci-only',
  publint: 'ci-only',
  attw: 'ci-only',
})