Skip to content

Commit 8f1dcc7

Browse files
author
Justin Kimbrell
committed
docs: updated docs
1 parent b78b244 commit 8f1dcc7

File tree

10 files changed

+138
-266
lines changed

10 files changed

+138
-266
lines changed

README.md

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,49 @@ This monorepo utilizes [VitePress](https://vuejs.github.io/vitepress/v1/) for de
2525
```bash
2626
pnpm docs:dev
2727
```
28-
This will open VitePress on `localhost:5173`.
28+
This will open VitePress on `localhost:5173`.
29+
30+
## Versioning
31+
32+
Each package is independently versioned using strict [semantic versioning](https://semver.org/). The monorepo uses [Changesets](https://akinoccc.github.io/changesets/) to manage versions and changelogs for all packages independently. When a package introduces a change, only that package receives a version bump and other packages remain unaffected.
33+
34+
### Creating a Changeset
35+
After making changes to one or more packages, create a changeset to document what changed:
36+
37+
::: code-group
38+
```bash [pnpm]
39+
pnpm changeset
40+
```
41+
42+
```bash [yarn]
43+
yarn changeset
44+
```
45+
:::
46+
47+
This interactive command will:
48+
49+
1. Ask which packages changed - Select the packages you modified (use spacebar to select, enter to confirm)
50+
2. Ask for version bump type - Choose the semantic version bump for each package:
51+
- major - Breaking changes (e.g., removing a prop, changing API)
52+
- minor - New features (e.g., adding a new prop, new functionality)
53+
- patch - Bug fixes (e.g., fixing a rendering issue)
54+
3. Ask for a summary - Write a brief description of the change (this appears in the changelog)
55+
56+
### Example CLI Workflow
57+
58+
```bash
59+
🦋 Which packages would you like to include?
60+
◉ @vue-interface/input-field ← Select this package (press space)
61+
◯ @vue-interface/btn
62+
◯ @vue-interface/form-control
63+
64+
🦋 What kind of change is this for @vue-interface/input-field?
65+
major (breaking change)
66+
minor (new feature)
67+
❯ patch (bug fix) ← Select this option (press space)
68+
69+
🦋 Please enter a summary:
70+
Fix styling error when input is disabled
71+
```
72+
73+
The Changesets CLI then generates a markdown file in the .changeset/ directory with a random name (e.g., cool-lions-dance.md).

docs/.vitepress/config.mts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function generatePackagesSidebar() {
1515
for (const line of lines) {
1616
const indent = line.match(/^\s*/)?.[0].length ?? 0
1717
const [, text, link] = line.match(/\[([^\]]+)\]\(([^)]+)\)/) || []
18-
const item: any = { text: text || line.replace(/^\s*-\s*/, '').trim(), ...(link && { link }) }
18+
const item: any = { text: text || line.replace(/^\s*-\s*/, '').trim(), ...(link && { link: link.replace(/\/packages\/([^\/]+)\/docs\/(.+)/, '/packages/$2') }) }
1919

2020
while (indent <= stack[stack.length - 1].indent) stack.pop()
2121
stack[stack.length - 1].items.push(item)
@@ -32,7 +32,9 @@ export default defineConfig({
3232
srcExclude: ['**/node_modules/**', '**/dist/**'],
3333

3434
rewrites: {
35-
'docs/index.md': 'index.md'
35+
'docs/:slug*': ':slug*',
36+
// 'packages/:pkg/docs/:pkg.md': 'packages/:pkg',
37+
'packages/:pkg/docs/:slug*': 'packages/:slug*',
3638
},
3739

3840
vite: {

docs/about.md

Lines changed: 14 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,23 @@
1-
# Vue Interface
1+
# Why Vue Interface?
22

3-
This is a monorepo for the [components](/docs/packages) of [Vue Interface](https://github.com/vue-interface). Components are organized in packages. The purpose of this monorepo is to provide a convenient and efficient way to develop and maintain UI components that are dependent on each other without relying on symlinks and other hacks that provide less than optimal development experiences. The goal is provide a collection of CLI tools so you can develop, version and publish for individual packages.
3+
**Vue Interface** is the solid foundation for your next masterpiece—built for speed, performance, and stunning design. We empower you to build exactly what you envision without fighting the library.
44

5-
## Developing
5+
## 🚀 Built for the Future
66

7-
To start developing in the mono repo run the following commands. `pnpm install` should be ran the first time, after anything package.json updates or when adding another submodule.
7+
### Modular by Design
8+
Install strictly what you use. Our scoped, independent packages keep your application lean and fast.
89

9-
```bash
10-
pnpm install
11-
pnpm dev
12-
```
10+
### Tailwind Native
11+
Built on **Tailwind CSS v4**. Override styles and extend components instantly using the utility classes you know and love.
1312

14-
## Versioning
13+
### TypeScript First
14+
Written in **TypeScript** from the ground up for first-class type inference and a confident, error-free developer experience.
1515

16-
Each package is independently versioned using strict [semantic versioning](https://semver.org/). The monorepo uses [Changesets](https://akinoccc.github.io/changesets/) to manage versions and changelogs for all packages independently. When a package introduces a change, only that package receives a version bump and other packages remain unaffected.
16+
### Accessible & Inclusive
17+
Inclusive by default. We follow **WAI-ARIA** best practices, ensuring support for keyboard navigation and screen readers.
1718

18-
### Creating a Changeset
19-
After making changes to one or more packages, create a changeset to document what changed:
19+
---
2020

21-
::: code-group
22-
```bash [pnpm]
23-
pnpm changeset
24-
```
21+
### Ready for your next project?
2522

26-
```bash [yarn]
27-
yarn changeset
28-
```
29-
:::
30-
31-
This interactive command will:
32-
33-
1. Ask which packages changed - Select the packages you modified (use spacebar to select, enter to confirm)
34-
2. Ask for version bump type - Choose the semantic version bump for each package:
35-
- major - Breaking changes (e.g., removing a prop, changing API)
36-
- minor - New features (e.g., adding a new prop, new functionality)
37-
- patch - Bug fixes (e.g., fixing a rendering issue)
38-
3. Ask for a summary - Write a brief description of the change (this appears in the changelog)
39-
40-
### Example CLI Workflow
41-
42-
```bash
43-
🦋 Which packages would you like to include?
44-
◉ @vue-interface/input-field ← Select this package (press space)
45-
◯ @vue-interface/btn
46-
◯ @vue-interface/form-control
47-
48-
🦋 What kind of change is this for @vue-interface/input-field?
49-
major (breaking change)
50-
minor (new feature)
51-
❯ patch (bug fix) ← Select this option (press space)
52-
53-
🦋 Please enter a summary:
54-
Fix styling error when input is disabled
55-
```
56-
57-
The Changesets CLI then generates a markdown file in the .changeset/ directory with a random name (e.g., cool-lions-dance.md).
58-
59-
## Publishing
60-
61-
The monorepo uses GitHub Actions with Changesets to automatically publish packages to npm. The workflow is fully automated and handles versioning, changelog generation, and publishing. Ensure the following exists in the workspace in `.github/workflows/release.yaml` and Github actions will do the rest.
62-
63-
```yaml
64-
release:
65-
name: Release
66-
runs-on: ubuntu-latest
67-
steps:
68-
- name: Checkout Repo
69-
uses: actions/checkout@v4
70-
with:
71-
fetch-depth: 0
72-
- name: Setup Node.js
73-
uses: actions/setup-node@v4
74-
with:
75-
node-version: 22
76-
cache: pnpm
77-
- name: Install Dependencies 🔌
78-
run: pnpm install --frozen-lockfile
79-
- name: Run Tests
80-
run: pnpm vitest run --coverage
81-
- name: Build Packages
82-
run: pnpm build
83-
- name: Create Release Pull Request or Publish to npm 🪧
84-
id: changesets
85-
uses: changesets/action@v1
86-
with:
87-
publish: pnpm release
88-
version: pnpm version
89-
commit: "chore: version bump from changesets"
90-
env:
91-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
92-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
93-
```
23+
[Get Started with Vue Interface](/docs/getting-started)

docs/api-examples.md

Lines changed: 0 additions & 49 deletions
This file was deleted.

docs/getting-started.md

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,54 @@
11
# Getting Started
22

3+
Vue Interface is a modular collection of [Vue 3](https://vuejs.org/) components styled with [Tailwind CSS](https://tailwindcss.com/). Each component is published as a separate package, allowing you to install only what you need.
4+
5+
## Prerequisites
6+
7+
- **Vue**: ^3.3.4
8+
- **Tailwind CSS**: ^4.0.0
9+
310
## Installation
411

5-
Install using a package manager like [pnpm](https://pnpm.io), [yarn](https://yarnpkg.com/), or [npm](https://www.npmjs.com).
6-
12+
Since Vue Interface is modular, you install specific packages rather than a single library. For example, to install the Input Field and Form Control packages:
13+
714
::: code-group
815
```bash [pnpm]
9-
pnpm i vue-interface
16+
pnpm add @vue-interface/input-field @vue-interface/form-control
1017
```
1118

1219
```bash [yarn]
13-
yarn add vue-interface
20+
yarn add @vue-interface/input-field @vue-interface/form-control
1421
```
1522

1623
```bash [npm]
17-
npm i vue-interface
24+
npm install @vue-interface/input-field @vue-interface/form-control
1825
```
1926
:::
2027

21-
## Basic Usage
28+
Be sure to also install any peer dependencies if warned by your package manager.
29+
30+
## Usage
31+
32+
### Importing Components
33+
34+
Import the component directly from the package in your Vue files.
35+
36+
```vue
37+
<script setup>
38+
import { InputField } from '@vue-interface/input-field';
39+
</script>
40+
41+
<template>
42+
<InputField name="example" label="Example Input" />
43+
</template>
44+
```
45+
46+
### Styling
47+
48+
The components rely on Tailwind CSS for styling. You must import the CSS file provided by each package. This ensures that the component's specific Tailwind classes and custom styles are applied.
49+
50+
```javascript
51+
import '@vue-interface/form-control/index.css';
52+
```
2253

23-
@todo - Add some basic usage here.
54+
Alternatively, if you are using a bundler that supports CSS injection or if you want to include all styles globally, consult the specific package documentation for the best approach.

docs/index.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,24 @@
11
---
2-
# https://vitepress.dev/reference/default-theme-home-page
32
layout: home
43

54
hero:
65
name: "Vue Interface"
7-
# text: ""
8-
tagline: Complete documentation for the Vue Interface component library
6+
tagline: A collection of scoped, styled, and accessible Vue 3 components built with Tailwind CSS v4.
97
actions:
108
- theme: brand
119
text: Getting Started
1210
link: /docs/getting-started
1311
- theme: alt
14-
text: About
15-
link: /docs/about
12+
text: View Packages
13+
link: /docs/packages
1614

1715
features:
18-
- title: Feature A
19-
details: Lorem ipsum dolor sit amet, consectetur adipiscing elit
20-
- title: Feature B
21-
details: Lorem ipsum dolor sit amet, consectetur adipiscing elit
22-
- title: Feature C
23-
details: Lorem ipsum dolor sit amet, consectetur adipiscing elit
16+
- title: 📦 Modular Architecture
17+
details: Install only what you need. Each component is a separate scoped package (e.g., @vue-interface/modal).
18+
- title: 🎨 Tailwind CSS v4
19+
details: Built with the latest Tailwind CSS for utility-first styling and easy customization.
20+
- title: 🛡️ TypeScript Ready
21+
details: Written in TypeScript for excellent type safety and developer experience.
22+
- title: ♿ Accessible
23+
details: Components are designed with accessibility in mind, following WAI-ARIA practices.
2424
---
25-

0 commit comments

Comments
 (0)