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

create_tidy_package() to create public package with tidyverse/r-lib convensions #461

Closed
gaborcsardi opened this issue Sep 12, 2018 · 9 comments
Closed

Comments

@gaborcsardi
Copy link
Contributor

@gaborcsardi gaborcsardi commented Sep 12, 2018

I am not sure if this is possible to do in one go, as the user might need to edit files, or maybe run git between the steps, we'll see. Order might change later.

  1. create_package()
  2. use_tidy_description()
  3. Add empty R/package.R file
  4. use_git()
  5. use_github()
  6. use_testthat()
  7. Add empty tests/testthat/test.R file.
  8. use_mit_license()
  9. use_readme_rmd()
  10. use_news_md()
  11. use_tidy_ci()
  12. use_appveyor()
  13. use_tidy_contributing()
  14. use_tidy_coc()
  15. use_lifecycle_badge()
  16. use_roxygen_md()
  17. use_cran_badge()
  18. use_coverage()
  19. Knit README.md
  20. Add all newly created files to git, commit, push.

The badges can be part of some use_tidy_readme_rmd(), because currently they need manual copy and paste.

@gaborcsardi
Copy link
Contributor Author

@gaborcsardi gaborcsardi commented Sep 12, 2018

Just tried it, mostly works. Some steps are manual, we can fix that with a tidy README.Rmd template.

@jennybc
Copy link
Member

@jennybc jennybc commented Sep 12, 2018

I think this might be best as a "doctor" or reporting function, i.e. it reports how much of this has been done and reminds of relevant functions for the un-done parts.

@gaborcsardi
Copy link
Contributor Author

@gaborcsardi gaborcsardi commented Sep 12, 2018

That would be great as well, but I would very much like a version that just did everything....

@hadley
Copy link
Member

@hadley hadley commented Sep 12, 2018

I guess I tend to run them more over time - i.e. I don't run use_test() until I write the first test, and I don't run use_news_md() until after the first release. But I don't have any objection to setting up from the very beginning.

@jennybc
Copy link
Member

@jennybc jennybc commented Sep 12, 2018

Perhaps the point is that is should be very resilient to re-application, i.e. it does something sensible de novo but can also cope when the work is partially done.

@hadley
Copy link
Member

@hadley hadley commented Sep 12, 2018

Yeah, and ideally you should be able to run it on a package that you created two years ago and bring it up to spec for today.

@gaborcsardi
Copy link
Contributor Author

@gaborcsardi gaborcsardi commented Sep 12, 2018

Yeah, some things you can do on demand, like tests. But others I just tend to forget sometimes...

@hadley
Copy link
Member

@hadley hadley commented Nov 24, 2018

See also the checklist: tidyverse/readxl#241 (comment)

@hadley
Copy link
Member

@hadley hadley commented Nov 29, 2018

I think we need two pieces:

  • create_tidy_package() which calls create_package() and then the functions listed above

  • use_tidy_standards(cur = "1.0.0") which would create an issue checklist with the new functions you need to run.

@hadley hadley closed this in 82d9c96 Nov 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants