docs: remove stale gooseignore references (#10359)
This commit is contained in:
@@ -1,22 +1,22 @@
|
||||
---
|
||||
title: "How to Vibe Code Responsibly (with Goose)"
|
||||
description: Vibe coding feels magical until it isn't. Learn how to flow with Goose while protecting your code, your team, and your future self.
|
||||
authors:
|
||||
title: "How to Vibe Code Responsibly (with goose)"
|
||||
description: Vibe coding feels magical until it isn't. Learn how to flow with goose while protecting your code, your team, and your future self.
|
||||
authors:
|
||||
- rizel
|
||||
---
|
||||
|
||||
# How to Vibe Code Responsibly (with Goose)
|
||||
# How to Vibe Code Responsibly (with goose)
|
||||
|
||||

|
||||
|
||||
On Feb 2, 2025, Andrej Karpathy coined the phrase "[vibe coding](https://x.com/karpathy/status/1886192184808149383)". Vibe coding represents a new approach to coding where developers ask an AI agent to build something, and they go with the flow.
|
||||
On Feb 2, 2025, Andrej Karpathy coined the phrase "[vibe coding](https://x.com/karpathy/status/1886192184808149383)". Vibe coding represents a new approach to coding where developers ask an AI agent to build something, and they go with the flow.
|
||||
|
||||
The [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) makes this practice possible. Before MCP, developers copied and pasted context between applications. This workflow fell short of the promised AI agent automation that everyone claimed. Today, AI agents can work autonomously using MCP and integrate with any application, from GitHub to Cloudflare, YouTube, and Figma.
|
||||
|
||||
This shift democratizes coding. For example, it's empowered:
|
||||
|
||||
* Web developers to create video games with Unity
|
||||
* Designers and product managers to prototype full-stack applications
|
||||
* Web developers to create video games with Unity
|
||||
* Designers and product managers to prototype full-stack applications
|
||||
* Business owners to transform their visions into functional products
|
||||
|
||||
It's a freeing experience. But too often, we're [Icarus](https://www.britannica.com/topic/Icarus-Greek-mythology) with the keyboard, vibe coding too close to the sun.
|
||||
@@ -27,129 +27,116 @@ It's a freeing experience. But too often, we're [Icarus](https://www.britannica.
|
||||
|
||||
This creative freedom comes with significant risks. Many developers have encountered serious issues while vibe coding:
|
||||
|
||||
* Committing code with security vulnerabilities
|
||||
* Introducing difficult-to-fix bugs on top of "spaghetti" code
|
||||
* Losing weeks or months of work due to lack of version control
|
||||
* Committing code with security vulnerabilities
|
||||
* Introducing difficult-to-fix bugs on top of "spaghetti" code
|
||||
* Losing weeks or months of work due to lack of version control
|
||||
* Accidentally exposing sensitive information like environment variables and API keys in production
|
||||
|
||||
<blockquote className="twitter-tweet" data-dnt="true" align="center"><p lang="en" dir="ltr">Today was the worst day ever☹️<br />The project I had been working on for the last two weeks got corrupted, and everything was lost. Just like that, my SaaS was gone. Two weeks of hard work, completely ruined.<br />But!!!<br />I started from scratch and have already completed 50% of the work…</p>— CC Anuj (@vid_anuj) <a href="https://twitter.com/vid_anuj/status/1902379748501880934?ref_src=twsrc%5Etfw">March 19, 2025</a></blockquote>
|
||||
<script async src="https://platform.twitter.com/widgets.js" charSet="utf-8"></script>
|
||||
|
||||
|
||||
## A Better Way to Vibe Code with Goose
|
||||
## A Better Way to Vibe Code with goose
|
||||
|
||||
[Goose](https://goose-docs.ai) is an open source AI agent local to your machine with built-in features for safe vibe coding.
|
||||
[goose](https://goose-docs.ai) is an open source AI agent local to your machine with built-in features for safe vibe coding.
|
||||
|
||||
:::note
|
||||
Most folks define "vibe coding" as purely chaotic development with no rules. I'm redefining it as flowing with AI while protecting your project, team, and future self.
|
||||
:::
|
||||
|
||||
### 1. Use `.gooseignore` to Protect Sensitive Files
|
||||
### 1. Create a plan
|
||||
|
||||
Goose supports [`.gooseignore`](https://goose-docs.ai/docs/guides/using-gooseignore) files. The concept is similar to `.gitignore` files for your AI agent. It defines which files and folders Goose should *not* read, modify, or interact with.
|
||||
|
||||
Use this when you want to prevent:
|
||||
|
||||
* Accidental changes to environment variables
|
||||
* Modifications to sensitive configs
|
||||
* Changes to test fixtures or snapshots
|
||||
* Edits to infrastructure and deployment configs
|
||||
* Changes to code examples or documentation
|
||||
* Shell commands running in places they shouldn't
|
||||
|
||||
### 2. Create a plan
|
||||
|
||||
Goose's [`/plan`](https://goose-docs.ai/docs/guides/goose-cli-commands#examples) command helps you align with your agent before any code is touched, giving you a clear understanding of what it intends to do and how it will do it.
|
||||
goose's [`/plan`](https://goose-docs.ai/docs/guides/goose-cli-commands#examples) command helps you align with your agent before any code is touched, giving you a clear understanding of what it intends to do and how it will do it.
|
||||
|
||||
This is especially useful for tasks that span multiple files, involve side effects, or could impact critical areas of your codebase. No more guesswork—just a structured breakdown you can review and approve.
|
||||
|
||||
### 3. Choose the Right Mode for the Job
|
||||
### 2. Choose the Right Mode for the Job
|
||||
|
||||
While letting your AI agent take the lead is fun, not every moment calls for full autonomy. Sometimes, you need to pause, review, or plan before any code changes. Goose offers several [modes](https://goose-docs.ai/docs/guides/managing-tools/goose-permissions) that help you stay in control without breaking your momentum. Here's how to use them intentionally during your sessions:
|
||||
While letting your AI agent take the lead is fun, not every moment calls for full autonomy. Sometimes, you need to pause, review, or plan before any code changes. goose offers several [modes](https://goose-docs.ai/docs/guides/managing-tools/goose-permissions) that help you stay in control without breaking your momentum. Here's how to use them intentionally during your sessions:
|
||||
|
||||
* **Chat Mode**
|
||||
Goose will only respond with text so that you can brainstorm together.
|
||||
* **Chat Mode**
|
||||
goose will only respond with text so that you can brainstorm together.
|
||||
|
||||
* **Approval Mode**
|
||||
Before Goose executes an action, it asks for your approval. This is helpful when you want to keep building fast but still want to know what's about to happen before it does.
|
||||
* **Approval Mode**
|
||||
Before goose executes an action, it asks for your approval. This is helpful when you want to keep building fast but still want to know what's about to happen before it does.
|
||||
|
||||
* **Smart Approval**
|
||||
In this mode, Goose requests your approval for risky actions. This mode is helpful for prototyping quickly while keeping guardrails in place.
|
||||
* **Smart Approval**
|
||||
In this mode, goose requests your approval for risky actions. This mode is helpful for prototyping quickly while keeping guardrails in place.
|
||||
|
||||
* **Autonomous Mode**
|
||||
In this mode, Goose moves forward without asking for approval. Using this mode is best if you feel confident in the direction and have safety nets in place.
|
||||
* **Autonomous Mode**
|
||||
In this mode, goose moves forward without asking for approval. Using this mode is best if you feel confident in the direction and have safety nets in place.
|
||||
|
||||
### 4. Use Version Control Religiously
|
||||
### 3. Use Version Control Religiously
|
||||
|
||||
There are moments when AI agents change too many files and lines that the Control + Z can't fix. It's best to commit to every change that you or Goose make to get recovery points, clear diffs, and the ability to revert quickly.
|
||||
There are moments when AI agents change too many files and lines that the Control + Z can't fix. It's best to commit to every change that you or goose make to get recovery points, clear diffs, and the ability to revert quickly.
|
||||
|
||||
### 5. Ask Questions and Think Critically
|
||||
### 4. Ask Questions and Think Critically
|
||||
|
||||
Even if you're vibe coding, don't turn off your brain.
|
||||
|
||||
Ask Goose:
|
||||
Ask goose:
|
||||
|
||||
* Why did you make this change?
|
||||
* Is this secure?
|
||||
* How are we handling secrets?
|
||||
* Why did you make this change?
|
||||
* Is this secure?
|
||||
* How are we handling secrets?
|
||||
* Is this the best way to structure the database?
|
||||
|
||||
By pushing your agent to explain itself, you'll build a better product and learn more along the way.
|
||||
|
||||
### 6. Define .goosehints for Better Context
|
||||
### 5. Define .goosehints for Better Context
|
||||
|
||||
The [.goosehints](/docs/guides/context-engineering/using-goosehints) file gives Goose additional context about your project's coding standards, architectural preferences, and security practices.
|
||||
The [.goosehints](/docs/guides/context-engineering/using-goosehints) file gives goose additional context about your project's coding standards, architectural preferences, and security practices.
|
||||
|
||||
Here are a few examples:
|
||||
|
||||
* "Never expose API keys."
|
||||
* "Use prepared statements for database queries."
|
||||
* "Never expose API keys."
|
||||
* "Use prepared statements for database queries."
|
||||
* "Avoid using eval or unsafe dynamic code."
|
||||
|
||||
### 7. Integrate Goose into Your CI/CD
|
||||
### 6. Integrate goose into Your CI/CD
|
||||
|
||||
Before issues hit production, add [Goose to your CI/CD pipeline](/docs/tutorials/cicd) to:
|
||||
- Automate code reviews
|
||||
- Validate documentation
|
||||
- Run security checks
|
||||
Before issues hit production, add [goose to your CI/CD pipeline](/docs/tutorials/cicd) to:
|
||||
- Automate code reviews
|
||||
- Validate documentation
|
||||
- Run security checks
|
||||
|
||||
### 8. Use an Allowlist to Block Unsafe MCP Servers
|
||||
### 7. Use an Allowlist to Block Unsafe MCP Servers
|
||||
|
||||
Some MCP servers can introduce security risks, especially if compromised.
|
||||
|
||||
Use the Goose [allowlist](https://github.com/aaif-goose/goose/blob/main/crates/goose-server/ALLOWLIST.md) feature to prevent Goose from calling unsafe or untrusted tools.
|
||||
Use the goose [allowlist](https://github.com/aaif-goose/goose/blob/main/crates/goose-server/ALLOWLIST.md) feature to prevent goose from calling unsafe or untrusted tools.
|
||||
|
||||
Here's how the team at Block is thinking about [securing the MCP](/blog/2025/03/31/securing-mcp).
|
||||
|
||||
### 9. Pick a High-Performing LLM
|
||||
### 8. Pick a High-Performing LLM
|
||||
|
||||
Not all LLMs are built the same. Goose plays best with:
|
||||
Not all LLMs are built the same. goose plays best with:
|
||||
|
||||
* Claude Sonnet 3.5
|
||||
* GPT-4o
|
||||
* Claude Sonnet 3.5
|
||||
* GPT-4o
|
||||
|
||||
Lower-performing models might work, but they're more likely to hallucinate or misunderstand your goals. Read more about how [different LLM's perform with Goose](https://goose-docs.ai/blog/2025/03/31/goose-benchmark/).
|
||||
Lower-performing models might work, but they're more likely to hallucinate or misunderstand your goals. Read more about how [different LLM's perform with goose](https://goose-docs.ai/blog/2025/03/31/goose-benchmark/).
|
||||
|
||||
## Watch Vibe Coding in Action
|
||||
Here’s how folks vibe code with Goose:
|
||||
## Watch Vibe Coding in Action
|
||||
Here’s how folks vibe code with goose:
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/xZo3aA-vFi4?si=14bVczrCUwdKBZyg" title="The Great Goose Off" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/xZo3aA-vFi4?si=14bVczrCUwdKBZyg" title="The Great goose Off" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
|
||||
|
||||
## Final Thoughts
|
||||
|
||||
Vibe coding isn't inherently wrong. It's marks a new chapter in how we build, and it opens the door for everyone. But experienced developers have a responsibility to define what smart, safe vibe coding looks like. Goose gives us the tools to set that standard, so the whole community can code creatively without sacrificing quality.
|
||||
Vibe coding isn't inherently wrong. It's marks a new chapter in how we build, and it opens the door for everyone. But experienced developers have a responsibility to define what smart, safe vibe coding looks like. goose gives us the tools to set that standard, so the whole community can code creatively without sacrificing quality.
|
||||
|
||||
Download [Goose](https://goose-docs.ai/docs/getting-started/installation/), and start vibe coding with intention today!
|
||||
Download [goose](https://goose-docs.ai/docs/getting-started/installation/), and start vibe coding with intention today!
|
||||
|
||||
<head>
|
||||
<meta property="og:title" content="How to Vibe Code Responsibly (with Goose)" />
|
||||
<meta property="og:title" content="How to Vibe Code Responsibly (with goose)" />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://goose-docs.ai/blog/2025/04/08/vibe-code-responsibly" />
|
||||
<meta property="og:description" content="Vibe coding feels magical until it isn't. Learn how to flow with Goose while protecting your code, your team, and your future self." />
|
||||
<meta property="og:description" content="Vibe coding feels magical until it isn't. Learn how to flow with goose while protecting your code, your team, and your future self." />
|
||||
<meta property="og:image" content="http://goose-docs.ai/assets/images/responsible-vibe-code-a77f5e24a879edda943cc76f1fc0bd2a.png" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:domain" content="goose-docs.ai" />
|
||||
<meta name="twitter:title" content="How to Vibe Code Responsibly (with Goose)" />
|
||||
<meta name="twitter:description" content="Vibe coding feels magical until it isn't. Learn how to flow with Goose while protecting your code, your team, and your future self." />
|
||||
<meta name="twitter:title" content="How to Vibe Code Responsibly (with goose)" />
|
||||
<meta name="twitter:description" content="Vibe coding feels magical until it isn't. Learn how to flow with goose while protecting your code, your team, and your future self." />
|
||||
<meta name="twitter:image" content="http://goose-docs.ai/assets/images/responsible-vibe-code-a77f5e24a879edda943cc76f1fc0bd2a.png" />
|
||||
</head>
|
||||
@@ -28,7 +28,7 @@ goose includes several built-in extensions you can start using out of the box:
|
||||
- [Auto Visualiser](/docs/mcp/autovisualiser-mcp): Automatically generates graphical data visualizations in conversations.
|
||||
|
||||
:::warning Access Control
|
||||
goose operates autonomously by default. Combined with the Developer extension's tools, this means goose can execute commands and modify files without your approval. If you want more control over this behavior, you can configure the [goose permission mode](/docs/guides/managing-tools/goose-permissions), [tool permissions](/docs/guides/managing-tools/tool-permissions), and [.gooseignore files](/docs/guides/context-engineering/using-gooseignore). See [Configuring Access Controls](/docs/mcp/developer-mcp#configuring-access-controls) for a brief overview.
|
||||
goose operates autonomously by default. Combined with the Developer extension's tools, this means goose can execute commands and modify files without your approval. If you want more control over this behavior, you can configure the [goose permission mode](/docs/guides/managing-tools/goose-permissions) and [tool permissions](/docs/guides/managing-tools/tool-permissions). See [Configuring Access Controls](/docs/mcp/developer-mcp#configuring-access-controls) for a brief overview.
|
||||
:::
|
||||
|
||||
### Built-in Platform Extensions
|
||||
|
||||
@@ -120,4 +120,4 @@ If the analysis results exceed 1000 lines, the tool returns a warning message in
|
||||
|
||||
- Start with smaller scopes (specific files or subdirectories) before analyzing entire projects
|
||||
- Use `max_depth=1` or `max_depth=2` to limit directory traversal depth
|
||||
- Use [`.gooseignore`](/docs/guides/context-engineering/using-gooseignore) and `.gitignore` files to exclude unnecessary files from analysis (like `node_modules/`, build artifacts, or sensitive files)
|
||||
- Use `.gitignore` files to exclude unnecessary files from analysis, such as `node_modules/` and build artifacts
|
||||
@@ -55,11 +55,6 @@ import styles from '@site/src/components/Card/styles.module.css';
|
||||
description="Delegate focused tasks to isolated goose instances that can run sequentially or in parallel."
|
||||
link="/docs/guides/context-engineering/subagents"
|
||||
/>
|
||||
<Card
|
||||
title="Using gooseignore"
|
||||
description="Prevent goose from accessing sensitive files and directories by defining global or project-specific ignore rules."
|
||||
link="/docs/guides/context-engineering/using-gooseignore"
|
||||
/>
|
||||
<Card
|
||||
title="Creating Plans"
|
||||
description="Use planning mode to break complex work into clear, manageable steps before goose starts implementation."
|
||||
|
||||
@@ -1,137 +0,0 @@
|
||||
---
|
||||
title: Prevent goose from Accessing Files
|
||||
sidebar_label: Using gooseignore
|
||||
sidebar_position: 9
|
||||
---
|
||||
|
||||
|
||||
`.gooseignore` is a text file that defines patterns for files and directories that goose will not access. This means goose cannot read, modify, delete, or run shell commands on these files when using the Developer extension's tools.
|
||||
|
||||
:::info Developer extension only
|
||||
The .gooseignore feature currently only affects tools in the [Developer](/docs/mcp/developer-mcp) extension. Other extensions are not restricted by these rules.
|
||||
:::
|
||||
|
||||
This guide will show you how to use `.gooseignore` files to prevent goose from changing specific files and directories.
|
||||
|
||||
## Creating your `.gooseignore` file
|
||||
|
||||
goose supports two types of `.gooseignore` files:
|
||||
- **Global ignore file** - Create a `.gooseignore` file in `~/.config/goose`. These restrictions will apply to all your sessions with goose, regardless of directory.
|
||||
- **Local ignore file** - Create a `.gooseignore` file at the root of the directory you'd like it applied to. These restrictions will only apply when working in a specific directory.
|
||||
|
||||
:::tip
|
||||
You can use both global and local `.gooseignore` files simultaneously. When both exist, goose will apply patterns from both files, with local patterns able to override global ones using negation.
|
||||
:::
|
||||
|
||||
## Example `.gooseignore` file
|
||||
|
||||
In your `.gooseignore` file, you can write patterns to match files you want goose to ignore. Here are some common patterns:
|
||||
|
||||
```plaintext
|
||||
# Ignore specific files by name
|
||||
settings.json # Ignore only the file named "settings.json"
|
||||
|
||||
# Ignore files by extension
|
||||
*.pdf # Ignore all PDF files
|
||||
*.config # Ignore all files ending in .config
|
||||
|
||||
# Ignore directories and their contents
|
||||
backup/ # Ignore everything in the "backup" directory
|
||||
downloads/ # Ignore everything in the "downloads" directory
|
||||
|
||||
# Ignore all files with this name in any directory
|
||||
**/credentials.json # Ignore all files named "credentials.json" in any directory
|
||||
```
|
||||
|
||||
## Negation Patterns
|
||||
|
||||
Use the `!` prefix to exclude files from ignore rules. This allows you to ignore broad patterns while allowing specific exceptions.
|
||||
|
||||
Within each `.gooseignore` file, patterns are processed in order from top to bottom, so later patterns can override earlier ones. Negation patterns also work across files - you can use negation in your local `.gooseignore` to allow access to files blocked by your global `.gooseignore`.
|
||||
|
||||
```plaintext
|
||||
# Ignore all environment files
|
||||
**/.env*
|
||||
|
||||
# But allow the example file
|
||||
!.env.example
|
||||
|
||||
# Ignore all log files
|
||||
*.log
|
||||
|
||||
# But allow error logs
|
||||
!error.log
|
||||
|
||||
# Ignore all JSON files in the config directory
|
||||
config/*.json
|
||||
|
||||
# But allow the template
|
||||
!config/template.json
|
||||
```
|
||||
|
||||
:::tip Pattern Order Matters
|
||||
Negation patterns must come after the patterns they're negating. The `!` pattern re-includes files that were previously ignored.
|
||||
:::
|
||||
|
||||
## Ignore File Types and Priority
|
||||
|
||||
goose respects ignore rules from global and local `.gooseignore` files, using a priority system where later patterns can override earlier ones.
|
||||
|
||||
### When You Have Ignore Files
|
||||
|
||||
When `.gooseignore` files exist, patterns are applied in this order:
|
||||
|
||||
1. **Global `.gooseignore`** (applied first)
|
||||
- Located at `~/.config/goose/.gooseignore`
|
||||
- Affects all projects on your machine
|
||||
|
||||
2. **Local `.gooseignore`** (applied second, can override global)
|
||||
- Located in the current working directory (the root of the directory you want these rules applied to)
|
||||
- Project-specific rules that can override global patterns
|
||||
|
||||
```
|
||||
~/.config/goose/
|
||||
└── .gooseignore ← Global patterns applied first
|
||||
|
||||
Project/
|
||||
├── .gooseignore ← Local patterns applied second (can override global)
|
||||
└── src/
|
||||
```
|
||||
|
||||
Because patterns are processed in order, you can use negation patterns in your local `.gooseignore` to allow access to files that were blocked by global patterns.
|
||||
|
||||
**Example: Override global restrictions in a specific project**
|
||||
|
||||
```plaintext
|
||||
# In ~/.config/goose/.gooseignore (global)
|
||||
**/.env* # Block all .env files everywhere
|
||||
|
||||
# In your-project/.gooseignore (local)
|
||||
!.env.example # Allow .env.example in this project only
|
||||
```
|
||||
|
||||
In this example, `.env` and `.env.local` remain blocked, but `.env.example` is accessible in this specific project.
|
||||
|
||||
### Default Patterns (No Ignore Files)
|
||||
|
||||
If you haven't created any `.gooseignore` files (neither global nor local), goose automatically protects these sensitive files:
|
||||
|
||||
```plaintext
|
||||
**/.env
|
||||
**/.env.*
|
||||
**/secrets.*
|
||||
```
|
||||
|
||||
:::info
|
||||
These default patterns are only active when **no** `.gooseignore` files exist. Once you create either a global or local `.gooseignore` file, you'll need to add these patterns yourself if you want to keep them.
|
||||
:::
|
||||
|
||||
## Common use cases
|
||||
|
||||
Here are some typical scenarios where `.gooseignore` is helpful:
|
||||
|
||||
- **Generated Files**: Prevent goose from modifying auto-generated code or build outputs
|
||||
- **Third-Party Code**: Keep goose from changing external libraries or dependencies
|
||||
- **Important Configurations**: Protect critical configuration files from accidental modifications
|
||||
- **Version Control**: Prevent changes to version control files like `.git` directory
|
||||
- **Custom Restrictions**: Create `.gooseignore` files to define which files goose should not access
|
||||
@@ -36,9 +36,6 @@ Consider enabling [Code Mode](/docs/guides/managing-tools/code-mode), an alterna
|
||||
### Teach goose your preferences
|
||||
Help goose remember how you like to work by using [`.goosehints` or other context files](/docs/guides/context-engineering/using-goosehints) or [skills](/docs/guides/context-engineering/using-skills) for permanent project preferences and the [Memory extension](/docs/mcp/memory-mcp) for things you want goose to dynamically recall later. Both can help save valuable context window space while keeping your preferences available.
|
||||
|
||||
### Protect sensitive files
|
||||
goose is often eager to make changes. You can stop it from changing specific files by creating a [.gooseignore](/docs/guides/context-engineering/using-gooseignore) file. In this file, you can list all the file paths you want it to avoid.
|
||||
|
||||
### Version Control
|
||||
Commit your code changes early and often. This allows you to rollback any unexpected changes.
|
||||
|
||||
|
||||
@@ -204,8 +204,6 @@ You can layer multiple controls to match your risk tolerance and workflow:
|
||||
|
||||
- **[Tool Permissions](/docs/guides/managing-tools/tool-permissions)** let you set `Always allow`, `Ask before`, and `Never allow` permissions for individual extension tools when in Manual Approval or Smart Approval modes
|
||||
|
||||
- **[.gooseignore files](/docs/guides/context-engineering/using-gooseignore)** restrict which files and directories goose can access (`.gitignore` files are fallback)
|
||||
|
||||
:::tip Changing Modes In-Session
|
||||
You can change goose permission modes during a session without restarting:
|
||||
- **CLI**: Use the `/mode` command (e.g. `/mode approve`)
|
||||
@@ -224,16 +222,7 @@ Here's an example configuration that enables oversight:
|
||||
GOOSE_MODE: smart_approve # or approve
|
||||
```
|
||||
|
||||
2. **Create a [`.gooseignore` file](/docs/guides/context-engineering/using-gooseignore)** in your project to protect sensitive files:
|
||||
```
|
||||
.env*
|
||||
secrets.*
|
||||
*.key
|
||||
*.pem
|
||||
.git/
|
||||
```
|
||||
|
||||
3. **Configure [tool permissions](/docs/guides/managing-tools/tool-permissions)** based on your needs
|
||||
2. **Configure [tool permissions](/docs/guides/managing-tools/tool-permissions)** based on your needs
|
||||
|
||||
As you become more comfortable with goose's behavior, you can adjust these settings to reduce friction while maintaining appropriate safeguards for your environment.
|
||||
|
||||
|
||||
@@ -233,10 +233,6 @@ const config: Config = {
|
||||
from: "/docs/guides/creating-plans",
|
||||
to: "/docs/guides/context-engineering/creating-plans",
|
||||
},
|
||||
{
|
||||
from: "/docs/guides/using-gooseignore",
|
||||
to: "/docs/guides/context-engineering/using-gooseignore",
|
||||
},
|
||||
{
|
||||
from: "/docs/guides/config-file",
|
||||
to: "/docs/guides/config-files",
|
||||
|
||||
Reference in New Issue
Block a user