Skip to content

Documentation for 5.0.0 #1421

Open
Open
@drvinceknight

Description

@drvinceknight

With the recent great contributions from @alexhroom, it feels like 5.0.0 might be gaining some lost momentum.

With that in mind I'd like to start thinking about the structure for documentation.

I think that I'd like to take the opportunity of 5.0.0 to strongly follow the diataxis framework and perhaps more strictly than at present:

  • Tutorials
  • How to guides
  • Reference
  • Explanations (perhaps an opportunity here to write a lot of theory)

I also think that with the added dimension of games we should aim to think about how that would look essentially something like separating in to either:

  • Generic docs
  • Game Specific docs

So for example perhaps (and please don't worry too much about the title of the files, more the general framework structure):

docs/
index.rst
|--- tutorials/
     |--- index.rst
     |--- recreating-axelrods-first-tournament.rst   # A walk through tutorial which I realise is IPD specific but nonetheless seems    
     |--- implementing-rock-paper-scissors.rst
sensible
     |--- ipd/
          |--- index.rst
          |--- simulating-speciation.rst  # A walk through tutorial specific to the IPD
     |--- ultimatum_game/
          |--- index.rst
          |--- recreating-the-results-of-<some-paper>.rst  # a guess
|--- how-to-guides/
      |--- index.rst
      |--- how-to-run-a-tournament.rst
      |--- how-to-run-a-moran-process.rst
      |--- how-to-implement-a-new-game.rst
      |--- how-to-implement-a-new-action-set.rst
      |--- how-to-define-a-strategy.rst
      |--- how-to-contribute.rst   # Perhaps more here
      |--- ...
      |--- ipd/
           |--- how-to-write-a-strategy-for-the-ipd.rst
           |--- how-to-fingerprint-an-ipd-strategy.rst
      |--- ultimatum_game/
           |--- how-to-write-a-strategy-for-the-ultimatum-game.rst
           |--- ...
|--- explanations/
     |--- index.rst
     |--- structure-of-the-library.rst
     |--- how-tournaments-are-parallelized.rst
     |--- ...
     |--- ipd/
          |--- how-are-ipd-strategies-implemented.rst
     |--- ultimatum_game/
          |--- how-are-ultimatum-game-strategies-implemented.rst
|--- reference/
     |--- index.rst
     |--- introduction-to-game-theory.rst
     |--- moran-processes.rst
     |--- ipd/
          |--- index.rst
          |--- what-is-the-ipd.rst 
          |--- axelrods-first-tournaments.rst
     |--- ultimatum_game/
          |--- index.rst
     |--- ....

I'd imagine that if/when a new game gets added we'd also include documentation at the minimum in the reference section (giving some background to the game). (Wouldn't reject any other documentation types of course!)

I think the docs/index.rst should include a list of all the implemented games.

Minor: perhaps with sphinx a cool thing can be done where you click on ipd somewhere and get all the ipd type docs that automatically come up in the same diataxis structure...

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions