General
The [:RoadMap]
Tips for [:ContributingChanges] and creating [:SuccessfulPatch:SuccessfulPatches]
[:ManagingBugs] - how to work with the [http://selenic.com/mercurial/bugs/ BTS]
[:CompatibilityRules] - how we keep our existing users from crying
[:OptionNaming] - the conventions used to name command-line options
[:BasicCodingStyle] - how to keep [:mpm] from being grumpy with your code
[:WritingTests] - how to add tests to the test suite
[:DevelopmentGuidelines] - other things we try to follow when writing code
[:DeveloperRepos] - where to find various public repositories of Mercurial work
[:NewFeatureDiscussions] - A page of links to discussions about new features.
[:NewIdeas] - Suggestions for features/extensions that would make someone happy
- A list of [:Presentations] and other related events.
- [:MacOSXTools] - Installing the tool chain on Mac OS X.
[:SummerOfCode]
[:ProductName] for the rules on using the name "Mercurial"
1. Modules in C
[http://selenic.com/pipermail/mercurial-devel/2008-September/007985.html September 2008 posting by Matt] about how to do initializers and error handling in C modules.
Mercurial Internals
[:DeveloperBasics] - some basic code examples
[:MercurialApi] - The public API for Mercurial
- [:Design] - Mercurial's data structures and how it uses them.
[:WhatGoesWhere] - the project architecture
[:WireProtocol] - the push/pull changegroup protocol
[:DebuggingFeatures] - how to poke around in Mercurial's internals
- [:Theming] - how to create new styles for Mercurial's web interface
[:WritingExtensions] - how to write Mercurial extensions
Old Stuff
First Mercurial [:UserSurvey].
The old ToDo list and [:MissingFeatures]