Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation for 5.0.0 #1421

Open
drvinceknight opened this issue May 11, 2023 · 0 comments
Open

Documentation for 5.0.0 #1421

drvinceknight opened this issue May 11, 2023 · 0 comments
Labels

Comments

@drvinceknight
Copy link
Member

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...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant