README.md
July 13, 2026 ยท View on GitHub
Kamontat's Workspace ecosystem
This monorepo included libraries, tools, and helpers that will make my life easier.
Terminology
- package - package name (for example
@kcconfigs/tsconfig,@kcexamples/demo)- Use on package.json#name field and release-please/config.json#component field
- component - package name without at(@) sign (for example
kcconfigs/tsconfig)- Use on Git commit scope and Git tag prefix
- package version || version - package version (for example
0.2.0,1.2.3,1.0.0-beta.1)- Use on package.json#version field
- prerelease - package version contains prerelease identifier (for example
1.0.0-beta.1)- Similar to package version; more specific to prerelease only
- prerelease number - number at the end of prerelease (for example
1,2)- If package version is
1.0.0, then prerelease number is empty - If package version is
0.1.2-beta.2, then prerelease number is2
- If package version is
- Git tag || tag - Git tag string (for example
kcconfigs/tsconfig+v1.2.3)- Syntax:
<component>+v<version>
- Syntax:
- npm tag - npm tag string (for example
latest,rc,beta,alpha)- Use with install package (for example
npm install @kcconfigs/tsconfig@beta) - Node will use
latestwhen not specify
- Use with install package (for example
Todo list
-
<empty>
Known issues
- release-please repository status (googleapis/release-please#2545)
- right now you cannot convert prerelease to stable version (googleapis/release-please#2515)
- Workaround 1: use release-as commit to force which version to deploy (go with this on ./scripts/package-*.sh)
- Workaround 2: use multiple config (release-please-example)
- Workaround 3: manually update manifest.json file to previous version
Get start
- Clone or Fork repository from GitHub:
git clone git@github.com/kc-workspace/kcws - Install Node.js using mise (or manual install based on mise.toml version)
- Install Pnpm:
corepack enable - Install dependencies:
pnpm install - Build package:
pnpm build:all(required for some internal commands)
Command cheat sheet
## Build all packages
pnpm build:all
## Test all packages
pnpm test:all
## Fix lint and format on all packages
pnpm fix:all
## Generate document html at ./docs folder
pnpm docs:all
## Clean built folders
pnpm clean
Packages
@kcconfigs/*
Shared configuration for KC's projects (personal)
@kcexamples/*
Example project for testing and Proof of concept
@kcinternals/*
Internal packages specifically for @kc*/* packages
@kcstyles/*
Cascading Style Sheets for KC's projects (personal)
@kctools/*
Command-line tools for KC's projects (personal)
@kctypes/*
TypeScript type definition utilities helper
@kcws/*
Generic packages for full-stack development (including both Frontend and Backend).