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

Add new sections and guidelines to root README template #143

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

georgerichardson
Copy link
Contributor

I have updated the project root README to provide a template and guidance for writing a useful and informative introduction to a project. The approach I have taken is quite verbose but has the advantage of providing the user with a substantial description of what might go in each section, which could be particularly useful for newer team members.

For inspiration, I have used the READMEs of:

I'm not completely settled on this approach - some quetsions I have are:

  • Should there be some instructions at the top for how to use the readme?
  • Is this too verbose? Would a better approach be to just have a checkbox list at the top with possible sections and one sentence on what to put in them. (This would be neater, but leaves more overhead for users and has a higher risk of just being ignored imo.)

closes #142
closes #139

Copy link

@lizgzil lizgzil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great!

- **_slide decks_**
- **_media_**

![Maybe add an image or nice graphic relating to the project here. This one is by Alan Warburton / © BBC / Better Images of AI / Plant / CC-BY 4.0](https://betterimagesofai.org/ImagesAI/WarburtonNature_01_1280x720.jpg)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lovely


## 📂 Contents

**_Write a high level outline of the repository contents and structure. What are the main functions and outputs and where can the reader find them? This is not a replacement for informative readmes in sub-directories!_**
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could add "This is not a replacement for informative readmes in sub-directories - which could also be linked to here."


**_Write a high level outline of the repository contents and structure. What are the main functions and outputs and where can the reader find them? This is not a replacement for informative readmes in sub-directories!_**

## 🛠️ Setup and installation
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section and contributor guidelines section are kind of related (especially because of the github parts of the setup process), so perhaps shouldn't be separated out into two sections/should be next to each other?


Activate the newly created conda environment with `conda activate {{ cookiecutter.project_name }}`

## 💾 Datasets
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a good idea - I really benefitted from this recently with https://github.com/nestauk/mapping_parenting_tech

@lizgzil
Copy link

lizgzil commented Sep 8, 2022

On your two questions

  • Should there be some instructions at the top for how to use the readme? I personally think it's self explanatory
  • Is this too verbose? Would a better approach be to just have a checkbox list at the top with possible sections and one sentence on what to put in them. (This would be neater, but leaves more overhead for users and has a higher risk of just being ignored imo.) I agree with the checkbox maybe getting ignored. I think this makes it really clear on what people need to fill in.


```
$ mkdir .cookiecutter/state
$ touch .cookiecutter/state/conda-create.log
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

having this here is a good shout

$ touch .cookiecutter/state/conda-create.log
```

Run `make install` to configure the development environment:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Run `make install` to configure the development environment:
Run `make install` to configure the development environment. This will do the following:

For someone who does this for the first time, this might be quite cryptic - perhaps it's OK to be a bit more verbose throughout the setup steps.

Run `make install` to configure the development environment:

- Setup the conda environment
- Configure `pre-commit`
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Configure `pre-commit`
- Configure `pre-commit` procedures (eg, automated code formatting before committing)


Run `make install` to configure the development environment:

- Setup the conda environment
Copy link

@beingkk beingkk Sep 23, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Setup the conda environment
- Setup the conda environment and install the required packages specified in `requirements.txt`


**Step 3.** Install, configure and activate the environment for this project on your machine.

Create a blank cookiecutter conda log file:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps can specify why this is useful?


- [gh](https://formulae.brew.sh/formula/gh) - GitHub command line tool.
- [direnv](https://formulae.brew.sh/formula/direnv#default) - For using environment variables.
- [git-crypt](https://github.com/AGWA/git-crypt/blob/master/INSTALL.md#installing-on-mac-os-x) - Tool for encryption of sensitive files.
Copy link

@beingkk beingkk Sep 23, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [git-crypt](https://github.com/AGWA/git-crypt/blob/master/INSTALL.md#installing-on-mac-os-x) - Tool for encryption of sensitive files.
- [git-crypt](https://github.com/AGWA/git-crypt/blob/master/INSTALL.md#installing-on-mac-os-x) - Tool for encryption of sensitive files. Install this if you want to share sensitive information with your collaborators on GitHub (eg, passwords, API keys or data that can't be shared externally).

**_Write a high level outline of the repository contents and structure. What are the main functions and outputs and where can the reader find them? This is not a replacement for informative readmes in sub-directories!_**

## 🛠️ Setup and installation

Copy link

@beingkk beingkk Sep 23, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**_Adapt this section according to your project's specific setup requirements. This template is indicative of the necessary steps for a "typical" Nesta project._**

Install the following components:

- [gh](https://formulae.brew.sh/formula/gh) - GitHub command line tool.
- [direnv](https://formulae.brew.sh/formula/direnv#default) - For using environment variables.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- [direnv](https://formulae.brew.sh/formula/direnv#default) - For using environment variables.
- [direnv](https://formulae.brew.sh/formula/direnv#default) - For using environment variables (eg, the .env file, which we used to store global variables that can be accessed from any python script)

Not sure how to best explain, but perhaps useful to be a bit more verbose here?

Copy link

@beingkk beingkk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @georgerichardson, apologies for the late review - I think it looks very good!

My only (optional) suggestion would be about that maybe the Setup steps can be a little bit more verbose - I think they are quite short at the moment, and might be a bit cryptic especially for someone who hasn't created a Nesta project before. Also, perhaps we can note that not everything has to be set up in exactly this way (eg, perhaps git-crypt is not always necessary).

I've added comments to that effect in the readme file.

Hope this helps!

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

Successfully merging this pull request may close these issues.

Update main readme with more informative template Edit main readme created with extra instructions
4 participants