$ show Companion-Inc/feynman
Feynman is an open-source AI research assistant that provides both CLI and web-based workbench interfaces for scientific research workflows. Built on the Pi coding agent runtime, it integrates with numerous scientific databases (PubChem, ChEMBL, UniProt, etc.) and provides a skill-based system for extending functionality with specialized research tools. The system manages research sessions, artifacts, and computational workflows while maintaining provenance tracking and versioning. It features a React-based web interface for interactive work with scientific data, artifact previews, and computational job management, alongside a CLI for terminal-based research tasks.
The LLM identified 4 files worth highlighting for reuse:
A typed settings management system with validation, change notifications, and JSON persistence. Implements generic record schemas with CRUD operations, change broadcasting, and automatic migration handling. Demonstrates clean abstraction for application settings that could be extracted for use in any TypeScript application needing persistent, validated configuration.
Extension registration pattern using the Pi ExtensionAPI to define tools and commands with TypeBox schema validation. Provides a clean interface for registering research tools with standardized metadata, parameter validation, and execution handling. Shows non-obvious skill in creating a decoupled plugin system where extensions can be developed independently while maintaining type safety and consistent invocation patterns.
Artifact versioning system that tracks changes through content-addressed snapshots stored in JSONL format. Implements efficient snapshot storage with deduplication via content hashing, lineage tracking, and environment snapshot capture for reproducibility. Demonstrates advanced data engineering in creating a lightweight, append-only versioning system suitable for research artifacts that balances storage efficiency with complete history tracking.
Standardized pattern for integrating diverse scientific databases with normalized request/response handling. Provides a unified interface for querying external APIs with automatic parameter normalization, response transformation, and error handling. Shows expertise in creating extensible adapters for heterogeneous scientific services while maintaining consistent data shapes and provenance tracking for all API interactions.