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

scriptory

v0.0.5

Published

Internal documentation tool with Notion-like editor

Readme

scriptory 📚

Advanced Internal Documentation Platform with Notion-like Editor, Team Collaboration, and Version Control

Version License Node

scriptory is a modern, self-hosted documentation platform designed for development teams. It combines the power of a Notion-like block editor with advanced features like version control, team collaboration, and code integration.

✨ Features

🎨 Notion-like Block Editor

  • Block-based editing with support for multiple content types
  • Slash commands (/) for quick block creation
  • Drag & drop block reordering
  • Rich text formatting: Headings, lists, code blocks, quotes, and more
  • To-do lists with checkboxes
  • Code blocks with syntax highlighting
  • Real-time preview mode

👥 Team Collaboration

  • Comments & Discussions on documents
  • Nested replies for threaded conversations
  • Inline comments on specific code lines
  • @mentions support (coming soon)
  • Team activity dashboard showing recent edits, comments, and updates
  • Real-time collaboration indicators

🔄 Version Control

  • Auto-save versions on every edit
  • Version history viewer
  • Restore previous versions with one click
  • Diff viewer to compare changes
  • Commit messages for manual saves
  • Keep last 20 versions automatically

🎯 Developer-Friendly

  • Code file browser - Insert code snippets from your project
  • Syntax highlighting for 20+ languages
  • Deeplink support - Open files directly in your code editor
  • Templates - API docs, test cases, bug reports, team guides
  • Tag system for organization
  • Full-text search across all documents

🎨 Modern UI/UX

  • Beautiful dark mode with smooth transitions
  • Responsive design - works on desktop, tablet, and mobile
  • Keyboard shortcuts for power users
  • Command palette (⌘K / Ctrl+K) for quick navigation
  • Glassmorphism design with gradients and shadows
  • Accessible components using Radix UI primitives

📁 File Management

  • File uploads - Images, PDFs, documents
  • Drag & drop file support
  • Image preview in markdown
  • Attachment management

🚀 Quick Start

Installation

Quick Install

Linux/macOS/Git Bash:

curl -fsSL https://raw.githubusercontent.com/anandpilania/scriptory/main/scripts/install.sh | bash

Windows PowerShell:

iwr -useb https://raw.githubusercontent.com/anandpilania/scriptory/main/scripts/install.ps1 | iex

Using npm (Global Install):

npm install -g scriptory

Or clone and build:

git clone https://github.com/anandpilania/scriptory.git
cd scriptory
npm install
npm run build:frontend
npm link

Initialize Project

# Navigate to your project directory
cd /path/to/your/project

# Initialize scriptory
scriptory init

# Or with a template
scriptory init --template dev   # For developers
scriptory init --template qa    # For QA teams
scriptory init --template team  # For general teams

Start Server

# Start with default port (6767)
scriptory

# Or specify custom port
scriptory --port 8080

# Start without opening browser
scriptory --no-browser

The server will automatically open your browser to http://localhost:6767

📖 Usage Guide

CLI Commands

# Initialize a new project
scriptory init [--template <type>]

# Start the server
scriptory [--port <port>] [--no-browser]

# Configuration management
scriptory get <key>              # Get config value
scriptory set <key> <value>      # Set config value

# Version management
scriptory version                # Show current version
scriptory update                 # Update to latest version

# Coming soon
scriptory export [--format html|pdf|markdown]
scriptory search <query>

Configuration Keys

| Key | Description | Example | | ----------------- | --------------------------------------- | ----------------------- | | DEEPLINK_PREFIX | Prefix for opening files in your editor | vscode://file | | THEME | UI theme preference | light, dark, auto | | TEAM_NAME | Your team's name | Engineering Team |

Editor Features

Block Types

