Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Agent Instructions

## Linting
Run `./bin/lint.sh` to lint the codebase (`yamllint`, `actionlint`, `shellcheck`, `cargo fmt`, `clippy`).
35 changes: 26 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,25 @@ mo optimize --whitelist # Manage protected optimization rules

Rust CLI for managing Ollama models. Run with `./bin/ollama-tool` or see [ollama/README.md](./ollama/README.md) for details.

### Graphite

Graphite revolutionizes Git workflows with stacked pull requests, enabling faster reviews and parallel development by breaking large changes into manageable, interdependent PRs.

Key commands:

```bash
gt branch create <feature-name> # Create a stacked branch
gt create --all --message "feat: <summary>" # Stage and commit all changes
gt submit --stack --reviewers <user1>,<user2> # Submit entire stack with reviewers
gt sync --restack # Sync and restack branches
gt up 2 # Navigate up 2 branches in stack
gt down # Move down the stack
gt stack # View current stack structure
gt repo sync # Sync all branches in repo
```

For PR reviews, visit https://app.graphite.com. For advanced usage, see [Graphite docs](https://graphite.dev/docs).

### Updating and Restoring Dotfiles

To update the repository and restore the latest dotfiles to your home directory:
Expand Down Expand Up @@ -135,15 +154,13 @@ The setup script automatically configures Git to use the hooks globally and make

## Features

- **Pre-commit checks**: Runs pre-commit hooks on push (includes Python linting with black/flake8/mypy/bandit/safety, C++ formatting/linting with clang-format and clang-tidy, Rust formatting/linting/compilation with rustfmt/clippy, Bash linting with shellcheck, Dockerfile linting with hadolint, YAML linting with yamllint, GitHub Actions linting with actionlint, Dart linting and testing, and general checks).
- **YAML linting**: Runs check-yaml from pre-commit.
- **Commit message validation**: Commit-msg hook ensures messages start with conventional type and are lowercase ≤60 chars. Pre-push hook enforces stricter format with scope, ≤40 chars.
- **Author identity verification**: Checks that commits are authored by "Niladri Das" with email "[email protected]".
- **Automated vulnerability scanning**: CodeQL and Trivy bots scan every push and PR for security issues, ensuring robust protection.
- **Ollama model management**: Rust tool for fetching, downloading, and running Ollama models from the internet.
- **Testing**: Comprehensive unit tests for the Dart CLI, run automatically in CI.
- **Version management**: Dart-powered version bump bot automates semantic versioning updates for the package.
- **Automation workflows**: GitHub Actions for automated version bumps via PRs and release creation. See [automation documentation](./.github/workflows/automation/README.md).
- **Code quality assurance**: Pre-commit hooks enforce linting, formatting, and testing across `Python`, `Rust`, `C++`, `Bash`, `YAML`, `Docker`, `GitHub Actions`, and `Dart`.
- **Commit standards**: Validates conventional commit messages and author identity for consistent history.
- **Security scanning**: Automated `CodeQL` and `Trivy` checks safeguard against vulnerabilities on every push and PR.
- **AI model management**: `Rust`-based `Ollama` tool for seamless model fetching, downloading, and execution.
- **Git workflow enhancement**: `Graphite` enables efficient stacked pull requests for parallel development and faster reviews.
- **Automated testing**: Comprehensive `Dart` CLI unit tests run in CI for reliability.
- **Version automation**: `Dart`-powered bot handles semantic versioning and release workflows via `GitHub Actions`.

## Handling errors

Expand Down