# its-thursday

A simple utility to check if a given date is Thursday.

## Installation

```bash
npm install its-thursday
```

## Usage

```javascript
const itsThursday = require('its-thursday');

// Check if today is Thursday
console.log(itsThursday()); // true or false

// Check if a specific date is Thursday
console.log(itsThursday('2023-12-07')); // true (December 7, 2023 was a Thursday)
console.log(itsThursday('2023-12-08')); // false (December 8, 2023 was a Friday)
```

## API

### `itsThursday([dateString])`

Returns `true` if the given date (or current date if no date is provided) is Thursday, `false` otherwise.

#### Parameters

- `dateString` (optional): A date string in `Y-m-d` format (e.g., `2023-12-07`)

#### Returns

- `boolean`: `true` if the date is Thursday, `false` otherwise

#### Throws

- `Error`: If the date string is not in the correct format (`Y-m-d`)
- `Error`: If the provided date is invalid

## Examples

```javascript
const itsThursday = require('its-thursday');

// Check current date
if (itsThursday()) {
  console.log('Today is Thursday!');
}

// Check specific dates
console.log(itsThursday('2024-01-04')); // true - January 4, 2024 was a Thursday
console.log(itsThursday('2024-02-29')); // true - February 29, 2024 was a Thursday
console.log(itsThursday('2024-03-01')); // false - March 1, 2024 was a Friday

// Error handling
try {
  itsThursday('invalid-date');
} catch (error) {
  console.error(error.message); // "Date must be in Y-m-d format (e.g., 2023-12-07)"
}
```

## Development

### Running Tests

```bash
npm test
```

### Watch Mode

```bash
npm run test:watch
```

### Coverage

```bash
npm run test:coverage
```

## 🚀 Deployment

This package uses GitHub Actions for automated deployment:

- **CI**: Runs tests on every push and pull request
- **Auto-publish**: Publishes to npm on merge to main (if version changed)
- **Manual release**: Workflow for manual version bumping and publishing
- **Branch protection**: Blocks publishing until CI passes

For detailed deployment instructions, see [DEPLOYMENT.md](DEPLOYMENT.md).
For branch protection setup, see [BRANCH_PROTECTION.md](BRANCH_PROTECTION.md).
For 2FA setup with npm, see [NPM_2FA_SETUP.md](NPM_2FA_SETUP.md).
For GitHub release issues, see [GITHUB_RELEASE_FIX.md](GITHUB_RELEASE_FIX.md).

### Publishing a New Version

1. Update version:
   ```bash
   npm version patch  # or minor/major
   ```

2. Push to main:
   ```bash
   git push origin main
   ```

3. GitHub Actions will automatically publish to npm! 🎉

## 🔧 Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests for new functionality
5. Ensure all tests pass
6. Submit a pull request

## 📊 Project Status

![CI](https://github.com/your-username/its-thursday/workflows/CI/badge.svg)
![npm version](https://img.shields.io/npm/v/its-thursday)
![npm downloads](https://img.shields.io/npm/dm/its-thursday)

## License

MIT 