Charpente manages your CI for you. We automatically set up jobs based on your npm packages, and provide useful feedback. No more trying to parse cryptic logs to understand why a PR is red!
✓ Cloning the repo - 384ms✓ Installing the dependencies - 14s✓ Configuring the run - 11ms╭─────────────────────╮ │ @charpente/web │ │ │ │ lint │ │ ✓ prettier - 443ms │ │ ✓ typescript - 23ms │ │ ✓ eslint - 1s │ │ build │ │ ✓ vite - 3s │ │ │ ╰─────────────────────╯╭───────────────────╮ │ @charpente/server │ │ │ │ generate │ │ ✓ prisma - 1s │ │ lint │ │ ✓ typescript - 2s │ │ ✓ eslint - 1s │ │ build │ │ ✓ typescript - 8s │ ╰───────────────────╯╭──────────────────────╮ │ @charpente/landing │ │ │ │ lint │ │ ✓ prettier - 654ms │ │ ✓ typescript - 449ms │ │ │ │ │ │ │ │ │ ╰──────────────────────╯╭────────────────────╮ │ @charpente/cli │ │ │ │ lint │ │ ✘ typescript - 14s │ │ ✘ eslint - 4s │ │ build │ │ ✓ typescript - 17s │ │ │ │ │ ╰────────────────────╯Issuesapps/cli/node_modules/ink-spinner/build/index.d.ts:15,44Cannot find namespace 'JSX'.apps/cli/src/interactive/Jobs.tsx:90,5Argument of type 'string | null' is not assignable to parameter of type 'string'.Type 'null' is not assignable to type 'string'.packages/core/src/execute/vite.ts:2,8Module '"node_modules/vite/dist/node/index"' has no default export.apps/cli/src/interactive/Jobs.tsx:81,3'startTime' is defined but never used.
No setup, Charpente handles everything.
Processes are parallelized as efficiently as possible.
Charpente saves the data of each run so you can have an overview of your CI.
Charpente lets you easily spot flaky tests thanks yo the history.
Only 20 lines of Github Action are necessary to get going.
CI issues are presented in context, through comments in your PRs.