Project Overview:
Marvin is a browser extension that helps users organize and leverage their browsing history and research materials through an active knowledge graph and LLM-powered interface.
Coding Standards:
- Use Python 3.10+ features and type hints
- Follow PEP 8 style guide with Black formatting
- Use TypeScript for extension code
- Implement test-driven development
- Document all public functions and classes
- Keep your code modular and well-organized
- Follow separation of concerns principle
Project Structure:
- marvin/core: Backend Python code for LLM and knowledge graph
- marvin/extension: Chrome extension code
- marvin/utils: Development utilities
- docs/: Project documentation
- archive/: Archived code and experiments. Ignore in search.
Libraries and Tools:
- Neo4j for knowledge graph
- FastAPI for backend API
- LangChain for LLM integration
- React/TypeScript for extension UI
Testing Requirements:
- Write unit tests before implementation
- Use pytest for Python tests
- Use Jest for TypeScript tests
- Maintain 80%+ test coverage
Error Handling:
- Use proper exception handling
- Implement logging with different levels
- Validate all external inputs
- Always use try-except blocks
- Print informative error messages
- Include the actual error in debug messages
dockerfile
fastapi
html
javascript
jest
langchain
python
react
+1 more
First Time Repository
Python
Languages:
Dockerfile: 0.5KB
HTML: 0.7KB
JavaScript: 1.4KB
Python: 178.8KB
TypeScript: 22.8KB
Created: 3/8/2024
Updated: 12/9/2024