Skip to content

AdametherzLab/myco-chamber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

myco-chamber

CI TypeScript License: MIT

Professional-grade mushroom grow chamber calculator -- compute optimal temperature, humidity, CO2, and FAE for 30+ mushroom species with fruiting condition alerts, contamination risk scoring, substrate recipes, and grow timelines.

Features

  • 30+ species profiles -- shiitake, oyster varieties, lion's mane, reishi, cordyceps, and more
  • Stage-specific optimization -- separate ranges for incubation and fruiting stages
  • Smart alerts -- configurable severity levels for environmental deviations
  • Contamination risk scoring -- predictive modeling based on real-world data
  • Substrate calculator -- 4 pre-built recipes (master's mix, straw, coco coir, hardwood sawdust)
  • Grow timeline estimator -- inoculation to harvest with expected yield calculations
  • Input validation -- Runtime type guards for EnvironmentConditions, StageRanges, and SpeciesProfile
  • Zero dependencies -- pure TypeScript with Node.js/Bun built-ins only
  • Production-ready -- strict TypeScript, comprehensive error handling, MIT licensed

Installation

npm install @adametherzlab/myco-chamber
# or
bun add @adametherzlab/myco-chamber

Quick Start

import {
  getSpeciesById,
  checkConditions,
  isEnvironmentConditions,
  isSpeciesProfile,
  calculateSubstrate,
  estimateTimeline,
} from "@adametherzlab/myco-chamber";

// Validate user input
const userConditions = { temperature: 22, humidity: 85, co2: 500, fae: 4 };
if (!isEnvironmentConditions(userConditions)) {
  throw new Error("Invalid environment conditions");
}

// Get a species profile
const shiitake = getSpeciesById("shiitake");
if (!isSpeciesProfile(shiitake)) {
  throw new Error("Invalid species profile");
}

// Check current fruiting conditions
const result = checkConditions(shiitake, "fruiting", userConditions);
console.log(result.alert.overallSeverity); // "ok"
console.log(`Contamination risk: ${result.contaminationRisk.score}`);

// Calculate a substrate recipe
const recipe = calculateSubstrate("masters-mix", 2000);
console.log(`Mix ${recipe.ingredients.map(i => i.name).join(" and ")}`);

// Estimate grow timeline
const timeline = estimateTimeline("shiitake");
console.log(`Harvest in ${timeline.totalDays} days`);

About

Mushroom grow chamber calculator — 30+ species, substrate recipes, grow timelines, contamination alerts. Zero deps.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors