Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md
Jules

Jules Actions

Invoke a powerful remote coding agent using GitHub Actions

Get StartedExamplesAPI Docs

Built with Jules

What is Jules?

Jules is a remote AI coding agent from Google Labs powered by Gemini 3 Pro. It works autonomously in a cloud VM—analyzing your codebase, implementing features, fixing bugs, and creating pull requests while you focus on what matters.

This action lets you trigger Jules from any GitHub event: issues, pull requests, schedules, or workflow dispatches.

Check out our example workflows for ideas on using Jules workflows to automatically fix bugs, improve performance, and more!

✨ Quick Start

1. Get a Jules API Key

  1. Authenticate with GitHub at jules.google.com
  2. Generate an API key from your account settings
  3. See API docs for details

2. Add to GitHub Secrets

  1. Go to SettingsSecrets and variablesActions
  2. Click New repository secret
  3. Name: JULES_API_KEY, Value: your key

3. Create a Workflow

Create .github/workflows/security-agent.yml:

name: Daily Security Scan on: schedule: - cron: '0 6 * * *' # Every day at 6 AM workflow_dispatch: jobs: scan: runs-on: ubuntu-latest permissions: contents: read steps: - uses: google-labs-code/jules-invoke@v1 with: prompt: | You are a security agent. Scan for vulnerabilities and fix them: CRITICAL (fix immediately): - Hardcoded secrets, API keys, passwords - SQL injection, command injection - Missing auth on sensitive endpoints HIGH PRIORITY: - XSS, CSRF vulnerabilities - Insecure direct object references - Missing input validation Rules: - Fix highest severity first - Keep changes under 100 lines - Run tests before creating PR jules_api_key: ${{ secrets.JULES_API_KEY }}

Your repo now has a security agent hunting vulnerabilities daily! 🛡️


📋 Inputs

InputDescriptionDefault
promptRequired. The task for Jules to perform.
jules_api_keyRequired. Your Jules API key (use secrets).
starting_branchBranch for Jules to start from.main
include_last_commitInclude the last commit's diff in context.false
include_commit_logInclude recent commit history in context.false

🚀 Example Workflows

Copy these into .github/workflows/ and customize:

ExampleTriggerDescription
weekly-cleanupScheduled (cron)Automated code maintenance and refactoring
performance-improverScheduled (daily)⚡ Hunt and fix performance bottlenecks
bug-fixerIssue labeled bugDiagnose and fix bugs (or implement features) with structured prompts
ci-failure-fixCI workflow failsAutomatically fix failed builds
unblocked-issuesIssue closedWork on issues that were blocked by the closed issue

See examples/README.md for detailed setup instructions.


💡 Writing Good Prompts

Jules excels when you give it clear specifications or measurable targets it can verify. This is especially powerful for scheduled workflows that run continuously.

Example: Weekly Performance Agent

name: Performance Improvement Agent on: schedule: - cron: '0 3 * * 1' # Every Monday at 3 AM jobs: optimize: runs-on: ubuntu-latest steps: - uses: google-labs-code/jules-invoke@v1 with: prompt: | You are a performance improvement agent. Run our benchmark suite and look for optimization opportunities: 1. Run `npm run bench` to get current metrics 2. Identify the slowest endpoints or functions 3. Implement optimizations (caching, query improvements, algorithm changes) 4. Re-run benchmarks to verify improvement 5. Only open a PR if you achieve measurable gains Constraints: - Don't change public API contracts - All existing tests must pass jules_api_key: ${{ secrets.JULES_API_KEY }}

Why this works: Jules can run benchmarks, iterate on solutions, and verify its own success. Give Jules a target it can measure, and it becomes a continuous improvement loop.

More ideas for scheduled agents:

  • Security audit agent (run npm audit, fix vulnerabilities)
  • Dependency updater (update deps, run tests, PR if green)
  • Docs updater agent (update docs based on recent changes)
  • Test coverage improver (find gaps, add tests, target 90%)

🔐 Security

⚠️ Important: Issue-triggered workflows can be exploited by untrusted users opening issues. Always restrict who can trigger Jules for sources like GitHub issues. For things like issues, oftentimes anyone can create an issue so it can be handy to have an allowlist condition for Jules triggering.

Add an allowlist condition to your step:

- name: Invoke Jules # Only runs if user is in the allowlist if: ${{ contains(fromJSON('["trusted-user", "another-user"]'), github.event.issue.user.login) }} uses: google-labs-code/jules-invoke@v1 with: prompt: ...

Best practices:

  • Never commit JULES_API_KEY—always use GitHub Actions secrets
  • Treat Jules like any team member: review its PRs before merging

📚 Resources


Attribution

If you find this useful, add the badge to your README:

[![Built with Jules](https://img.shields.io/badge/Built%20with-Jules-715cd7?link=https://jules.google)](https://jules.google)

Built with ❤️ by Google

JulesAPI DocsReport Issues

关于 About

Add a powerful cloud coding agent to your GitHub workflows
agentaiai-agentscoding-agentsjules

语言 Languages

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
11
Total Commits
峰值: 4次/周
Less
More

核心贡献者 Contributors