Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
49e7f33
feat: workflow improvements and MCP enhancements
rishitank Jan 2, 2026
494e0c0
fix: use Europe/London timezone in dependabot config
rishitank Jan 2, 2026
f0e1666
feat: implement full MCP spec support
rishitank Jan 2, 2026
49b2d03
feat: add automatic version bumping to release workflow
rishitank Jan 2, 2026
b962a01
feat: add comprehensive tests and logging/setLevel handler
rishitank Jan 2, 2026
5daf33d
feat: add workspace analysis tools with comprehensive tests
rishitank Jan 2, 2026
b1518b5
fix: address all PR review comments
rishitank Jan 2, 2026
662828f
📝 Add docstrings to `feature/workflow-improvements`
coderabbitai[bot] Jan 2, 2026
dc69227
Merge pull request #2 from rishitank/coderabbitai/docstrings/b1518b5
rishitank Jan 2, 2026
46f2d7e
feat: add 4 new workspace/git tools with tests
rishitank Jan 2, 2026
d28e3fc
Merge remote-tracking branch 'origin/feature/workflow-improvements' i…
rishitank Jan 2, 2026
4f001f4
fix: Remove empty lines in doc comments to fix Clippy errors
rishitank Jan 2, 2026
9101c12
docs: Update tool count to 59, add depth limit to discover_files
rishitank Jan 2, 2026
b661366
docs: Add future enhancements from code review comments
rishitank Jan 2, 2026
07e9094
security: Fix path traversal vulnerability in DependencyGraphTool
rishitank Jan 2, 2026
923e687
security: Fix path traversal in complete_file_path
rishitank Jan 2, 2026
7e65250
feat: Address known limitations from code review
rishitank Jan 2, 2026
da360e7
fix: Address remaining CodeRabbit nitpick comments
rishitank Jan 2, 2026
51ebf78
feat: Add AI-powered changelog generation to release workflow
rishitank Jan 2, 2026
3c96591
feat: Fix enhance_prompt and add bundle_prompt for proper context inj…
rishitank Jan 2, 2026
f653fdc
feat: Add comprehensive multi-language support for symbol detection
rishitank Jan 2, 2026
782dd75
feat: Add integration tests and TypeScript/Rust gap analysis
rishitank Jan 2, 2026
3f76bc1
docs: Update documentation with new tools and testing guide
rishitank Jan 3, 2026
39eeb6e
fix: Address remaining CodeRabbit review comments
rishitank Jan 3, 2026
2aa8e37
test: Fix integration tests to accept valid JSON-RPC responses
rishitank Jan 3, 2026
146c597
feat: Add m1rl0k/Context-Engine compatible tools
rishitank Jan 3, 2026
62889a3
docs: Update documentation with new m1rl0k-compatible tools
rishitank Jan 3, 2026
3ce0a00
fix: address CodeRabbit review comments
rishitank Jan 3, 2026
3805e76
docs: fix documentation discrepancies flagged by CodeRabbit
rishitank Jan 3, 2026
39d2f9c
docs: fix README tool count from 73 to 69
rishitank Jan 4, 2026
f67a6c2
feat: implement Agent Skills architecture for progressive disclosure
rishitank Jan 4, 2026
98df399
feat: add 4 more skills and expose skills as MCP prompts
rishitank Jan 4, 2026
48351aa
test: add comprehensive unit and integration tests for skills
rishitank Jan 4, 2026
dea0d2c
add augment commands
rishitank Jan 4, 2026
aa64cef
fix: address code review feedback
rishitank Jan 4, 2026
1cde7d5
fix: address remaining code review nitpicks
rishitank Jan 4, 2026
776dbd8
fix: use assert! instead of assert_eq! with literal bool
rishitank Jan 4, 2026
e38ce36
fix: wire include_related flag in ContextSearchTool
rishitank Jan 4, 2026
a64e759
fix: propagate regex compilation errors in search_with_pattern
rishitank Jan 4, 2026
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
67 changes: 67 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
version: 2
updates:
# Rust dependencies (Cargo)
- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
timezone: "Europe/London"
open-pull-requests-limit: 10
commit-message:
prefix: "deps"
labels:
- "dependencies"
- "rust"
reviewers:
- "rishitank"
groups:
# Group minor/patch updates to reduce PR noise
rust-minor-updates:
patterns:
- "*"
update-types:
- "minor"
- "patch"
# Keep major updates separate for careful review
rust-major-updates:
patterns:
- "*"
update-types:
- "major"

# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
timezone: "Europe/London"
open-pull-requests-limit: 5
commit-message:
prefix: "ci"
labels:
- "dependencies"
- "github-actions"
reviewers:
- "rishitank"

# Docker (if Dockerfile exists)
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "09:00"
timezone: "Europe/London"
open-pull-requests-limit: 5
commit-message:
prefix: "docker"
labels:
- "dependencies"
- "docker"
reviewers:
- "rishitank"

96 changes: 93 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,91 @@
name: Release

on:
# Manual trigger with version input
workflow_dispatch:
inputs:
version:
description: 'Release version (e.g., 2.0.1)'
required: true
type: string
prerelease:
description: 'Is this a pre-release?'
required: false
type: boolean
default: false
# Triggered by tag push (manual releases)
push:
tags:
- 'v*'
# Triggered after successful CI on main
workflow_run:
workflows: ["CI"]
types:
- completed
branches:
- main

