DataSHIELD packages are different from normal R packages. DataSHIELD consists of a client-server architecture, whereby the user calls functions from a local R package (client-side), which in turns invokes functions within a (server-side) package installed on the server with the data.
This means that to develop DataSHIELD packages you actually need to develop two packages which communicate with each other - the client-side package and the server-side package. For example, the core DataSHIELD functions are implemented in two connected packages: dsBaseClient and dsBase.