Initial commit: homelab infrastructure wiki

- Full Obsidian vault content
- Host configs (ice, grizzley, ubuntu, proxmox, truenas, panda, hyte)
- Media stack documentation
- Traefik HA setup
- Automation scripts
- Bachelor party planning
This commit is contained in:
Hermes Agent
2026-05-24 16:08:40 -07:00
parent d132442429
commit e4d91aadf9
285 changed files with 30018 additions and 0 deletions

View File

@@ -0,0 +1,148 @@
---
type: agent-doc
agent: ForgeCode
source: https://forgecode.dev/blog/forge-v0.98.0-release-article/
scraped: 2026-04-28T19:05:00.074136+00:00
content_hash: c6e9bf79
---
# ForgeCode v0.98.0: Integrated Authentication and Developer Experience Improvements
July 6, 2025 - ForgeCode v0.98.0 introduces browser-based authentication, tool failure limits, and enhanced file operations to improve reliability and user experience.
## What's New
### Browser-Based Authentication
v0.98.0 replaces manual API key configuration with browser-based authentication that integrates with app.forgecode.dev.
#### Setup Process
1. Install ForgeCode: curl -fsSL https://forgecode.dev/cli | sh
2. Run forge
3. ForgeCode opens your browser to app.forgecode.dev
4. Sign in with Google or GitHub
5. Authorize the app
6. Return to terminal - authentication is complete
![ForgeCode browser authentication setup - AI coding assistant terminal login process showing seamless Google and GitHub integration](https://forgecode.dev/images/blog/login-newuser.gif)
Complete authentication setup in under 30 seconds
The system waits for the authentication server until login completes.
![Terminal Authentication Progress](https://forgecode.dev/images/blog/login-progress.png)
Terminal shows authentication progress with clear status updates
#### Migration from API Keys
Existing users: Your current API key configuration will continue working. The browser-based auth is optional and can be used alongside existing setups.
For automation/CI: API key authentication remains available for scripts and automated environments where browser access isn't available.
### Safety Limits and Auto-Stop
ForgeCode now includes automatic safety limits to prevent infinite loops and runaway processes. There are two separate systems that work together to keep things under control.
#### System 1: Consecutive Tool Failure Limit (Hard Stop)
What it does: Tracks tool failures in a row and terminates the conversation when too many happen consecutively.
Default limit: 5 consecutive failures What triggers it: File permission errors, invalid parameters, network issues - anything that makes tools fail repeatedly What happens: ForgeCode asks: "Do you want to continue anyway?"
```
Tool execution failure limit exceeded - terminating conversationto prevent infinite retry loops.
```
Key point: This counter resets when any tool succeeds. It only cares about failures happening back-to-back.
![Tool Failure Limit Dialog](https://forgecode.dev/images/blog/tool-call-limit.gif)
Hard stop when consecutive failures hit the limit
#### System 2: Overall Turn Limits (User Intervention)
What it does: Monitors the total activity in a single conversation turn and asks if you want to continue when limits are hit.
Default limits:
- 50 total requests per turn
What happens: ForgeCode asks: "Do you want to continue anyway?"
Configuration in forge.yaml:
```
max_requests_per_turn: 50 # Total requests before asking usermax_tool_failure_per_turn: 3 # Total failures before asking user
```
Problem solved: Prevents scenarios where agents get stuck in retry cycles due to environmental issues, permission problems, or invalid parameters that require human intervention rather than continued automated attempts.
> Safety mechanism activates when operational limits are reached
### Enhanced File Operations
#### Replace-All Patch Operation
The file patching system now supports replace_all operations for comprehensive refactoring tasks.
Previous behavior: replace operation only modified the first occurrence New behavior: replace_all operation modifies all occurrences in the target file
![Replace All Operation Demo](https://forgecode.dev/images/blog/replace-all.gif)
Replace-all operation updating multiple function names across a file
This is particularly useful for:
- Variable and function renaming
- Import statement updates
- Consistent refactoring across large files
## Breaking Changes
None. v0.98.0 maintains backward compatibility with existing API key configurations.
## Troubleshooting
### Authentication Issues
Browser doesn't open: Manually navigate to the URL displayed in the terminal Login timeout: Check network connectivity and retry Permission errors: Ensure ForgeCode has permission to write to config directory
Frequent limit hits: Check file permissions. Need higher limits: Adjust configuration in forge.yaml Unexpected failures: Review error messages for specific tool issues
## Getting Started
### New Users
```
curl -fsSL https://forgecode.dev/cli | shforge# Follow browser authentication prompts
```
Complete setup experience for first-time users
### Existing Users
```
forge# Optionally set up browser auth (by removing API keys from .env)# Continue using existing API key if preferred
```
Smooth transition options for users with existing API key setups
### Automation/CI
Continue using API key authentication for automated environments:
```
export FORGE_KEY=your_keyforge
```
## Resources
- Documentation - Setup guides and API reference
- GitHub Repository - Source code and issues
- Discord Community - Support and discussions
- Release Notes - Complete changelog
---
v0.98.0 focuses on reliability and ease of use while maintaining the flexibility developers need for various workflows. The browser-based authentication removes setup friction for new users while preserving API key support for automation and power users.