mirror of
https://github.com/samvallad33/vestige.git
synced 2026-04-25 00:36:22 +02:00
Initial commit: Vestige v1.0.0 - Cognitive memory MCP server
FSRS-6 spaced repetition, spreading activation, synaptic tagging, hippocampal indexing, and 130 years of memory research. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
commit
f9c60eb5a7
169 changed files with 97206 additions and 0 deletions
137
CONTRIBUTING.md
Normal file
137
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
# Contributing to Vestige
|
||||
|
||||
Thank you for your interest in contributing to Vestige! This document provides guidelines and information to help you get started.
|
||||
|
||||
## Project Overview
|
||||
|
||||
Vestige is a Tauri-based desktop application combining a Rust backend with a modern web frontend. We welcome contributions of all kinds—bug fixes, features, documentation, and more.
|
||||
|
||||
## Development Setup
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- **Rust** (stable, latest recommended): [rustup.rs](https://rustup.rs)
|
||||
- **Node.js** (v18 or later): [nodejs.org](https://nodejs.org)
|
||||
- **pnpm**: Install via `npm install -g pnpm`
|
||||
- **Platform-specific dependencies**: See [Tauri prerequisites](https://tauri.app/v1/guides/getting-started/prerequisites)
|
||||
|
||||
### Getting Started
|
||||
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone https://github.com/samvallad33/vestige.git
|
||||
cd vestige
|
||||
```
|
||||
|
||||
2. Install frontend dependencies:
|
||||
```bash
|
||||
pnpm install
|
||||
```
|
||||
|
||||
3. Run in development mode:
|
||||
```bash
|
||||
pnpm tauri dev
|
||||
```
|
||||
|
||||
## Running Tests
|
||||
|
||||
```bash
|
||||
# Run Rust tests
|
||||
cargo test
|
||||
|
||||
# Run with verbose output
|
||||
cargo test -- --nocapture
|
||||
```
|
||||
|
||||
## Building
|
||||
|
||||
```bash
|
||||
# Build Rust backend (debug)
|
||||
cargo build
|
||||
|
||||
# Build Rust backend (release)
|
||||
cargo build --release
|
||||
|
||||
# Build frontend
|
||||
pnpm build
|
||||
|
||||
# Build complete Tauri application
|
||||
pnpm tauri build
|
||||
```
|
||||
|
||||
## Code Style
|
||||
|
||||
### Rust
|
||||
|
||||
We follow standard Rust conventions enforced by `rustfmt` and `clippy`.
|
||||
|
||||
```bash
|
||||
# Format code
|
||||
cargo fmt
|
||||
|
||||
# Run linter
|
||||
cargo clippy -- -D warnings
|
||||
```
|
||||
|
||||
Please ensure your code passes both checks before submitting a PR.
|
||||
|
||||
### TypeScript/JavaScript
|
||||
|
||||
```bash
|
||||
# Lint and format
|
||||
pnpm lint
|
||||
pnpm format
|
||||
```
|
||||
|
||||
## Pull Request Process
|
||||
|
||||
1. **Fork** the repository and create a feature branch from `main`.
|
||||
2. **Write tests** for new functionality.
|
||||
3. **Ensure all checks pass**: `cargo fmt`, `cargo clippy`, `cargo test`.
|
||||
4. **Keep commits focused**: One logical change per commit with clear messages.
|
||||
5. **Update documentation** if your changes affect public APIs or behavior.
|
||||
6. **Open a PR** with a clear description of what and why.
|
||||
|
||||
### PR Checklist
|
||||
|
||||
- [ ] Code compiles without warnings
|
||||
- [ ] Tests pass locally
|
||||
- [ ] Code is formatted (`cargo fmt`)
|
||||
- [ ] Clippy passes (`cargo clippy -- -D warnings`)
|
||||
- [ ] Documentation updated (if applicable)
|
||||
|
||||
## Issue Reporting
|
||||
|
||||
When reporting bugs, please include:
|
||||
|
||||
- **Summary**: Clear, concise description of the issue
|
||||
- **Environment**: OS, Rust version (`rustc --version`), Node.js version
|
||||
- **Steps to reproduce**: Minimal steps to trigger the bug
|
||||
- **Expected vs actual behavior**
|
||||
- **Logs/screenshots**: If applicable
|
||||
|
||||
For feature requests, describe the use case and proposed solution.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
We are committed to providing a welcoming and inclusive environment. All contributors are expected to:
|
||||
|
||||
- Be respectful and considerate in all interactions
|
||||
- Welcome newcomers and help them get started
|
||||
- Accept constructive criticism gracefully
|
||||
- Focus on what is best for the community
|
||||
|
||||
Harassment, discrimination, and hostile behavior will not be tolerated.
|
||||
|
||||
## License
|
||||
|
||||
By contributing, you agree that your contributions will be licensed under the same terms as the project:
|
||||
|
||||
- **MIT License** ([LICENSE-MIT](LICENSE-MIT))
|
||||
- **Apache License 2.0** ([LICENSE-APACHE](LICENSE-APACHE))
|
||||
|
||||
You may choose either license at your option.
|
||||
|
||||
---
|
||||
|
||||
Questions? Open a discussion or reach out to the maintainers. We're happy to help!
|
||||
Loading…
Add table
Add a link
Reference in a new issue