Skip to content

hyperpolymath/zoterho

Zoterho

AGPL-3.0 Palimpsest :toc: macro :toc-title: Contents :toclevels: 3 :icons: font :source-highlighter: rouge

Zotero ecosystem — Rhodium-compliant tools for bibliography management

Note

Project Status: Specification & Architecture Phase

This repository defines the Zoterho ecosystem architecture and aggregates component repositories as submodules. Individual component implementations are developed in their respective repositories.

Overview

Zoterho is a curated ecosystem of tools extending Zotero, the open-source reference manager. All components adhere to Rhodium compliance standards and the Hyperpolymath language policy (ReScript, Rust, Deno — no TypeScript/Node.js).

Design Principles

  • Rhodium Compliance — Follows the Rhodium specification for reproducibility and portability

  • FOSS-First — MIT/Palimpsest licensing; no proprietary dependencies

  • Modern Stack — ReScript for type-safe UI logic, Rust for performance-critical paths

  • Multi-Forge — Automatic synchronization to GitHub, GitLab, and Bitbucket

Components

Component Description Status

zoterho-template

Rhodium-compliant Zotero configuration template. Provides standardized settings, translators, and styles.

📋 Planned

zotpress

WordPress plugin for embedding Zotero bibliographies. Fork with Rhodium compliance and modern PHP.

📋 Planned

zotero-voyant-export

Export adapter for Voyant Tools text analysis. Transforms Zotero collections into Voyant-compatible corpora.

📋 Planned

zotero-rescript-templater

ReScript-based template generator for Zotero plugins. Scaffolds new Zotero 7+ plugins following best practices.

📋 Planned

zotero-nsai

NSAI (Non-Synthetic Authorship Indicator) content detection. Flags AI-generated content in bibliographic entries.

📋 Planned

Quick Start

Clone with submodules:

git clone --recursive https://github.com/hyperpolymath/zoterho.git
cd zoterho

Initialize submodules if cloned without --recursive:

git submodule update --init --recursive

Development Setup

This project uses just as its task runner (Makefile is banned per Hyperpolymath policy).

# Install just (if not already installed)
cargo install just

# Setup development environment
just setup

# View all available commands
just --list

# Run policy compliance check
just check-policy

Roadmap

Phase 1: Foundation

  • ❏ Define Rhodium compliance specification for Zotero tools

  • ❏ Establish shared build infrastructure (Deno + Rust toolchain)

  • ❏ Create zoterho-template with baseline Zotero configuration

  • ❏ Set up cross-component testing framework

Phase 2: Core Integrations

  • ❏ Implement zotpress WordPress plugin (PHP 8.2+, modern standards)

  • ❏ Build zotero-voyant-export for text analysis workflows

  • ❏ Develop zotero-rescript-templater plugin scaffolding

Phase 3: Advanced Features

  • ❏ Ship zotero-nsai content authenticity detection

  • ❏ Add MCP (Model Context Protocol) integration for AI-assisted bibliography

  • ❏ Create unified CLI for ecosystem management

Phase 4: Ecosystem Maturity

  • ❏ Publish to Zotero plugin registry

  • ❏ WordPress.org plugin submission for zotpress

  • ❏ Comprehensive documentation site

  • ❏ Community contribution guidelines

Repository Structure

zoterho/
├── .claude/              # AI assistant configuration
│   └── CLAUDE.md         # Language policy & instructions
├── .github/
│   ├── workflows/
│   │   ├── instant-sync.yml    # Forge propagation trigger
│   │   ├── mirror.yml          # GitLab/Bitbucket mirroring
│   │   ├── codeql-analysis.yml # Security scanning
│   │   ├── semgrep.yml         # Static analysis
│   │   └── policy-check.yml    # Language policy enforcement
│   ├── dependabot.yml    # Dependency updates
│   └── FUNDING.yml       # Sponsorship
├── scripts/
│   ├── check-policy.sh   # Policy enforcement script
│   └── pre-commit        # Git pre-commit hook
├── zoterho-template/     # [submodule] Zotero config template
├── zotpress/             # [submodule] WordPress integration
├── zotero-voyant-export/ # [submodule] Voyant Tools export
├── zotero-rescript-templater/ # [submodule] Plugin scaffolding
├── zotero-nsai/          # [submodule] AI content detection
├── .gitmodules           # Submodule definitions
├── deno.json             # Deno configuration
├── justfile              # Task runner (replaces Makefile)
├── Mustfile.ncl          # Nickel contract for policy enforcement
├── MIT_LICENSE.txt       # License
└── README.adoc           # This file

Technology Stack

Per the Hyperpolymath language policy:

Layer Technology

Plugin Logic

ReScript (compiles to JavaScript for Zotero 7+)

Performance-Critical

Rust (WASM for browser, native for CLI)

Runtime

Deno (replaces Node.js)

WordPress Plugin

PHP 8.2+ (exception for WordPress ecosystem)

Configuration

Nickel / Guile Scheme

Package Management

Guix (primary), Nix (fallback), Deno (JS deps)

Contributing

Contributions welcome once component repositories are initialized. See individual component READMEs for specific guidelines.

Development Prerequisites

  • Deno 2.0+

  • Rust (latest stable)

  • Zotero 7+ (for plugin testing)

License

Dual-licensed under:

  • MITMIT_LICENSE.txt

  • Palimpsest-0.8 — Copyfarleft license for commons-based reciprocity

About

Zotero workflow and research tools

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 3

  •  
  •  
  •