# `NPM.ProjectInit`
[🔗](https://github.com/elixir-volt/npm_ex/blob/v0.7.4/lib/npm/project_init.ex#L1)

Initializes an Elixir project for npm dependency management.

Creates package.json, .gitignore entries, and verifies configuration.

# `checklist`

```elixir
@spec checklist(String.t()) :: [%{item: String.t(), ok: boolean()}]
```

Returns a checklist of items to verify for npm setup.

# `create_package_json`

```elixir
@spec create_package_json(
  String.t(),
  keyword()
) :: :ok | {:error, term()}
```

Creates a package.json from project metadata.

# `format_checklist`

```elixir
@spec format_checklist([map()]) :: String.t()
```

Formats the checklist for display.

# `initialized?`

```elixir
@spec initialized?(String.t()) :: boolean()
```

Checks if a project is already initialized for npm.

# `ready?`

```elixir
@spec ready?(String.t()) :: boolean()
```

Returns true if all checklist items pass.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
