# Project Readme Hints ## Overview - `@git.zone/tspublish` is a CLI tool + library for publishing multiple TypeScript packages from a monorepo - Main entry: `ts/index.ts` exports `TsPublish` class and `runCli()` function - CLI entry: `cli.js` (compiled) → `cli.child.ts` (dev) → `ts/index.ts` ## Key Architecture - `TsPublish` - main orchestrator class, discovers modules and runs publish pipeline - `PublishModule` - handles individual module build/publish (not exported from main index) - `GiteaAssets` - fetches CLI templates from code.foss.global Gitea API - `plugins.ts` - all dependencies imported here, uses `@push.rocks/smartfs` for filesystem ops - `logging.ts` - color-coded console output using consolecolor + smartlog ## Configuration - Uses `.smartconfig.json` (not npmextra.json) with `@push.rocks/smartconfig` - Each publishable sub-module has its own `tspublish.json` in `ts_*` directories - Registry config supports `useBase`, `extendBase`, or explicit URLs ## Dependencies - All dependencies at latest versions as of 2026-03-24 - No `ts_*/tspublish.json` sub-modules exist in this project itself