Skip to content

[FEATURE] vlt init/vlt create should do more #1541

@darcyclarke

Description

@darcyclarke

📋 Description

Today, vlt init does very little when it should be helping you out a lot more. We should be...

  • consolidate vlt init & vlt create commands (like npm has historically...)
  • add a wizard experience when --yes isn't set & we aren't trying to use a template package (ie. vlt create react-app) with some of the following prompts...
  • package.json:
    • set private (the question should be something like "is this a public package" ie. we'll set the private value to "true" if "no" but if "yes" then we don't set this at all)]
    • name of the package (default to inferred folder name we already create)
    • version (default to 0.0.1)
    • description (default to "")
    • entry point/main (default to "index.js")
    • set the author information - name/email (based on input, default to environment's git author/email config)
    • create set license (based on input, default should be MIT) & create a license file with the corresponding text
    • set type (default to "module" but option for "commonjs" / blank)
    • set browser (if the project is intended to be a browser-based distro, default to no/not setting this)
    • set devEngines.runtime (default nothing): as user about node, bun, deno
    • set devEngines.packageManager to relevant version of vlt (ex. ^1)
    • set vlt & install vlt as a devDependency
  • create an AGENTS.md file in your project explaining vlt & the type of project this is (ex. https://agents.md/)
  • create a .gitignore for a basic node modules project (ex. excluding node_modules folder)
  • run git init in the project/folder
  • run vlt install so that node_modules & the lockfile/hidden lockfile are generated
  • create vlt.json with basic keys stubbed out but ready to be used

Considerations

  • check to see if these files/setup doesn't already exist (ex. we may be running create/init in a workspace/to scaffold workspaces - may still be good to run vlt install after the workspace is created though so that the lockfile & hidden lockfile stay up to date)

🔍 Research & Prior Art

  • anecdotally, more tools are scaffolding more things when starting a new project with that tool

Metadata

Metadata

Assignees

No one assigned

    Labels

    Release 1.0.0related to/blocker of the v1.0.0 releasefeaturefeature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions