# blueprint **Repository Path**: mirrors_palantir/blueprint ## Basic Information - **Project Name**: blueprint - **Description**: A React-based UI toolkit for the web - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-08-18 - **Last Updated**: 2026-05-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# [Blueprint](http://blueprintjs.com/) [](https://circleci.com/gh/palantir/workflows/blueprint)
Blueprint is a React-based UI toolkit for the web.
It is optimized for building complex, data-dense web interfaces for _desktop applications_ which run in modern browsers.
This is not a mobile-first UI toolkit.
[**Read the introductory blog post ▸**](https://medium.com/@palantir/scaling-product-design-with-blueprint-25492827bb4a)
[**View the full documentation ▸**](http://blueprintjs.com/docs)
[**Try it out on CodeSandbox ▸**](https://codesandbox.io/p/sandbox/blueprint-v6-react-18-template-lc69nt)
[**Read frequently asked questions (FAQ) on the wiki ▸**](https://github.com/palantir/blueprint/wiki/Frequently-Asked-Questions)
## Changelog
Blueprint's change log and migration guides for major versions live on the repo's
[Github wiki](https://github.com/palantir/blueprint/wiki/6.x-Changelog).
## Packages
This repository contains multiple projects in the `packages/` directory that fall into 3 categories:
### Libraries
These are the component libraries we publish to NPM.
- [](https://www.npmjs.com/package/@blueprintjs/colors) – Design system color variables.
- [](https://www.npmjs.com/package/@blueprintjs/core) – Core styles & components.
- [](https://www.npmjs.com/package/@blueprintjs/datetime) – Components for interacting with dates and times.
- [](https://www.npmjs.com/package/@blueprintjs/icons) – APIs for displaying icons (contains both SVG and icon font implementations).
- [](https://www.npmjs.com/package/@blueprintjs/select) – Components for selecting items from a list.
- [](https://www.npmjs.com/package/@blueprintjs/table) – Scalable & interactive spreadsheet-like table component.
### Applications
These are hosted on GitHub Pages as static web applications:
- `docs-app` – Documentation site at blueprintjs.com/docs
- `landing-app` – Landing page at blueprintjs.com
These are used as development playground environments:
- `demo-app` – demo page that shows many components all on the same page in light and dark themes
- `table-dev-app` – demo page that supports manual testing of all table features
### Build tooling
These packages define development dependencies and contain build configuration. They adhere to the standard NPM package layout, which allows us to keep clear API boundaries for build configuration and isolate groups of `devDependencies`. They are published to NPM in order to allow other Blueprint-related projects to use this infrastructure outside this monorepo.
- [](https://www.npmjs.com/package/@blueprintjs/docs-theme) – Documentation theme for [Documentalist](https://github.com/palantir/documentalist) data.
- [](https://www.npmjs.com/package/@blueprintjs/eslint-config) – ESLint configuration used in this repo and recommended for Blueprint-related projects.
- [](https://www.npmjs.com/package/@blueprintjs/eslint-plugin) – implementations for custom ESLint rules which enforce best practices for Blueprint usage.
- [](https://www.npmjs.com/package/@blueprintjs/node-build-scripts) – various utility scripts for building Sass sources, linting Sass & TypeScript, generating Sass & Less variables, and optimizing icon SVGs.
- [](https://www.npmjs.com/package/@blueprintjs/stylelint-plugin) – implementations for custom stylelint rules which enforce best practices for Blueprint usage.
- [](https://www.npmjs.com/package/@blueprintjs/test-commons) – various utility functions used in Blueprint test suites.
- [](https://www.npmjs.com/package/@blueprintjs/webpack-build-scripts) – Webpack build configuration for Blueprint projects.
## Contributing
Looking for places to contribute to the codebase?
First read the [contribution guidelines](https://github.com/palantir/blueprint/blob/develop/CONTRIBUTING.md),
then [check out the "help wanted" label](https://github.com/palantir/blueprint/labels/help%20wanted).
## Development
[pnpm](https://pnpm.io) manages third-party and inter-package dependencies in this monorepo.
Builds are orchestrated via [Nx's task runner](https://nx.dev/getting-started/intro) and NPM scripts.
[Lerna-Lite](https://github.com/lerna-lite/lerna-lite) is used to prepare releases.
**Prerequisites**: Node.js v24.11+ (see version specified in `.nvmrc`), pnpm v10.x (see version specified in `package.json`)
### One-time setup
First, ensure you have `nvm` ([Node Version Manager](https://github.com/nvm-sh/nvm)) installed.
After cloning this repo, run:
1. `nvm use` to use the supported Node version for Blueprint development.
2. `corepack enable` to activate [pnpm](https://pnpm.io/installation) as the Node package manager.
3. `pnpm install` to install all dependencies for the monorepo.
1. If seeing an error like "Error when performing the request ...", you may be using a VPN that needs to be disabled to install the dependencies.
4. If running on Windows:
1. `npm install -g windows-build-tools` to install build tools globally
2. Ensure `bash` is your configured script-shell by running: