Thank you for your interest in contributing. This document provides guidelines for contributing to the project.
- ARCHITECTURE.md — System design, layers, data flow, component architecture
- STRUCTURE.md — Directory structure and file purposes
- ROUTES.md — Routes and sitemap
- PROMPT-DESIGN.md — Prompt construction, output schema (when modifying LLM behavior)
- IMPLEMENTATION-PLAN.md — Phased build specification
git clone https://github.com/your-username/vizadvisor.git
cd vizadvisor
npm install
cp .env.example .env
# Add VITE_ANTHROPIC_API_KEY or VITE_OPENAI_API_KEY
npm run dev:full- ESLint — Run
npm run lintbefore committing - Prettier — Run
npm run formatfor consistent formatting - Tests — Run
npm test; add tests for new logic
- Components — Functional components, hooks for stateful logic
- State — SessionContext for session data; SettingsContext for preferences
- Services — Plain JS modules; no React in services
- Naming — Descriptive, self-explanatory names (see [MOD_CODING] in project guidelines)
- Create a feature branch from
main - Implement changes with tests where appropriate
- Run
npm run lintandnpm test - Update documentation if behavior changes
- Submit PR with a clear description
Open an issue for questions or discussions.