# tapid init Source: https://tapid.dev/docs/commands/init Create a private package.json manifest. ## Syntax ```text tapid init [PATH] ``` Create a private `package.json` manifest in an existing project directory. If `PATH` is omitted, tapid uses the current directory. Relative paths are resolved from the directory where you run the command. `PATH` must already exist and be a directory. `tapid init` does not create the directory for you. The directory's last component becomes the package name, so a directory named `demo` produces a manifest named `demo`. ## What it creates The generated manifest contains only the project identity needed to start a package project: ```json { "name": "demo", "version": "0.1.0", "private": true } ``` The initial version is `0.1.0`, and the manifest is marked private. It contains no dependencies, scripts, entry point, or registry settings. Add those fields to `package.json` before asking tapid to install packages or run a project script. `tapid init` never overwrites an existing `package.json`. It creates the file only when it does not already exist. ## Example ```text $ tapid init demo Created /path/to/demo/package.json $ tapid manifest validate demo/package.json Valid manifest: demo@0.1.0 ``` The printed path depends on the directory you pass. Run `tapid manifest validate` when you want to check the generated or edited manifest before project work. ## What it does not do `tapid init` only creates project identity. It does not: * install dependencies or create `node_modules`; * resolve packages or contact npmjs.com or jsr.io; * write `tapid.lock`; or * create scripts or run project code. After adding a dependency to `package.json`, use [`tapid install`](https://tapid.dev/docs-markdown/commands/install/content.md) to resolve and install it. Use [`tapid run`](https://tapid.dev/docs-markdown/commands/run/content.md) only after adding a script to the manifest. ## Common failures * If the path does not exist or cannot be accessed, tapid reports that it cannot access the project directory. * If the path points to a file, tapid reports that the project path is not a directory. * If `package.json` already exists, tapid refuses to overwrite it and exits with an error. * If the directory name is not a valid package name, manifest creation fails before tapid writes the file.