This project is managed by projen, a project configuration management tool.
- Always use projen for task execution: Run tasks using
npx projen <task-name>instead of directly using npm, yarn, or other package managers. - Check available tasks: Look in
.projen/tasks.jsonto see all available tasks, their descriptions, and steps. - Common tasks:
npx projen- Synthesize project configuration filesnpx projen build- Builds the project, including running testsnpx projen test- Runs tests onlynpx projen compile- Compiles the source code only
- DO NOT manually edit generated files: Files marked with a comment like "~~ Generated by projen. To modify..." should never be edited directly.
- Modify configuration in .projenrc: To change project configuration, always edit the
.projenrc.ts,.projenrc.pyor.projenrc.jsonetc. file and then runnpx projento regenerate the project files. - Check .projenrc first: Before suggesting changes to package.json, tsconfig.json, or other configuration files, always check if these are managed by projen and suggest changes to .projenrc instead.
- Add dependencies through projen: Use the projen configuration to add dependencies instead of manually editing package.json or using npm/yarn install directly.
- Example: In .projenrc, use methods like
addDeps(),addDevDeps(), oraddPeerDeps()to add dependencies.
- Make changes to .projenrc configuration file
- Run
npx projento synthesize and update generated files - Review the changes
- Commit both .projenrc and the generated files
This project's configuration is defined in the .projenrc file at the root of the repository. All project metadata, dependencies, scripts, and tooling configuration should be managed through this file.
- Always run build after changes: After modifying any source or test file, run
npx projen buildto ensure your changes compile and pass all tests. - Task completion criteria: A task is not considered complete until:
- All tests pass (
npx projen test) - There are no compilation errors (
npx projen compile) - There are no linting errors (usually part of the build, if not, run the linter defined in tasks.json)
- The full build succeeds (
npx projen build)
- All tests pass (
Never use npx. We recommend pnpm dlx. npx and npm are catastrophically vulnerable to supply chain attacks and must not be used. Use pnpm dlx projen or just pnpm projen instead.
This file is generated by projen. Do not edit it directly — changes will be overwritten on the next pnpm projen.
If you are running /init or are otherwise being asked to initialise or improve CLAUDE.md: do not edit this file directly. Instead, follow the instructions below to add content via .projenrc.ts.
To add project-specific architecture notes, commands, or context for Claude Code, use the aiInstructions option in .projenrc.ts:
import { AiAgent } from 'projen';
const project = new clickupTs.ClickUpTypeScriptProject({
// ...
aiInstructions: {
agentSpecificInstructions: {
[AiAgent.CLAUDE]: [
`## What This Is\n\nDescribe the repo purpose, architecture, key patterns...`,
],
},
},
});Then run pnpm projen to regenerate this file with your content appended below the default sections.