Skip to main content Skip to docs navigation

Installation

Bravo installs exactly like Bootstrap. Use it alongside your existing Bootstrap setup for testing, or as a complete drop-in replacement.

Same workflow, same tools, better results.

# Install like any Bootstrap project
npm install @appitude/bravo
# yarn add @appitude/bravo
# pnpm add @appitude/bravo
// One line change in your SCSS
@import "@appitude/bravo/scss/bravo";
// Instead of: @import "bootstrap/scss/bootstrap";

Everything else stays the same. Bravo includes Bootstrap plus all enhancements.

JavaScript (when you want enhanced behaviors)

Bravo's JavaScript adds interactive tooltips, programmatic modals, loading states, and auto-initialization. The SCSS works fine without it.

Individual imports (tree-shakeable)

import Modal from '@appitude/bravo/js/modal';
import Tooltip from '@appitude/bravo/js/tooltip';

Component bundle (when you need multiple components)

import { Modal, Tooltip, Button } from '@appitude/bravo/js';
// All component classes for manual initialization

Easy testing (no code changes)

Want to try Bravo without touching your existing Bootstrap imports? Use bundler aliases to redirect them:

Vite

// vite.config.js
import { defineConfig } from 'vite';
import path from 'path';

export default defineConfig({
  resolve: {
    alias: {
      'bootstrap/scss': path.resolve(__dirname, 'node_modules/@appitude/bravo/scss'),
    }
  }
});

Webpack

// webpack.config.js
const path = require('path');

module.exports = {
  resolve: {
    alias: {
      'bootstrap/scss': path.resolve(__dirname, 'node_modules/@appitude/bravo/scss'),
    }
  }
};

Now your existing @import "bootstrap/scss/bootstrap" lines automatically use Bravo without editing files.