Adopt README Driven Development.
Create a .gitignore file, start from the GitHub's Node.gitignore.
Put all sources in src/ folder. Try to keep files atomic, ideally every class and every function should be contained in a dedicated file. This practice is highly recommended to facilitate TDD and refactoring.
Write here test files: unit tests should be homonym to the file in src/ folder that contains the source which implements the related feature. Do not left failing tests in master branch, otherwise the TDD process breaks.
Put a package.json file in the root folder, so it will be easier to launch npm scripts.
Use a package manager to handle dependencies.
On client side you can use bower, on server side npm.
Use a linter like JSHint, ESLint or standard js: pick one from this linters list.
Use some task automation tool, like Grunt, Gulp or npm scripts.
Read here npm scripts documentation. Even if you don't use npm for task automation, please make sure that at least the following scripts work and adhere the DWIM concept:
npm test
: run all testsnpm start
: start applicationnpm stop
: stop application
Find last version of this document here.