# Project Gemini specifications

In late March 2024, the official Gemini specification was refactored into
two separate documents, one which addresses only the network protocol
and one which addresses only the markup format.  Both specifications are
intended to be more formal and less ambiguous than the combined document
which historical served as a "speculative specification".

=> protocol-specification.gmi   Gemini network protocol specification
=> gemtext-specification.gmi    Gemini hypertext format ("gemtext")
specification

The old speculative specification, which used to live at the URL
you're at right now, will evolve instead into a "technical overview".
It's more detailed than the Project Gemini FAQ, and is aimed at geeks,
not a general audience, but it stops short of covering every corner case
and defining things in down-to-the-byte detail, for which you should
see the appropriate specification above.  The overview serves as a good
and highly readable introduction to the technologies behind Gemini.
You can probably still use it to write a client which works well enough,
often enough to be genuinely useful.

=> tech-overview.gmi            Project Gemini technical overview

If you've arrived at this page by following a link or a bookmark, please
consider updating it, or asking for it to be updated, to point to the
technical overview if you think that's more approprite for the intended
audience than this explanatory page.