permissions:
contents: write

jobs:
# Check if release should proceed
check:
runs-on: ubuntu-latest
outputs:
should_release: ${{ steps.check.outputs.should_release }}
version: ${{ steps.check.outputs.version }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Check release conditions
id: check
run: |
# For workflow_dispatch, always release with provided version
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
echo "should_release=true" >> $GITHUB_OUTPUT
echo "version=${{ inputs.version }}" >> $GITHUB_OUTPUT
exit 0
fi

# For tag push, always release
if [ "${{ github.event_name }}" == "push" ] && [[ "${{ github.ref }}" == refs/tags/v* ]]; then
echo "should_release=true" >> $GITHUB_OUTPUT
echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
exit 0
fi

# For workflow_run, check if CI succeeded and version changed
if [ "${{ github.event_name }}" == "workflow_run" ]; then
if [ "${{ github.event.workflow_run.conclusion }}" != "success" ]; then
echo "CI did not succeed, skipping release"
echo "should_release=false" >> $GITHUB_OUTPUT
exit 0
fi

# Get version from Cargo.toml
VERSION=$(grep '^version = ' Cargo.toml | head -1 | sed 's/version = "\(.*\)"/\1/')

# Check if this version tag already exists
if git tag -l "v$VERSION" | grep -q .; then
echo "Tag v$VERSION already exists, skipping release"
echo "should_release=false" >> $GITHUB_OUTPUT
else
echo "New version v$VERSION detected, will release"
echo "should_release=true" >> $GITHUB_OUTPUT
echo "version=$VERSION" >> $GITHUB_OUTPUT
fi
exit 0
fi

echo "Unknown trigger, skipping release"
echo "should_release=false" >> $GITHUB_OUTPUT

build:
needs: check
if: needs.check.outputs.should_release == 'true'
strategy:
matrix:
include:
Expand Down Expand Up @@ -46,24 +122,38 @@ jobs:
path: ${{ matrix.artifact }}

release:
needs: build
needs: [check, build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: artifacts

- name: Create and push tag
if: github.event_name == 'workflow_run' || github.event_name == 'workflow_dispatch'
run: |
VERSION="${{ needs.check.outputs.version }}"
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git tag -a "v$VERSION" -m "Release v$VERSION"
git push origin "v$VERSION"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create Release
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ needs.check.outputs.version }}
name: v${{ needs.check.outputs.version }}
files: |
artifacts/**/*
generate_release_notes: true
draft: false
prerelease: false
prerelease: ${{ github.event_name == 'workflow_dispatch' && inputs.prerelease || false }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

115 changes: 115 additions & 0 deletions .github/workflows/sdk-sync.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
name: SDK Sync Check

# This workflow helps track when the Augment SDK may need updates
# Since the Augment SDK is implemented locally (not from a package registry),
# this workflow periodically checks for API changes and creates issues/reminders

on:
schedule:
# Run every Monday at 10am UTC
- cron: '0 10 * * 1'
workflow_dispatch:
inputs:
create_issue:
description: 'Create a tracking issue'
required: false
type: boolean
default: true

permissions:
contents: read
issues: write

jobs:
check-sdk:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Cache cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}

- name: Check SDK builds successfully
run: cargo build --release

- name: Run SDK tests
run: cargo test --lib -- sdk

- name: Check for SDK-related TODOs
id: todos
run: |
# Find any TODOs related to SDK updates
TODOS=$(grep -r "TODO.*SDK\|TODO.*Augment\|FIXME.*SDK\|FIXME.*Augment" src/sdk/ 2>/dev/null || echo "")
if [ -n "$TODOS" ]; then
echo "Found SDK-related TODOs:"
echo "$TODOS"
echo "has_todos=true" >> $GITHUB_OUTPUT
echo "todos<<EOF" >> $GITHUB_OUTPUT
echo "$TODOS" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
else
echo "No SDK-related TODOs found"
echo "has_todos=false" >> $GITHUB_OUTPUT
fi

- name: Create tracking issue
if: steps.todos.outputs.has_todos == 'true' || github.event.inputs.create_issue == 'true'
uses: actions/github-script@v7
with:
script: |
const todos = `${{ steps.todos.outputs.todos }}`;
const title = `[SDK Sync] Weekly Augment SDK Review - ${new Date().toISOString().split('T')[0]}`;

// Check if issue already exists this week
const { data: issues } = await github.rest.issues.listForRepo({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open',
labels: 'sdk-sync',
per_page: 5
});

const weekStart = new Date();
weekStart.setDate(weekStart.getDate() - weekStart.getDay());

const existingIssue = issues.find(i =>
new Date(i.created_at) >= weekStart
);

if (existingIssue) {
console.log(`Issue already exists: #${existingIssue.number}`);
return;
}

let body = `## Weekly SDK Sync Check\n\n`;
body += `This is an automated reminder to review the Augment SDK implementation.\n\n`;

if (todos) {
body += `### Found TODOs\n\n\`\`\`\n${todos}\n\`\`\`\n\n`;
}

body += `### Checklist\n\n`;
body += `- [ ] Check if Augment API has new endpoints\n`;
body += `- [ ] Review any SDK-related issues or feedback\n`;
body += `- [ ] Update type definitions if needed\n`;
body += `- [ ] Run integration tests with latest API\n`;

await github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title: title,
body: body,
labels: ['sdk-sync', 'maintenance']
});

2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading