Dragology is a library for making high-quality, novel drag-and-drop interfaces.
The best explanation of the ideas behind Dragology can be found at Declarative Dragging. This README focuses on getting you started using the library itself.
npm install dragology
Or use your package manager of choice.
While we have not yet prepared documentation for Dragology, we have other resources which might be enough to get you going:
- Dragology is based on some new concepts: model-driven and composable dragging. We suggest starting with the Declarative Dragging homepage and checking out videos / PDFs from there.
examples/consumer, in this repository, is a self-contained example of importing and using Dragology in a Vite project. We hope it helps you get started.- We have a lot of demos. You can play with them here and then look in
src/demosto see how they're built. docs/AGENTS.mdis written by LLMs, intended for LLMs working with the Dragology library. While we regret offering you slop in lieu of actual documentation, it's probably better than nothing.
To work on Dragology itself (not necessary to use it as a library!), clone this repo and run:
pnpm install
pnpm run devThen open http://localhost:5173 (or whatever the CLI output suggests) to view the Vite dev server with auto-refreshing demos.
AGENTS.md (in the root directory) has some helpful pointers on navigating the development process in this repo, if you can stomach the indignity of being talked at like an LLM.