Skip to content

feat: support user pages and user contributions #1

@teal-bauer

Description

@teal-bauer

Summary

wikitool currently handles article content well but has no support for user-facing pages:

  • Benutzer:TealStarsong / User:TealStarsong — user pages
  • Spezial:Beiträge/TealStarsong / Special:Contributions/TealStarsong — contribution history

Trying wikitool -l de Benutzer:TealStarsong returns a 404 if no user page exists, with no way to distinguish "page doesn't exist" from "user doesn't exist." And there's no way to fetch contribution history at all.

Use Cases

  1. Fetch user page contentwikitool user TealStarsong or wikitool user TealStarsong --page
  2. List user contributionswikitool user TealStarsong --contribs with output like:
    39 edits across 29 pages (de.wikipedia)
      - Felix PC (2 edits, latest: 2026-02-14)
      - CUB (Computer) (1 edit, latest: 2026-02-14)
      ...
    
  3. User info/metadata — registration date, edit count, groups
  4. Cross-wikiwikitool user TealStarsong -l de vs -l en

Relevant APIs

Endpoint Purpose
action=query&list=usercontribs&ucuser=X Contribution list
action=query&list=users&ususers=X&usprop=editcount|registration|groups User metadata
action=parse&page=User:X User page content

Suggested CLI

wikitool user <username>              # user page content (like `get`)
wikitool user <username> --contribs   # contribution history
wikitool user <username> --info       # metadata (edit count, registration, groups)

All should respect -l / --lang and -o / --output json.

Context

Ran into this while trying to review my own edit history across de/en Wikipedia. Ended up falling back to raw curl against the API, which works but defeats the purpose of having a CLI tool.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions