An open API service indexing awesome lists of open source software.

https://github.com/lamngockhuong/userjs

Userscript store
https://github.com/lamngockhuong/userjs

tampermonkey-script userscript

Last synced: 1 day ago
JSON representation

Userscript store

Awesome Lists containing this project

README

          


UserJS Store

UserJS Store


CI
Deploy
License: MIT
TypeScript
Vue
Website


A personal userscript hosting platform built with Vue 3 and Vite.

Live Site ยป

## Preview

### Home Page

| Light Mode | Dark Mode |
| ----------------------------------------- | --------------------------------------- |
| ![Home Light](docs/images/home-light.png) | ![Home Dark](docs/images/home-dark.png) |

### Script Detail

| Code Preview | Documentation |
| -------------------------------------------- | --------------------------------------------- |
| ![Code Preview](docs/images/script-code.png) | ![Documentation](docs/images/script-docs.png) |

### Bookmarks

![Bookmarks](docs/images/bookmarks.png)

## Features

- Browse and install userscripts
- Fuzzy search with Fuse.js
- Category filtering
- Script version history from GitHub commits
- Syntax-highlighted code preview with Shiki
- External bookmarks collection
- Dark mode support
- Dynamic page titles per route
- Keyboard shortcuts (/, Shift+G, Shift+B, Shift+D)

## Tech Stack

- Vue 3 (Composition API)
- Vite 7
- TypeScript
- Tailwind CSS v4
- Vue Router (hash mode)
- Fuse.js (fuzzy search)
- Shiki (syntax highlighting)
- Biome (linting)
- Prettier (markdown formatting)

## Development

```bash
# Install dependencies
pnpm install

# Start dev server
pnpm dev

# Build for production
pnpm build

# Type check
pnpm type-check

# Lint code
pnpm lint

# Auto-fix lint issues
pnpm lint:fix

# Format all files
pnpm format
```

## Adding Scripts

1. Add `.user.js` files to `scripts//`
2. Optionally add `.md` file with same name for documentation
3. Run `pnpm build` to regenerate the index
4. Scripts are auto-indexed with metadata from userscript headers

## Local Testing

1. Start dev server: `pnpm dev`
2. Create dev wrapper: `scripts//.dev.user.js`
3. Install wrapper in Tampermonkey with `@require http://localhost:5173/scripts/...`
4. Edit โ†’ Save โ†’ Refresh target page

See [docs/userscript-local-testing.md](docs/userscript-local-testing.md) for details.

## License

MIT