-
Notifications
You must be signed in to change notification settings - Fork 57
docs: rewrite AGENTS.md as a concise agent operating guide #307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Streamline from verbose reference doc to focused operating guide with architecture diagram, first-5-minutes checklist, change strategy, and quality gate sections. Remove redundant code style examples already enforced by ruff.
- Add step to checklist for picking make targets before raw uv commands - Add quick make command map for common workflows - Expand testing section with per-package targets and iteration tips - Add make verify-imports to useful commands - Refine quality gate with license header and check-all reminders Co-authored-by: Cursor <cursoragent@cursor.com>
Greptile OverviewGreptile SummaryComplete rewrite of
The rewrite removes verbose examples and detailed listings (PEP 8 naming examples, testing patterns with code samples, pre-commit hooks documentation, active linter rules listing) in favor of concise, actionable guidance. All technical references to file paths,
|
| Filename | Overview |
|---|---|
| AGENTS.md | rewrites documentation as concise agent guide with architecture diagram, checklists, and streamlined workflow - missing two column config types from list |
Sequence Diagram
sequenceDiagram
participant User as User/App Code
participant Builder as DataDesignerConfigBuilder
participant Interface as DataDesigner Interface
participant ResourceProvider as ResourceProvider
participant Compiler as compile_data_designer_config
participant ColumnBuilder as ColumnWiseDatasetBuilder
participant DAG as DAG Sorter
participant Registry as DataDesignerRegistry
participant Generators as Column Generators
participant BatchManager as DatasetBatchManager
participant Processors as Processors
participant Storage as ArtifactStorage
participant Profiler as DatasetProfiler
User->>Builder: create config (add_column calls)
Builder->>Builder: build() → DataDesignerConfig
User->>Interface: generate() or validate()
Interface->>ResourceProvider: create_resource_provider()
ResourceProvider->>ResourceProvider: initialize ModelRegistry, MCPRegistry, SeedReaderRegistry, ArtifactStorage
Interface->>Compiler: compile_data_designer_config()
Compiler->>ColumnBuilder: create ColumnWiseDatasetBuilder
ColumnBuilder->>DAG: sort columns by dependencies
DAG->>Registry: resolve generators/validators from config
Registry->>Generators: instantiate column generators
loop For each batch
Generators->>BatchManager: generate column data
BatchManager->>Processors: apply processors
Processors->>Storage: store artifacts
end
Storage->>Profiler: profile dataset
Profiler->>Interface: return results
Interface->>User: return DataDesignerResult
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1 file reviewed, 1 comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1 file reviewed, 1 comment
| ## Non-Negotiable Coding Rules | ||
|
|
||
| ### Code Quality | ||
| - Add type annotations to all functions/methods/class attributes (including tests). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - Add type annotations to all functions/methods/class attributes (including tests). | |
| - Design code with KISS, DRY, YAGNI, and SOLID software engineering principles. | |
| - Add type annotations to all functions/methods/class attributes (including tests). |
| - Use double quotes for strings. | ||
| - Keep lines `<= 120` chars. | ||
| - Avoid vacuous comments; comment only non-obvious logic. | ||
| - Prefer `make` targets over raw tool commands when a matching `Makefile` target exists. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - Prefer `make` targets over raw tool commands when a matching `Makefile` target exists. | |
| - Write function based unit tests without complicated mocking and fixtures. Only test via public api never accessing private properties or methods of classes/modules being tested. | |
| - Prefer `make` targets over raw tool commands when a matching `Makefile` target exists. |
| def get_model(model: ModelFacade) -> str: | ||
| return model.name | ||
| # full test pass before large merge-ready change | ||
| make test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add something about make coverage and that coverage >= 90%?
| - `LLMJudgeColumnConfig` | ||
| - `ExpressionColumnConfig` | ||
| - `ValidationColumnConfig` | ||
| - `SeedDatasetColumnConfig` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does this mean we need to keep this up to date?
📋 Summary
Rewrites
AGENTS.mdfrom a verbose ~574-line reference document into a concise ~230-line operating guide, optimized for agent consumption with clear priorities, actionable checklists, and a visual architecture diagram.🔄 Changes
🔧 Changed
AGENTS.md: Complete rewrite with the following structural improvements:maketargets🗑️ Removed
🤖 Generated with AI
Made with Cursor