mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-04-25 07:09:59 -07:00
173 lines
7.7 KiB
Markdown
173 lines
7.7 KiB
Markdown
# README Generation Prompt
|
|
|
|
Generate a professional, comprehensive README.md for each crate based SOLELY on code analysis. Use NO external documentation, commit messages, or existing READMEs.
|
|
|
|
## MANDATORY PROCESS - FOLLOW EXACTLY:
|
|
1. **IGNORE EXISTING DOCS**: Do NOT read any .md, .txt, .rst, or documentation files in the crate directory
|
|
2. **CODE-ONLY ANALYSIS**: Examine ONLY these files:
|
|
- All .rs files in src/ directory and subdirectories
|
|
- Cargo.toml for dependencies and metadata
|
|
- Code structure and organization
|
|
3. **MANDATORY CODE ANALYSIS**: Before writing ANY README content, you MUST:
|
|
- Examine all Rust files in src/ directory
|
|
- Identify the main structs, enums, traits, and functions
|
|
- Understand the crate's architecture and data flow
|
|
- Determine the crate's purpose from its implementation
|
|
- Map dependencies to understand external integrations
|
|
4. **FRESH PERSPECTIVE**: Write the README as if you're the first person to document this crate
|
|
5. Generate one complete README.md per crate
|
|
6. Focus on one crate at a time for thorough analysis
|
|
|
|
## ABSOLUTE REQUIREMENTS:
|
|
- **SOURCE OF TRUTH**: Use ONLY the actual Rust code - no external docs, comments may provide hints but focus on implementation
|
|
- **CRITICAL**: DO NOT read any existing README.md, CHANGELOG.md, or documentation files
|
|
- **IGNORE ALL TEXT FILES**: .md, .txt, .rst files are FORBIDDEN sources - treat them as if they don't exist
|
|
- **CODE ONLY**: Focus exclusively on .rs files, Cargo.toml, and code structure
|
|
- **PROFESSIONAL GRADE**: Write as if this will be published on crates.io for other developers
|
|
- **PROGRAMMER FOCUSED**: Assume audience knows Rust and relevant domain concepts
|
|
- **IMPLEMENTATION-BASED**: Describe what the code actually does, not what comments claim it should do
|
|
- **If you cannot determine functionality from code alone, state this explicitly**
|
|
|
|
## README STRUCTURE (MANDATORY):
|
|
|
|
### 1. CRATE HEADER
|
|
```markdown
|
|
# Crate Name
|
|
|
|
Brief one-line description of what this crate does (max 80 chars).
|
|
|
|
[](https://crates.io/crates/CRATE_NAME)
|
|
[](https://docs.rs/CRATE_NAME)
|
|
```
|
|
|
|
### 2. OVERVIEW SECTION
|
|
- **Purpose**: What problem does this crate solve?
|
|
- **Key Features**: 3-5 bullet points of main capabilities (derived from code analysis)
|
|
- **Target Use Cases**: Who would use this and for what?
|
|
|
|
### 3. INSTALLATION
|
|
```toml
|
|
[dependencies]
|
|
crate_name = "X.Y.Z"
|
|
```
|
|
|
|
### 4. QUICK START / USAGE
|
|
- **Minimal working example** showing the primary API
|
|
- **Common patterns** observed in the code
|
|
- **Key structs/traits** that users will interact with
|
|
|
|
### 5. API OVERVIEW
|
|
- **Core Types**: Main structs, enums, traits with brief descriptions
|
|
- **Key Methods**: Most important public functions
|
|
- **Module Structure**: Brief overview of how code is organized
|
|
|
|
### 6. FEATURES (if applicable)
|
|
- Cargo features and what they enable
|
|
- Optional dependencies and their purpose
|
|
|
|
### 7. EXAMPLES
|
|
- 2-3 practical code examples showing different use cases
|
|
- Based on public API analysis, not existing examples
|
|
|
|
## WRITING REQUIREMENTS:
|
|
|
|
### TONE AND STYLE:
|
|
- **Concise but comprehensive**: Every sentence must add value
|
|
- **Technical precision**: Use exact terminology, avoid marketing speak
|
|
- **Active voice**: "Provides X" not "X is provided"
|
|
- **Present tense**: "The crate handles..." not "The crate will handle..."
|
|
|
|
### FORBIDDEN PATTERNS:
|
|
- **NEVER** use vague terms: "powerful", "flexible", "robust", "comprehensive", "advanced"
|
|
- **NEVER** write marketing copy: "cutting-edge", "state-of-the-art", "enterprise-grade"
|
|
- **NEVER** make claims you can't verify from code: "blazingly fast", "memory efficient"
|
|
- **NEVER** copy-paste from existing documentation or comments
|
|
- **NEVER** read or reference existing README.md files - pretend they don't exist
|
|
- **NEVER** use phrases like "as mentioned in the documentation" or "according to the docs"
|
|
- **NEVER** let existing documentation influence your analysis or writing
|
|
|
|
### REQUIRED SPECIFICITY:
|
|
- **Data structures**: Mention specific types (HashMap, Vec, etc.)
|
|
- **Algorithms**: Reference actual implementations found in code
|
|
- **Integration points**: Specific traits implemented, dependencies used
|
|
- **Error handling**: How errors are represented and handled
|
|
- **Async/sync**: Clearly state if operations are blocking or async
|
|
|
|
### ANTI-BIAS PROTOCOL:
|
|
|
|
### BEFORE STARTING ANY ANALYSIS:
|
|
1. **Explicitly ignore**: Any README.md, CHANGELOG.md, docs/, documentation files
|
|
2. **File filtering**: Only examine .rs and Cargo.toml files
|
|
3. **Fresh eyes approach**: Analyze the code as if you've never seen this crate before
|
|
4. **Independent thinking**: Form your own understanding purely from code inspection
|
|
|
|
### IF YOU ACCIDENTALLY READ EXISTING DOCS:
|
|
- Stop immediately and restart your analysis
|
|
- Consciously disregard any information from documentation files
|
|
- Base all descriptions solely on what you observe in the code
|
|
- Ask yourself: "What would I think this code does if I had no documentation?"
|
|
|
|
### VALIDATION CHECKS:
|
|
- **Unique descriptions**: Your descriptions should differ significantly from any existing docs
|
|
- **Code-derived insights**: Every feature mentioned must be visible in the source code
|
|
- **Independent voice**: Write in your own technical style, not mimicking existing documentation
|
|
- **Fresh examples**: Create new code examples based on API analysis, not existing samples
|
|
|
|
## CODE ANALYSIS DEPTH:
|
|
**You MUST analyze and understand:**
|
|
1. **Public API surface**: All pub structs, functions, traits, modules
|
|
2. **Core abstractions**: Main data types and their relationships
|
|
3. **Error types**: Custom errors, Result patterns, panic conditions
|
|
4. **Dependencies**: How external crates are integrated
|
|
5. **Feature flags**: Conditional compilation and optional functionality
|
|
6. **Async patterns**: Use of futures, tokio, async-std, etc.
|
|
7. **Serialization**: Serde implementations, custom serialization
|
|
8. **Performance characteristics**: Algorithm complexity where obvious
|
|
|
|
### EXAMPLE STRUCTURE ANALYSIS OUTPUT:
|
|
```markdown
|
|
## Code Analysis Summary
|
|
**Main Types**: `BlockProcessor`, `Transaction`, `ValidationError`
|
|
**Core Trait**: `Validator` - implemented by `BasicValidator` and `StrictValidator`
|
|
**Async Support**: All processing methods return `impl Future`
|
|
**Error Handling**: Custom `ValidationError` enum with specific error types
|
|
**Dependencies**: Uses `tokio` for async runtime, `serde` for serialization
|
|
**Architecture**: Pipeline pattern with configurable validation stages
|
|
```
|
|
|
|
## EXAMPLES OF QUALITY:
|
|
|
|
### ❌ BAD (VAGUE):
|
|
```markdown
|
|
# My Crate
|
|
A powerful and flexible library for blockchain operations.
|
|
|
|
## Features
|
|
- Fast processing
|
|
- Easy to use
|
|
- Robust error handling
|
|
```
|
|
|
|
### ✅ GOOD (SPECIFIC):
|
|
```markdown
|
|
# brk-chain-analyzer
|
|
Bitcoin blockchain analysis tools for transaction pattern detection.
|
|
|
|
## Overview
|
|
Provides utilities for analyzing Bitcoin transaction data, detecting address clustering patterns, and computing blockchain statistics. Built around a streaming parser that processes block data without loading entire blocks into memory.
|
|
|
|
## Key Types
|
|
- `TransactionAnalyzer`: Stateful analyzer for computing fees, detecting coinbase transactions
|
|
- `ClusterDetector`: Implements common input ownership heuristics for address clustering
|
|
- `BlockStream`: Async iterator over blockchain data with configurable batch sizes
|
|
```
|
|
|
|
## FINAL REQUIREMENTS:
|
|
- **One README per crate** - don't combine multiple crates
|
|
- **Minimum 200 words** - be thorough but concise
|
|
- **Maximum 800 words** - stay focused and relevant
|
|
- **Code examples must be syntactically correct** and compilable
|
|
- **All claims must be verifiable** from the source code
|
|
|
|
**PROCESS ONE CRATE AT A TIME. ANALYZE THE CODE THOROUGHLY BEFORE WRITING.**
|