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

    featurefeature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions