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
76 changes: 76 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,82 @@ We welcome pull requests for general contributions! If you have a larger new fea
> [!TIP]
> Beyond code, check out [other ways to contribute](#other-ways-to-contribute)

---

## 🎉 Hacktoberfest 2025 🎉

`goose` is a participating in Hacktoberfest 2025! We’re so excited for your contributions, and have created a wide variety of issues so that anyone can contribute. Whether you're a seasoned developer or a first-time open source contributor, there's something for everyone.

### Here's how you can get started:

1. Read the [code of conduct](https://github.com/block/.github/blob/main/CODE_OF_CONDUCT.md).
2. Skim the quick AI contribution tips below (and see the [full Responsible AI-Assisted Coding Guide](./ai-assisted-coding-guide.md) for details).
3. Choose a task from this project's Hacktoberfest issues in our [Project Hub](https://github.com/block/goose/issues/4705). Each issue has the 🏷️ `hacktoberfest` label.
4. Comment ".take" on the corresponding issue to get assigned the task.
5. Fork the repository and create a new branch for your work.
6. Make your changes and submit a pull request.
7. Wait for review and address any feedback.

---

### 🤖 Quick Responsible AI Tips

If you use Goose, Copilot, Claude, or other AI tools to help with your PRs:

**✅ Good Uses**

- Boilerplate code and common patterns
- Test generation
- Docs and comments
- Refactoring for clarity
- Utility functions/helpers

**❌ Avoid AI For**

- Security-critical logic
- Complex business rules you don’t understand
- Large architectural or schema changes

**Quality Checklist**

- Understand every line of code you submit
- All tests pass locally
- Code follows Goose’s patterns
- Document your changes
- Ask for review if security or core code is involved

👉 Full guide here: [Responsible AI-Assisted Coding Guide](./ai-assisted-coding-guide.md)

---

### 🏆 Leaderboard & Prizes

Every hacktoberfest PR and contribution will earn you points on our [leaderboard](https://github.com/block/goose/issues/4775). Those who end up in the top 20 participants with the most points by the end of October will earn exclusive swag and LLM credits! As you have issues merged, here is a brief explanation on how our automatic points system works.

#### Point System

| Weight | Points Awarded | Description |
|---------|-------------|-------------|
| 🐭 **Small** | 5 points | For smaller tasks that take limited time to complete and/or don't require any product knowledge. |
| 🐰 **Medium** | 10 points | For average tasks that take additional time to complete and/or require some product knowledge. |
| 🐂 **Large** | 15 points | For heavy tasks that takes lots of time to complete and/or possibly require deep product knowledge. |

#### Prizes You Can Win

- **Top 5**: $100 gift card to our [brand new goose swag shop](https://www.gooseswag.xyz/) and $100 of LLM credits!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added the shop link I forgot to share! Looks great otherwise c:

- **Top 6-10**: $50 gift cards for goose swag shop and $50 of LLM credits!
- **Top 11-20**: $25 of LLM credits!

Keep an eye on your progress via our [Leaderboard](https://github.com/block/goose/issues/4775).

### 👩‍ Need help?

Need help or have questions? Feel free to reach out by connecting with us in our [Discord community](https://discord.gg/block-opensource) to get direct help from our team in the `#hacktoberfest` project channel.

Happy contributing!

---

## Prerequisites

Goose includes rust binaries alongside an electron app for the GUI. To work
Expand Down
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,20 @@ _a local, extensible, open source AI agent that automates engineering tasks_
</p>
</div>

## 🎉 Hacktoberfest 2025 🎉

`goose` is a participating project in Hacktoberfest 2025! We’re so excited for your contributions, and have created a wide variety of issues so that anyone can contribute. Whether you're a seasoned developer or a first-time open source contributor, there's something for everyone.

### To get started:
1. Read the [contributing guide](https://github.com/block/goose/blob/main/CONTRIBUTING.md).
2. Read the [code of conduct](https://github.com/block/.github/blob/main/CODE_OF_CONDUCT.md).
3. Read the [full Responsible AI-Assisted Coding Guide](./ai-assisted-coding-guide.md).
4. Choose a task from this project's Hacktoberfest issues in our [Project Hub](https://github.com/block/goose/issues/4705) and follow the instructions. Each issue has the 🏷️ `hacktoberfest` label.

Have questions? Connecting with us in our [Discord community](https://discord.gg/block-opensource) in the `#hacktoberfest` project channel.

---

goose is your on-machine AI agent, capable of automating complex development tasks from start to finish. More than just code suggestions, goose can build entire projects from scratch, write and execute code, debug failures, orchestrate workflows, and interact with external APIs - _autonomously_.

Whether you're prototyping an idea, refining existing code, or managing intricate engineering pipelines, goose adapts to your workflow and executes tasks with precision.
Expand Down
91 changes: 91 additions & 0 deletions ai-assisted-coding-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Responsible AI-Assisted Coding Guide
_Guidelines for contributing responsibly to goose during Hacktoberfest_

goose benefits from thoughtful AI assisted development, but contributors must maintain high standards for code quality, security, and collaboration. Whether you use goose, Copilot, Claude, or other AI tools, these principles will help you avoid common pitfalls.

---

## Core Principles

- **Human Oversight**: You are accountable for all code you submit. Never commit code you don’t understand or can’t maintain.
- **Quality Standards**: AI code must meet the same standards as human written code—tests, docs, and patterns included.
- **Transparency**: Be open about significant AI usage in PRs and explain how you validated it.

---

## Best Practices

**✅ Recommended Uses**

- Generating boilerplate code and common patterns
- Creating comprehensive test suites
- Writing documentation and comments
- Refactoring existing code for clarity
- Generating utility functions and helpers
- Explaining existing code patterns

**❌ Avoid AI For**

- Complex business logic without thorough review
- Security critical authentication/authorization code
- Code you don’t fully understand
- Large architectural changes
- Database migrations or schema changes

**Workflow Tips**

- Start small and validate often—build, lint, and test incrementally
- Study existing patterns before generating new code
- Always ask: “Is this secure? Does it follow project patterns? What edge cases need testing?”

**Security Considerations**

- Extra review required for MCP servers, network code, file system ops, user input, and credential handling
- Never expose secrets in prompts
- Sanitize inputs/outputs and follow goose’s security patterns

---

## Testing & Review

Before submitting AI assisted code, confirm that:
- You understand every line
- All tests pass locally (happy path + error cases)
- Docs are updated and accurate
- Code follows existing patterns

**Always get human review** for:

- Security sensitive code
- Core architecture changes
- Async/concurrency logic
- MCP protocol implementations
- Large refactors or anything you’re unsure about

---

## Using goose for goose Development

- Protect sensitive files with `.gooseignore` (e.g., `.env*`, `*.key`, `target/`, `.git/`)
- Guide Goose with `.goosehints` (patterns, error handling, formatting, tests, docs)
- Use `/plan` to structure work, and choose modes wisely:
- **Chat** for understanding
- **Smart Approval** for most dev work
- **Approval** for critical areas
- **Autonomous** only with safety nets

---

## Community & Collaboration

- In PRs, note significant AI use and how you validated results
- Share prompting tips, patterns, and pitfalls
- Be responsive to feedback and help improve this guide

---

## Remember

AI is a powerful assistant, not a replacement for your judgment. Use it to speed up development; while keeping your brain engaged, your standards high, and goose secure.

Questions? Join our [Discord](https://discord.gg/block-opensource) or [GitHub Discussions](https://github.com/block/goose/discussions) to talk more about responsible AI development.