# Publishing to NPM

## Before Publishing

1. **Update package.json**
   - Set your author name
   - Add your GitHub repository URL
   - Update version number

2. **Build the project**
   ```bash
   npm install
   npm run build
   ```

3. **Test locally**
   ```bash
   npm link
   cd /path/to/test-project
   npm link milodb
   ```

## Publish

1. **Login to npm**
   ```bash
   npm login
   ```

2. **Publish**
   ```bash
   npm publish
   ```

## Update Version

```bash
# Patch (1.0.0 -> 1.0.1)
npm version patch

# Minor (1.0.0 -> 1.1.0)
npm version minor

# Major (1.0.0 -> 2.0.0)
npm version major

# Then publish
npm publish
```

## Files Included in Package

- `dist/` - Compiled JavaScript and type definitions
- `README.md` - Documentation
- `LICENSE` - MIT license
- `package.json` - Package metadata

Files excluded (see `.npmignore`):
- `src/` - TypeScript source
- `dashboard/` - Dashboard app
- `node_modules/`
- Development files

## Verify Package

Before publishing, check what will be included:

```bash
npm pack --dry-run
```

## Post-Publish

1. Test installation:
   ```bash
   npm install milodb
   ```

2. Check npm page:
   ```
   https://www.npmjs.com/package/milodb
   ```

3. Update GitHub releases with changelog
