project setup and initial plugin boilerplate