# Carbon Footprint Calculator

A TypeScript library for calculating CO2 emissions from food, energy, and transportation.

## Data Sources

The library uses emission factors from:
- **Food**: CO2 emissions per kg for various food items
- **Energy**: CO2 emissions per kWh and AC usage calculations
- **Transportation**: CO2 emissions per km for different transport modes

## Installation

```bash
npm install @vim-crouwel/cfpc
```

## Usage

### Food Emissions

```typescript
import { co2PerKg, getFoodCategories, getFoodItems } from '@vim-crouwel/cfpc/calculators/food'

// Calculate CO2 for 0.5kg of beef
const beefEmissions = co2PerKg('meat', 'beef', 0.5)
console.log(`Beef emissions: ${beefEmissions} kg CO2`)

// List available categories and items
const categories = getFoodCategories()
const meatItems = getFoodItems('meat')
```

### Energy Emissions

```typescript
import { co2PerKwh, acCo2Emissions, acUsage } from '@vim-crouwel/cfpc/calculators/energy'

// Calculate CO2 for 100 kWh energy consumption (50 kg CO2)
const energyEmissions = co2PerKwh(100)

// Calculate kWh needed for AC in 50m² room for 8 hours (60 kWh)
const kwh = acUsage(50, 8)

// Calculate AC emissions for 50m² room running 8 hours (30 kg CO2)
const acEmissions = acCo2Emissions(50, 8)
```

### Transportation Emissions

```typescript
import { co2PerKm, getTransportationModes } from '@vim-crouwel/cfpc/calculators/transportation'

// Calculate CO2 for 25km car trip
const carEmissions = co2PerKm('car', 25)

// List available transportation modes
const modes = getTransportationModes()
```

### Complete Example

```typescript
import { co2PerKg } from '@vim-crouwel/cfpc/calculators/food'
import { co2PerKwh } from '@vim-crouwel/cfpc/calculators/energy'
import { co2PerKm } from '@vim-crouwel/cfpc/calculators/transportation'

// Daily carbon footprint calculation
const dailyFood = co2PerKg('meat', 'chicken', 0.2) + co2PerKg('dairy', 'milk', 0.3)
const dailyEnergy = co2PerKwh(8)
const dailyTransport = co2PerKm('car', 30)

const totalDaily = dailyFood + dailyEnergy + dailyTransport
console.log(`Daily CO2 emissions: ${totalDaily.toFixed(2)} kg`)
```

## Development

```bash
bun install
bun run index.ts
```

## API Reference

All functions include JSDoc documentation with parameter descriptions and return types.