📦 deps(thirdparty): update snapshots
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
# Code Architecture Analysis Agent
|
||||
|
||||
You are analyzing a codebase to understand its architecture for building agent harness infrastructure.
|
||||
|
||||
## Your Task
|
||||
|
||||
Produce a complete architectural analysis that can be used by other agents to create documentation, linters, and configuration.
|
||||
|
||||
## Step-by-Step
|
||||
|
||||
### 1. Identify Tech Stack
|
||||
|
||||
```bash
|
||||
ls go.mod package.json requirements.txt pyproject.toml Cargo.toml 2>/dev/null
|
||||
```
|
||||
|
||||
Record: language, version, key dependencies.
|
||||
|
||||
### 2. Map Directory Structure
|
||||
|
||||
```bash
|
||||
find . -type f \( -name "*.go" -o -name "*.ts" -o -name "*.js" -o -name "*.py" -o -name "*.rs" \) \
|
||||
! -path './.git/*' ! -path './node_modules/*' ! -path './vendor/*' | head -100
|
||||
```
|
||||
|
||||
Identify the organizational pattern (cmd/ + internal/, src/ + lib/, etc.)
|
||||
|
||||
### 3. Build Layer Hierarchy from Imports
|
||||
|
||||
This is the most critical step. Analyze actual import relationships:
|
||||
|
||||
**Go**: `grep -r '"module-path/' --include="*.go"` or `go list -json ./...`
|
||||
**TypeScript**: `grep -r "from ['\"]\.\.?/" --include="*.ts" --include="*.tsx"`
|
||||
**Python**: `grep -r "^from \." --include="*.py"`
|
||||
|
||||
Assign layers bottom-up:
|
||||
- Layer 0: Packages with ZERO internal imports
|
||||
- Layer N: Packages that only import from layers < N
|
||||
|
||||
Record every package and its layer assignment.
|
||||
|
||||
### 4. Detect Circular Dependencies
|
||||
|
||||
If Package A imports Package B AND Package B imports Package A → P0 issue.
|
||||
|
||||
Record:
|
||||
- Files involved (with line numbers)
|
||||
- Type: direct vs transitive
|
||||
- Suggested fix
|
||||
|
||||
### 5. Extract Key Interfaces
|
||||
|
||||
Search for interface/abstract definitions:
|
||||
- Go: `grep -r "type.*interface" --include="*.go"`
|
||||
- TypeScript: `grep -r "interface\|abstract class" --include="*.ts"`
|
||||
- Python: `grep -r "@abstractmethod" --include="*.py"`
|
||||
|
||||
For each key interface, record: name, location (file:line), methods, implementations, usage sites.
|
||||
|
||||
### 6. Trace Critical Code Paths
|
||||
|
||||
Pick 3-5 representative paths (happy path, error path, complex flow, background job).
|
||||
|
||||
For each, trace from entry point through all layers:
|
||||
```
|
||||
[file:line] function_name()
|
||||
↓ calls
|
||||
[file:line] another_function()
|
||||
↓ returns
|
||||
...
|
||||
```
|
||||
|
||||
### 7. Catalog Error Handling Patterns
|
||||
|
||||
Identify:
|
||||
- Typed errors vs strings?
|
||||
- Error wrapping convention?
|
||||
- Error code registry?
|
||||
- Structured logging?
|
||||
- Retry logic?
|
||||
|
||||
## Output Format
|
||||
|
||||
Save results to `harness/.analysis/architecture.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"tech_stack": {
|
||||
"language": "Go",
|
||||
"version": "1.22",
|
||||
"module_path": "github.com/org/project",
|
||||
"key_dependencies": ["chi", "pgx", "zap"]
|
||||
},
|
||||
"layers": [
|
||||
{"level": 0, "packages": ["internal/types", "internal/errors"], "description": "Core types, zero internal deps"},
|
||||
{"level": 1, "packages": ["internal/utils", "internal/logging"], "description": "Utilities, only imports L0"},
|
||||
{"level": 2, "packages": ["internal/core", "internal/auth"], "description": "Business logic"}
|
||||
],
|
||||
"circular_dependencies": [
|
||||
{"pkg_a": "internal/auth", "pkg_b": "internal/core", "files": ["auth/middleware.go:15", "core/service.go:23"], "suggested_fix": "Extract shared interface"}
|
||||
],
|
||||
"key_interfaces": [
|
||||
{"name": "UserService", "location": "internal/core/user.go:10-25", "methods": ["GetUser", "CreateUser"], "implementations": ["internal/core/user_impl.go"]}
|
||||
],
|
||||
"code_paths": [
|
||||
{"name": "Create User", "trigger": "POST /api/users", "flow": ["cmd/api.go:45", "core/user.go:30", "storage/user.go:15"]}
|
||||
],
|
||||
"error_patterns": {
|
||||
"style": "typed_errors",
|
||||
"wrapping": true,
|
||||
"structured_logging": true,
|
||||
"error_registry": "internal/errors/codes.go"
|
||||
},
|
||||
"total_files": 45,
|
||||
"total_lines": 3500
|
||||
}
|
||||
```
|
||||
|
||||
Also write a human-readable summary to `harness/.analysis/architecture-summary.md`.
|
||||
Reference in New Issue
Block a user