Files
penguin-harness/packages/cli/tsup.config.ts
T
Yaowei Zheng 45bfae6e94 Initialize repository with harness code and assets
Initial import of all source code, config, and README assets: the
packages workspace (cli, core, server, web, docs, landing, skills),
build scripts, tooling config, and CI workflows.

Includes the data-layout revision made on this branch: the local data
root defaults to ~/.penguin/data (PENGUIN_HOME still overrides; the
installer keeps its binaries in ~/.penguin), and every Agent lives
under <project>/agents/<agent>/ — path helpers, the three
agent-enumeration scans, the system prompt, built-in Skills, tests
and docs all follow the new layout.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ihk8iQuo3kv2aPjAYEPuR
2026-07-19 14:06:53 +08:00

23 lines
1.0 KiB
TypeScript

import { defineConfig } from "tsup";
export default defineConfig({
entry: ["src/index.ts"],
format: ["esm"],
target: "node20",
platform: "node",
clean: true,
sourcemap: true,
// Bundle the workspace source @prismshadow/penguin-core, but keep third-party deps (incl.
// CJS yaml / smol-toml / agenthub) external and resolved from node_modules at runtime —
// avoids bundling CJS deps into ESM and triggering a "Dynamic require" error.
// @prismshadow/penguin-skills must stay external: it reads files under its own skills/ dir
// at runtime (files are the source of truth); bundling would break paths relative to the
// package root. cli already declares it as a direct dependency.
// @prismshadow/penguin-server stays external: the penguin server / web commands import it
// dynamically at runtime.
// tsup treats this package's package.json dependencies as external by default, so these
// deps are already declared there.
noExternal: ["@prismshadow/penguin-core"],
banner: { js: "#!/usr/bin/env node" },
});