- mw init API_URL
- mw login
- mw logout
- mw local-reset — when you've somehow fucked up your local repository; should let you keep what you have downloaded, but reverts them to the most recent version, and also clears out the metadir as much as possible
- mw fetch [ --rv=DATESPEC ] PAGE_NAME
- mw fetch-category [ --rv=DATESPEC ] CATEGORY_NAME
- mw fetch-all [ --rv=DATESPEC ]
- mw update [ FILE ... ]
- mw add FILE ...
- mw delete FILE ...
- mw move OLD_FILE NEW_FILE
- mw protect FILE ...
- mw watch FILE ...
- mw unwatch FILE ...
History and repo status
log and blame are considered most important by Ian
- mw status [ FILE ... ]
- mw diff [ --rv=REV_ID ] [ FILE ... ]
- mw log FILE
- mw blame FILE
Committing / editing
- mw commit [ FILE ]
- mw undo REV_ID
- mw revert REV_ID
Media files have a text description as well as the actual file. Therefore we need separate download/upload commands for media files.
Repository directory layout
<repo>/ .mw/ config cat/ <folders with symlinks to pages in category> img/ <where stuff from the Media/File/Image namespaces go> <all pages -- subpages have slashes converted to exclamation points>
Things that would be rockin' but totally not needed
- Preview (if local, requires MediaWiki and deps to be installed, I guess -- and also doesn't handle extensions or templates on the wiki you're saving to)
- Or what about saving in your user space on a wiki, like User:Username/mw_test_XXXXXX (XXXXXX is a temporary ID), and providing a link to that? Or even opening your browser? Configurable?
- Can we somehow have tagging/branching support? Does that even make sense for a MediaWiki?
- Syncing per-wiki settings across instances by saving to User:Username/mw_settings? (branches and tags could be defined here too)