Drupal is a registered trademark of Dries Buytaert

linkstash

No security coverage
View on drupal.org

LinkStash is a personal bookmarking tool for Drupal 11 that automatically fetches metadata, categorizes links by domain, and displays video embeds. Save links via bookmarklet or form with smart auto-tagging.

Development Status: v1.0.0-beta4 (Production Testing) — Feature Complete

This is an experimental AI-assisted module development project using Claude Sonnet 4.5 (Anthropic)

Features

Core Features:

  • Personal Link Management — Full CRUD operations with per-user ownership and access control
  • Automatic Metadata Fetching — Extracts title, description, and thumbnail from any URL with SSRF protection
  • Smart Auto-Categorization — 5 built-in domain-based rules (Video, Code, Social, Articles, Documentation)
  • Video Embeds — YouTube, Facebook Reels, and generic oEmbed support with responsive players
  • Browser Bookmarklet — One-click saving from any webpage with popup support
  • Search & Filter — List and detail views with exposed filters for tags, categories, status, and domain
  • Quality Assurance — 187 tests, 100% PHPCS compliance, PHPStan Level 1 clean, ~85% code coverage
  • Security — SSRF protection, XSS-safe rendering, RFC 1918 blocking, per-user isolation

Use Cases:

  • Developers saving code snippets and documentation
  • Content creators collecting reference materials
  • Researchers organizing article links
  • Anyone wanting a private, self-hosted bookmark manager with rich previews

Post-Installation

  1. Enable the module: drush en linkstash
  2. Clear cache: drush cr
  3. Grant permissions to authenticated users:
    • Navigate to /admin/people/permissions
    • Enable: create linkstash, view own linkstash, edit own linkstash, delete own linkstash
  4. Visit /linkstash/bookmarklet to install the bookmarklet in your browser
  5. Start stashing links! Click the bookmarklet on any page or visit /linkstash/add
  6. Browse your collection at /linkstash

Configuration:

  • Navigate to /admin/structure/linkstash/settings for module settings
  • Manage tags at /admin/structure/taxonomy/manage/linkstash_tags
  • Manage categories at /admin/structure/taxonomy/manage/linkstash_category
  • Configure field display at /admin/structure/linkstash/display
  • No additional configuration required for basic use

Additional Requirements

  • Drupal: 11.x
  • PHP: 8.3+
  • Database: MariaDB 10.11+ (SQLite support planned for v2)

Dependencies:

  • Link module (core)
  • Image module (core)
  • Taxonomy module (core)
  • Text module (core)
  • Pathauto — Auto-generate clean URLs for your stashed links
  • Views Bulk Operations — Bulk manage your LinkStashes
  • Better Exposed Filters — Enhanced filtering on the main list view

Similar projects

  • Flag — Bookmarking module, but LinkStash focuses on external URLs with metadata fetching
  • Node Bookmark — Node-based bookmarks; LinkStash is entity-based with richer media support
  • Bookmarks — Older module; LinkStash offers modern Drupal 11 architecture with auto-categorization

What makes LinkStash different: Automatic metadata fetching with SSRF protection, domain-based auto-tagging (coming soon), video embed support for multiple platforms, modern PHP 8.3 architecture with attribute-based plugins, and browser bookmarklet integration out of the box.

Development Status

Current Version: 1.0.0-beta4 (Production Testing)

Last Updated: February 8, 2026

Status: Phase v1 Complete — All 11 features implemented (100%)

Beta4 Milestone (February 2026):

  • Complete entity system with all fields and CRUD operations
  • 3 plugin systems: ContentFetcher, MediaProvider, CategoryRules
  • 5 built-in auto-categorization rules for common domains
  • Browser bookmarklet with popup and fallback support
  • List and detail views with video embed rendering
  • 187 tests (132 unit + 55 kernel) with ~85% coverage
  • 100% PHPCS compliance, PHPStan Level 1 clean
  • Comprehensive documentation (README, CHANGELOG, API docs)
  • Security hardening: SSRF protection, XSS fixes, access control

Architecture:

  • Modern PHP 8.3 with attribute-based plugin discovery
  • Service-based architecture with dependency injection
  • Security: SSRF protection, RFC 1918 blocking, XSS-safe rendering
  • Performance: Cached plugins, local thumbnail storage, Views integration

About This Project

This module is an experimental AI-assisted development project.

AI Development Details:

  • AI Model: Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)
  • Provider: Anthropic (https://www.anthropic.com)
  • Development Environment: Claude Code CLI tool

Project Goals:

  • Learn effective AI instruction techniques for Drupal development
  • Explore AI-assisted task management and planning workflows
  • Develop a production-ready Drupal module with AI collaboration
  • Meet drupal.org quality standards and release requirements
  • Document the AI development process for the community

Development Approach:

  • Human provides requirements, architecture decisions, and code review
  • AI assists with implementation, plugin patterns, and best practices
  • All code follows Drupal coding standards and security guidelines
  • Comprehensive documentation of learnings and patterns

This project serves as a case study in human-AI collaborative software development, demonstrating that AI can be an effective tool for learning and building production-quality Drupal modules when properly directed.

Supporting this Module

This module is currently in active development. Contributions, bug reports, and feature requests are welcome on the project's issue queue.

How to Contribute:

  • Report bugs and request features in the issue queue
  • Submit patches or pull requests
  • Test with different content types and URLs
  • Share feedback on the AI development approach

Community Documentation

Roadmap

v1 (Beta4 - Complete)

  • ✅ Complete entity system, CRUD, Views integration
  • ✅ Bookmarklet, auto-metadata, auto-categorization
  • ✅ Video embeds (YouTube, Facebook, oEmbed)
  • ✅ 187 tests, PHPCS compliance, security hardening
  • Released: February 2026

v2 (Planned) — Enhanced Features

  • Browser extension (Chrome, Firefox)
  • Import/export (JSON, CSV, HTML bookmarks)
  • Duplicate detection and link health checking
  • Collections (folders, groups, boards)
  • Full-text content archival
  • API endpoints for mobile apps

v3 (Future) — Advanced Capabilities

  • AI-powered auto-tagging and recommendations
  • Multi-site synchronization
  • Drupal Recipe for one-click setup
  • Social features (sharing, public collections)

Activity

Total releases
7
First release
Feb 2026
Latest release
1 week ago
Release cadence
3 days
Stability
0% stable

Release Timeline

Releases

Version Type Release date
1.0.0-beta7 Pre-release Feb 22, 2026
1.0.0-beta6 Pre-release Feb 14, 2026
1.0.0-beta5 Pre-release Feb 10, 2026
1.0.0-beta4 Pre-release Feb 9, 2026
1.0.0-beta3 Pre-release Feb 8, 2026
1.0.0-beta1 Pre-release Feb 8, 2026
1.0.x-dev Dev Feb 7, 2026