{"_id":"@archerjb/create-mvc-app","_rev":"5-cb5e64da32524172bc7d552d08f2630f","name":"@archerjb/create-mvc-app","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.1":{"name":"@archerjb/create-mvc-app","version":"1.0.1","author":{"name":"Josh Archer","email":"jarcher@greenriver.edu"},"license":"MIT","_id":"@archerjb/create-mvc-app@1.0.1","maintainers":[{"name":"archerjb","email":"email.archerjb@gmail.com"}],"bin":{"create-mvc-app":"src/cli.js"},"dist":{"shasum":"96780c0b35181673c864c06e9f26b37991ba5b60","tarball":"https://registry.npmjs.org/@archerjb/create-mvc-app/-/create-mvc-app-1.0.1.tgz","fileCount":23,"integrity":"sha512-wJDyLm7ocM6WkvLm8rNVWe1mEgvpcyI5OkAHgiL9SKf3zYPlAqERTBROsyR8gqqrGXe6+mbI4bhl2DafmkVcLQ==","signatures":[{"sig":"MEUCIQDr7mimSMdLaqbh9Pzs/5lmzyYcetMJpNH5nY+AvIkbFAIgAJAjc80Jccti7wJMTW3B4F1mW0B8qUUdLcgHbWSjxrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69829},"main":"index.js","type":"module","gitHead":"48b85c9b3daa8414f3a0b831dc38f56efa2a1e13","private":false,"_npmUser":{"name":"archerjb","email":"email.archerjb@gmail.com"},"_npmVersion":"11.6.2","description":"Tool to scaffold an opinionated MVC project folder","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/create-mvc-app_1.0.1_1767474864551_0.28357869014142456","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@archerjb/create-mvc-app","version":"1.0.2","author":{"name":"Josh Archer","email":"jarcher@greenriver.edu"},"license":"MIT","_id":"@archerjb/create-mvc-app@1.0.2","maintainers":[{"name":"archerjb","email":"email.archerjb@gmail.com"}],"bin":{"create-mvc-app":"src/cli.js"},"dist":{"shasum":"4336a80bb5b98f21590fcf5a14ca9251c84155db","tarball":"https://registry.npmjs.org/@archerjb/create-mvc-app/-/create-mvc-app-1.0.2.tgz","fileCount":23,"integrity":"sha512-CRJ8xUEzTHmOYbZSkp7LnXagUM0W5uERx/C48l0lwmaBLFa0M/yhAtnUlsz8EXdRlLuv1sDEYcMvwtKhmpdVqA==","signatures":[{"sig":"MEYCIQCS7Lnz617ULsPqTRjuU2WRnyh1gH6v7AP8aktQrpiqAQIhAIpgAWXZk6ftTamekC+WrD8UptjnjJz7nXsS94Gpp0Ti","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69813},"main":"index.js","type":"module","gitHead":"48b85c9b3daa8414f3a0b831dc38f56efa2a1e13","private":false,"_npmUser":{"name":"archerjb","email":"email.archerjb@gmail.com"},"_npmVersion":"11.6.2","description":"Tool to scaffold an opinionated MVC project folder","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/create-mvc-app_1.0.2_1767475017371_0.4322982908895814","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@archerjb/create-mvc-app","version":"1.0.3","author":{"name":"Josh Archer","email":"jarcher@greenriver.edu"},"license":"MIT","_id":"@archerjb/create-mvc-app@1.0.3","maintainers":[{"name":"archerjb","email":"email.archerjb@gmail.com"}],"bin":{"create-mvc-app":"src/cli.js"},"dist":{"shasum":"5a8196a187c350f84c55ff7c17f41fc21d83141b","tarball":"https://registry.npmjs.org/@archerjb/create-mvc-app/-/create-mvc-app-1.0.3.tgz","fileCount":23,"integrity":"sha512-TwFpwunQlxHp35lj3nt6IjIq4nQfDiPCGp8rlJeTyB7unka+dZpo4/eJfuJG3TVCgvwIqKdIHIQJzTje6aoECw==","signatures":[{"sig":"MEUCIQDSlVvGoUC1YGtGbhR8vQwv5ymRqqhz0ip14vZqXXl4ewIgLN4oCElfa61xZHsYBMGnQq8dYCejRB9nDorl0F3/+6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69872},"main":"index.js","type":"module","gitHead":"48b85c9b3daa8414f3a0b831dc38f56efa2a1e13","private":false,"_npmUser":{"name":"archerjb","email":"email.archerjb@gmail.com"},"_npmVersion":"11.6.2","description":"Tool to scaffold an opinionated MVC project folder","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/create-mvc-app_1.0.3_1767476397906_0.05714957913730778","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@archerjb/create-mvc-app","version":"1.0.4","author":{"name":"Josh Archer","email":"jarcher@greenriver.edu"},"license":"MIT","_id":"@archerjb/create-mvc-app@1.0.4","maintainers":[{"name":"archerjb","email":"email.archerjb@gmail.com"}],"bin":{"create-mvc-app":"src/cli.js"},"dist":{"shasum":"988ec91229dbb446dce465e70c348c201820974e","tarball":"https://registry.npmjs.org/@archerjb/create-mvc-app/-/create-mvc-app-1.0.4.tgz","fileCount":23,"integrity":"sha512-QdXLk1zxZCJPOyZBvXywz6OCgzekJa1dT35h7Z0sPmV+HHO13tkrqnRVO23xVU8Rdedyi/VX3n3+lQsn3ohSbQ==","signatures":[{"sig":"MEQCIEtPdibZRmus4M6YJ3ZP/z/T2uFgXma5/+JxjRpwKwFYAiAIP5ws2ieg1wQLkzwgmazP2IzhIy+vkhpZ1fxLuxL+Rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68651},"main":"index.js","type":"module","gitHead":"514a6a9642eb32cbf5f6af516b95c119bc4643c7","private":false,"_npmUser":{"name":"archerjb","email":"email.archerjb@gmail.com"},"_npmVersion":"11.6.2","description":"Tool to scaffold an opinionated MVC project folder","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/create-mvc-app_1.0.4_1767476841192_0.32701215754611335","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@archerjb/create-mvc-app","version":"1.0.5","description":"Tool to scaffold an opinionated MVC project folder","main":"index.js","type":"module","license":"MIT","private":false,"author":{"name":"Josh Archer","email":"jarcher@greenriver.edu"},"bin":{"create-mvc-app":"src/cli.js"},"gitHead":"eca79baf1ab4905f22668d4578f81999a9e078d3","_id":"@archerjb/create-mvc-app@1.0.5","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-Bza7QwxdIJiQppDRihV4iZ9En4u/Bhq9wygXRxhckr9i2DuPi+GNDzvSO8MRT+I0nrC86/niMzNFQg1i1/bJeQ==","shasum":"07140bdb3fed93b5c2afc2f510ba3669d59297f8","tarball":"https://registry.npmjs.org/@archerjb/create-mvc-app/-/create-mvc-app-1.0.5.tgz","fileCount":24,"unpackedSize":68853,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCuEc4JhMSqZQFGZ8snUIL8j1TncjsNVuVAU3bxOrYWjwIhANacrtJVJ09fHMey/WeVh5Ej2cHLWHgBphFrJjx6nRYH"}]},"_npmUser":{"name":"archerjb","email":"email.archerjb@gmail.com"},"directories":{},"maintainers":[{"name":"archerjb","email":"email.archerjb@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-mvc-app_1.0.5_1767478073645_0.06618550909973253"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-03T21:14:24.491Z","modified":"2026-01-03T22:07:54.021Z","1.0.1":"2026-01-03T21:14:24.742Z","1.0.2":"2026-01-03T21:16:57.532Z","1.0.3":"2026-01-03T21:39:58.062Z","1.0.4":"2026-01-03T21:47:21.345Z","1.0.5":"2026-01-03T22:07:53.810Z"},"author":{"name":"Josh Archer","email":"jarcher@greenriver.edu"},"license":"MIT","description":"Tool to scaffold an opinionated MVC project folder","maintainers":[{"name":"archerjb","email":"email.archerjb@gmail.com"}],"readme":"# create-mvc-app\r\n\r\nA simple scaffolding tool for creating a starter **Node + Express MVC project** for students.\r\n\r\nThis tool copies a predefined project template into a new folder so students can immediately begin working with a consistent structure in class and on assignments.\r\n\r\n![MVC Architecture Diagram](./template/public/images/default.webp)\r\n\r\n---\r\n\r\n## What this tool does\r\n\r\n- Creates a new project folder\r\n- Copies a predefined MVC starter template into it\r\n- Includes example routes, views, static assets, and configuration\r\n- Does not modify files after copying\r\n- Does not run `npm install`\r\n\r\nThe generated project is intentionally simple and readable.\r\n\r\n---\r\n\r\n## Requirements\r\n\r\n- Node.js 18 or newer\r\n- npm\r\n\r\nStudents should create projects in a **local folder** (Desktop, Documents, or a dedicated projects directory), not inside cloud-synced folders such as OneDrive or iCloud.\r\n\r\n---\r\n\r\n## Installation\r\n\r\nInstall the tool globally from the NPM registry:\r\n\r\n```bash\r\nnpm install -g @archerjb/create-mvc-app\r\n```\r\n\r\nOnce installed, the `create-mvc-app` command will be available globally.\r\n\r\n---\r\n\r\n## Usage\r\n\r\nCreate a new project by providing a folder name:\r\n\r\n```bash\r\ncreate-mvc-app my-app\r\n```\r\n\r\nThen:\r\n\r\n```bash\r\ncd my-app\r\nnpm install\r\nnpm run dev\r\n```\r\n\r\nBy default, the application will start on:\r\n\r\n```\r\nhttp://localhost:8001\r\n```\r\n\r\n---\r\n\r\n## Generated project structure\r\n\r\nThe scaffolded project follows a basic MVC layout:\r\n\r\n```text\r\npublic/\r\nsrc/\r\n  controller/\r\n  model/\r\n  routers/\r\n  services/\r\n  utility/\r\n  views/\r\napp.js\r\nserver.js\r\n```\r\n\r\nThe project includes:\r\n- An example EJS-rendered page\r\n- A static HTML page served from `/public`\r\n- Shared CSS and images\r\n- Example files to demonstrate structure\r\n\r\nStudents are expected to modify or replace the example files as the course progresses.\r\n\r\n---\r\n\r\n## Purpose\r\n\r\nThis tool exists to:\r\n- Standardize project setup across a class\r\n- Reduce time spent on boilerplate\r\n- Reinforce MVC concepts through structure\r\n- Keep focus on Node, Express, and core JavaScript\r\n\r\nThere is no build step and no framework abstraction beyond Express.\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"readme.md"}