Type / to open the block menu:

  • Text - Regular paragraph
  • Heading 1-3 - # ## ### or /h1 /h2 /h3
  • Bullet List - /ul or -
  • Numbered List - /ol or 1.
  • To-do List - /todo or - [ ]
  • Code Block - /code or ```
  • Quote - /quote or >
  • Divider - /divider or ---

Keyboard Shortcuts

| Shortcut | Action | | ------------------------- | -------------------- | | ⌘/Ctrl + S | Save document | | ⌘/Ctrl + K | Open command palette | | ⌘/Ctrl + P | Toggle preview | | / | Open block menu | | Enter | New block | | Backspace (empty block) | Delete block | | ESC | Close dialogs |

Collaboration

Adding Comments:

  1. Click the "Comments" button in the toolbar
  2. Type your comment in the sidebar
  3. Press "Comment" to post

Replying to Comments:

  1. Click "Reply" on any comment
  2. Type your reply
  3. Click "Reply" button

Inline Code Comments:

  1. Select a code block or line
  2. Click the comment icon
  3. Add context-specific feedback

Templates

scriptory comes with pre-built templates:

Development Templates:

  • API Documentation - Endpoint specs, request/response examples
  • Architecture Docs - System design, diagrams
  • Technical Specs - Feature specifications

QA Templates:

  • Test Cases - Test scenarios, steps, expected results
  • Bug Reports - Issue tracking template
  • Test Plans - QA planning and coverage

Team Templates:

  • Meeting Notes - Structured meeting documentation
  • Team Guide - Onboarding and processes
  • Project Overview - High-level project information

🔧 Development

Prerequisites

  • Node.js >= 14.0.0
  • npm or yarn

Setup

# Clone repository
git clone https://github.com/anandpilania/scriptory.git
cd scriptory

# Install root dependencies
npm install

# Install frontend dependencies
cd frontend
npm install
cd ..

# Build frontend
npm run build:frontend

# Link for global use (optional)
npm link

Development Mode

# Terminal 1 - Backend
npm run dev:backend

# Terminal 2 - Frontend (hot reload)
cd frontend
npm run dev

Frontend dev server runs on http://localhost:3000 and proxies API calls to backend on port 6767.

Building

# Build frontend for production
npm run build:frontend

# Frontend build outputs to public/

📝 File Structure

Document Storage

your-project/
└── scriptory/
    ├── .uploads/           # Uploaded files
    ├── .versions/          # Version history
    │   └── {doc-id}/
    │       └── {timestamp}.json
    └── {document-id}/
        ├── config.json     # Document metadata
        ├── content.mdx     # Document content
        └── comments.json   # Comments data

Config File

Located at ~/.config/scriptory/config.json:

{
  "DEEPLINK_PREFIX": "vscode://file",
  "THEME": "dark",
  "TEAM_NAME": "Engineering Team",
  "initialized": true
}

🎯 Use Cases

For Development Teams

  • API Documentation - Document REST/GraphQL APIs
  • Technical Specs - Write detailed feature specifications
  • Architecture Docs - Document system design
  • Code Reviews - Comment on code snippets
  • Onboarding - Create team guides

For QA Teams

  • Test Cases - Document test scenarios
  • Bug Reports - Track issues with templates
  • Test Plans - Plan testing coverage
  • Release Notes - Document releases

For Product Teams

  • Feature Specs - Define product requirements
  • Meeting Notes - Collaborative note-taking
  • User Stories - Document user journeys
  • Roadmaps - Plan product direction

🔐 Security

  • Local-first - All data stored locally
  • No external services - Completely self-hosted
  • File access controls - Secure file operations
  • XSS protection - Sanitized markdown rendering

🤝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Coding Standards

  • Use ESLint configuration
  • Follow React best practices
  • Write meaningful commit messages
  • Add tests for new features

📄 License

MIT License - see LICENSE file for details

🙏 Acknowledgments

📞 Support

🗺️ Roadmap

  • [ ] Real-time collaboration with WebSockets
  • [ ] Export to PDF/HTML
  • [ ] Database support (PostgreSQL, MongoDB)
  • [ ] User authentication and permissions
  • [ ] Mobile apps (iOS, Android)
  • [ ] AI-powered documentation generation
  • [ ] Integration with Slack, Teams, Discord
  • [ ] Custom themes and branding
  • [ ] Plugin system
  • [ ] Advanced analytics

⭐ Star History

If you find scriptory useful, please consider giving it a star on GitHub!


Made with ❤️ by the scriptory Team

WebsiteDocumentationTwitter