agentleFS
hiromailyhiromaily/go-crypto-wallet/pkg/AGENTS.md

go-crypto-wallet / pkg

AGENTS.md128 starsChanged 6 months agoMITView on GitHub

Guidelines for AI agents working on packages in the pkg/ directory. The pkg/ directory contains public packages that can be imported by external code. These packages provide shared utilities, configuration management, logging, and common functionality. Packages in pkg/ MUST NOT import from internal/ directory. This is non-negotiable:

We split this AGENTS.md into the rules it gives an agent

1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use context.Context for cancellation

    line 62

≈ “Common” is an estimate: at least 1 in 5 of the 36,368 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

pkg/ Directory Guidelines

Guidelines for AI agents working on packages in the pkg/ directory.

Overview

The pkg/ directory contains public packages that can be imported by external code. These packages provide shared utilities, configuration management, logging, and common functionality.

Directory Structure

pkg/
├── config/         # Configuration management (account, wallet, loader)
├── cryptocurrency/ # Crypto utilities (btc, bch, eth, xrp)
├── db/             # Database connections (mysql, sqlite)
├── debug/          # Debug utilities
├── decimal/        # Decimal number utilities
├── di/             # Legacy DI container (panic allowed)
├── grpc/           # gRPC client utilities
├── logger/         # Logging (global, slog, noop)
├── null/           # Null value converters
├── retry/          # Retry with exponential backoff
├── serializer/     # Serialization utilities
├── uuid/           # UUID generation
└── websocket/      # WebSocket client

Critical Rule

Packages in pkg/ MUST NOT import from internal/ directory.

This is non-negotiable:

  • pkg/ = public APIs for external code
  • internal/ = internal implementation details
  • Mixing breaks encapsulation and creates circular dependencies

Common Commands

make go-lint      # Lint and auto-fix
make check-build  # Build verification
make go-test       # Run unit tests
make tidy         # go mod tidy

Patterns

Avoid

  • Importing from internal/
  • Using panic (except pkg/di legacy)
  • Commented-out code
  • Ignoring errors
  • Logging sensitive information

Recommended

  • Self-contained utility functions
  • Proper error wrapping with context
  • Use context.Context for cancellation
  • Unit tests for exported functions

Important Notes

  • Financial project - make changes carefully
  • Public APIs - consider backward compatibility
  • DO NOT edit files with DO NOT EDIT comments

References

Rules

  • .claude/rules/go/conventions.md - Go conventions

Guidelines

  • Coding Conventions
  • Security
  • Testing

Other

  • AGENTS.md - Root agent guidelines
  • internal/AGENTS.md - Internal packages

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.