diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..d6319a6 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,4 @@ +# Agent Instructions + +## Linting +Run `./bin/lint.sh` to lint the codebase (`yamllint`, `actionlint`, `shellcheck`, `cargo fmt`, `clippy`). diff --git a/README.md b/README.md index 0480a03..99eedc8 100644 --- a/README.md +++ b/README.md @@ -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 # Create a stacked branch +gt create --all --message "feat: " # Stage and commit all changes +gt submit --stack --reviewers , # 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: @@ -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 "bniladridas@users.noreply.github.com". -- **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