\Header{package.skeleton}{Create a skeleton for a new package}
\keyword{file}{package.skeleton}
\keyword{utilities}{package.skeleton}
\begin{Description}\relax
\code{package.skeleton} automates some of the setup for a new
package.  It creates directories, saves functions and data to
appropriate places, and creates skeleton help files and \file{README}
files describing further steps in packaging.
\end{Description}
\begin{Usage}
\begin{verbatim}
package.skeleton(name = "anRpackage", list, environment = .GlobalEnv, 
                 path = ".", force = FALSE)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{name}] character string: the directory name for your package.
\item[\code{list}] character vector naming the R objects to put in the package
\item[\code{environment}] if \code{list} is omitted, the contents of this
environment are packaged.
\item[\code{path}] path to put the package directories in.
\item[\code{force}] If \code{FALSE} will not overwrite an existing directory.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
This tries to create filenames valid for all OSes known to run R.
Invalid characters are replaced by \code{\_}, invalid names are
preceeded by \code{zz}, and finally the converted names are made
unique by \code{\Link{make.unique}(sep = "\_")}.  This can be done for
code and help files but not data files (which are looked for by name).
\end{Details}
\begin{Value}
used for its side-effects.
\end{Value}
\begin{References}\relax
Read the \emph{Writing R Extensions} manual for more details
\end{References}
\begin{SeeAlso}\relax
\code{\Link{prompt}}, \code{\Link{install.packages}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
## Not run: 
    f <- function(x,y) x+y
    g <- function(x,y) x-y
    d <- data.frame(a=1,b=2)
    e <- rnorm(1000)
    package.skeleton(list=c("f","g","d","e"), name="AnExample")
## End(Not run)
\end{ExampleCode}
\end{Examples}

