npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

rechtspilot-ui

v1.2.6

Published

Rechtspilot UI Library

Readme

Rechtspilot UI Library

A React component library for building user interfaces primarily for the Rechtspilot platform. This library provides reusable UI components that follow a consistent design system.

Installation

# Recommended
pnpm add rechtspilot-ui@latest
# or
npm install rechtspilot-ui@latest
# or
yarn add rechtspilot-ui@latest

Usage

Web Applications

import { Button } from 'rechtspilot-ui';
import { UserCircle } from 'rechtspilot-ui/icons';

function App() {
  return (
    <div>
      <Button variant="primary">Click me</Button>
      <UserCircle size={24} />
    </div>
  );
}

React Native Applications

Due to Metro bundler limitations with subpath imports, use direct paths for icons:

import { Button } from 'rechtspilot-ui';
import { UserCircle } from 'rechtspilot-ui/dist/icons.native.es.js';

function App() {
  return (
    <View>
      <Button variant="primary">Click me</Button>
      <UserCircle size={24} />
    </View>
  );
}

Development

1. Clone repository

git clone https://github.com/rechtspilot/rechtspilot-ui-library.git
cd rechtspilot-ui-library

2. Install dependencies

pnpm install

3. Run Storybook locally

pnpm sb

Use UI Library Locally

You can link the library locally to test changes in rechtspilot-chat-frontend with instant HMR — no builds or npm publishes needed.

# In rechtspilot-chat-frontend
pnpm link:ui            # enable (assumes ../rechtspilot-ui-library exists)
pnpm dev                # start dev server — edits here reflect instantly
pnpm unlink:ui          # revert to npm package when done

A pre-commit hook in rechtspilot-chat-frontend blocks commits while linking is active. See docs/LOCAL_UI_DEVELOPMENT.md in that repo for details.

Implementing components

  1. Create a new folder in src/components/[ComponentName]

  2. Inside the folder create [ComponentName].tsx - main component implementation

  3. If more components are related to the main one, they should be inside the relative folder

  4. Make the component accessible from the library by exporting it inside src/index.ts

    // Example
    export { default as ComponentName } from './components/ComponentName/ComponentName';

Implementing icons

  1. Create a new file in src/icons/[IconName].tsx

  2. Implement the SVG icon as a react component

  3. Export icon in src/icons/index.ts

    // Example
    export { default as IconName } from '@/icons/IconName';

Documenting components

All components should be documented with Storybook stories and MDX documentation.

Creating stories

  1. Create a story file in src/docs/stories/[ComponentName].stories.tsx
import type { Meta, StoryObj } from '@storybook/react';

import ComponentName from '@/components/ComponentName/ComponentName';

const meta: Meta<typeof ComponentName> = {
  component: ComponentName,
  // Optional: tags, parameters, etc.
};

export default meta;

type Story = StoryObj<typeof ComponentName>;

export const Primary: Story = {
  args: {
    // Component props
  },
};

// Add more variations if needed
  1. For complex components, create MDX file in src/docs/[ComponentName].mdx
import { Meta, Story } from '@storybook/blocks';

import * as ComponentNameStories from './stories/ComponentName.stories.tsx';

<Meta of={ComponentStories} />

# ComponentName

Brief description of what the component does and when to use it.

## Usage

Describe how should the component be used with examples

Releasing

When a feature branch is merged into main, the GitHub Action will automatically publish to npm using trusted publishing (no tokens required).

Before merging, update the package version:

pnpm version patch