RuleStack

Configs

Stacks

Compare

Diff

RuleStack

Configs

Stacks

Compare

Diff

Read API

RuleStack

Configs

Stacks

Compare

Diff

Read API

Diff/csells-dotprompt-dart-claude ↔ csells-dotprompt-dart-cursor-rules-collaboration-boundaries

Comparison

A · CLAUDE.md · csells/dotprompt_dartB · Cursor rules · csells/dotprompt_dart
What each file covers, counted
DimensionSharedOnly in AOnly in BOverlap
Sections02400%
Commands0800%
Section tags0800%

What each file covers

Sections

0 shared · 24 only in A · 0 only in B
  • − CLAUDE.md
  • − Project Overview
  • − Common Commands
  • − Testing
  • − Run all tests
  • − Run a single test file
  • − Run tests with verbose output
  • − Development
  • − Run the example
  • − Analyze code
  • − Format code
  • − Publishing
  • − Check package for publish readiness
  • − Publish to pub.dev
  • − Architecture
  • − Core Components
  • − Template System
  • − Web/WASM Compatibility
  • − Project-Specific Rules
  • − PRD Reference
  • − Collaboration Boundaries
  • − Validation & Planning
  • − Key Dependencies
  • − Testing Philosophy

Commands

0 shared · 8 only in A · 0 only in B
  • − dart test
  • − dart test test/pico_schema_test.dart
  • − dart test --reporter=expanded
  • − dart run example/main.dart
  • − dart analyze
  • − dart format .
  • − dart pub publish --dry-run
  • − dart pub publish

Section tags

0 shared · 8 only in A · 0 only in B
  • − test
  • − lint-format
  • − architecture
  • − types
  • − dependencies
  • − deployment
  • − do-not
  • − agent-behaviour

Line diff

+35 added−112 removed7 unchanged5.9% identical
csells/dotprompt_dart · CLAUDE.md
@@ −1 @@
1# CLAUDE.md
 
 
 
 
 
2 
3This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
 
 
 
4 
5## Project Overview
 
 
 
6 
7A Dart package for parsing `.prompt` files for LLM interactions. Based on [Google's dotprompt specification](https://google.github.io/dotprompt/getting-started/), this implementation converts Pico Schema to JSON Schema, provides schema validation, template rendering with Handlebars/Mustache, and model configuration management.
 
 
 
 
 
8 
9This package does NOT execute prompts itself - it parses and prepares them for execution by other libraries like [dartantic_ai](https://pub.dev/packages/dartantic_ai).
 
 
 
 
10 
11## Common Commands
 
 
 
 
12 
13### Testing
14```bash
15# Run all tests
16dart test
17 
18# Run a single test file
19dart test test/pico_schema_test.dart
20 
21# Run tests with verbose output
22dart test --reporter=expanded
23```
24 
25### Development
26```bash
27# Run the example
28dart run example/main.dart
29 
30# Analyze code
31dart analyze
32 
33# Format code
34dart format .
35```
36 
37### Publishing
38```bash
39# Check package for publish readiness
40dart pub publish --dry-run
41 
42# Publish to pub.dev
43dart pub publish
44```
45 
46## Architecture
47 
48### Core Components
49 
501. **DotPrompt** ([lib/src/dot_prompt.dart](lib/src/dot_prompt.dart)) - Main entry point
51 - Parses .prompt files with YAML front-matter and Handlebars templates
52 - Factory constructor `DotPrompt(String)` for string content
53 - Static method `DotPrompt.stream(Stream<List<int>>, {name, defaults})` for loading from streams (required for web/wasm compatibility)
54 - `render(Map<String, dynamic>)` method validates input against schema and renders template
55 - Merges default values with input before validation
56 
572. **PicoSchema** ([lib/src/pico_schema.dart](lib/src/pico_schema.dart)) - Schema conversion engine
58 - Detects schema type (JSON Schema vs Pico Schema) using `schemaType()`
59 - Top-level `type` property triggers JSON Schema mode (short-circuits Pico Schema parsing)
60 - Mixed schemas throw `FormatException`
61 - Expands Pico Schema shorthand into valid JSON Schema
62 - 100+ tests ensure spec compliance
63 - Key features:
64 - Optional fields: `name?: string`
65 - Type annotations: `settings(object)`, `tags(array)`
66 - Enums: `theme: [light, dark]` or `theme(enum): [light, dark]`
67 - Wildcards: `(*): any` for additionalProperties
68 - Inline descriptions: `name: string, The user's name`
69 
703. **DotPromptFrontMatter** ([lib/src/dot_prompt_front_matter.dart](lib/src/dot_prompt_front_matter.dart))
71 - Parses YAML front-matter between `---` delimiters
72 - Includes model config, input/output schemas, and custom extensions
73 - Supports namespaced keys (e.g., `myext.temperature`)
74 
754. **InputOutputConfig** ([lib/src/input_output_config.dart](lib/src/input_output_config.dart))
76 - Manages input/output schemas and defaults
77 - Creates `JsonSchema` objects from Pico Schema or JSON Schema
78 - Stores default values for input validation
79 
80### Template System
81 
82Uses [mustache_template](https://pub.dev/packages/mustache_template) package for template expansion. NOT fully spec-compliant with Google's Handlebars implementation - see README.md "Handlebar Implementation Shortcomings" section for known limitations.
83 
84### Web/WASM Compatibility
85 
86Version 0.3.0+ replaced `DotPrompt.file(filename)` with `DotPrompt.stream(bytes, name: filename)` for web/wasm compatibility. Use `File(filename).openRead()` to create the stream for file system sources.
87 
88## Project-Specific Rules
89 
90### PRD Reference
91- Read [PRD.md](PRD.md) at the start of each session
92- Reference PRD when implementing features
93- Update PRD if implementation requires requirement changes
94- Document changes to core functionality, API design, architecture, dependencies, or user stories
95 
96### Collaboration Boundaries
97- Only implement what is explicitly requested
98- Present ideas as suggestions ("I have an idea...") without implementing
99- Ask for clarification if scope is unclear
100- Wait for explicit approval before actions beyond immediate request
101 
102### Validation & Planning
103- Verify understanding before implementation
104- Validate against [official dotprompt docs](https://google.github.io/dotprompt/)
105- Check library implementation details and best practices
106- Ensure changes align with existing codebase patterns
107 
108## Key Dependencies
109 
110- `json_schema`: ^5.2.1 - JSON Schema validation
111- `yaml`: ^3.1.2 - YAML front-matter parsing
112- `mustache_template`: ^2.0.0 - Template expansion
113- `path`: ^1.8.0 - Path manipulation
114- `collection`: ^1.19.1 - Collection utilities
115 
116## Testing Philosophy
117 
118Tests are comprehensive with 100+ tests focused on Pico Schema conversion. Tests should be silent on success and report failures via `expect()`. No print statements except for diagnostics (which should be removed before commit).
119 
csells/dotprompt_dart · .cursor/rules/collaboration-boundaries.mdc
@@ +1 @@
1---
2description:
3globs:
4alwaysApply: true
5---
6When working on the dotprompt project:
7 
81. **Strict Adherence to Requests**
9 - Only implement exactly what is explicitly requested
10 - Do not make assumptions about additional features or changes
11 - Do not take actions beyond the scope of the current request
12 
132. **Proactive Communication**
14 - Share ideas and suggestions, but clearly mark them as such
15 - Use phrases like "I have an idea..." or "We could consider..."
16 - Present alternatives when relevant, but don't implement them without approval
17 
183. **Check-in Protocol**
19 - Before taking any action beyond the immediate request:
20 - Explain the proposed additional action
21 - Provide reasoning for why it might be beneficial
22 - Wait for explicit approval before proceeding
23 - If unsure about scope, ask for clarification
24 
254. **Collaborative Decision Making**
26 - Treat all interactions as a true collaboration
27 - Value your input and direction
28 - Present options when appropriate, but respect your decisions
29 - Maintain a balance between being helpful and being overzealous
30 
315. **Transparency**
32 - Be clear about what actions are being taken
33 - Explain the reasoning behind suggestions
34 - Acknowledge when something is beyond the current scope
35 - Keep you informed of any potential implications
36 
376. **Respect for Boundaries**
38 - Understand that while ideas are welcome, implementation requires approval
39 - Don't make changes to the project structure without explicit permission
40 - Don't add dependencies or modify configuration without checking in
41 - Don't create new files or modify existing ones beyond the scope of the request
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42 
@@ −1 +1 @@
1−# CLAUDE.md
1+---
2+description:
3+globs:
4+alwaysApply: true
5+---
6+When working on the dotprompt project:
27  
3−This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
8+1. **Strict Adherence to Requests**
9+ - Only implement exactly what is explicitly requested
10+ - Do not make assumptions about additional features or changes
11+ - Do not take actions beyond the scope of the current request
412  
5−## Project Overview
13+2. **Proactive Communication**
14+ - Share ideas and suggestions, but clearly mark them as such
15+ - Use phrases like "I have an idea..." or "We could consider..."
16+ - Present alternatives when relevant, but don't implement them without approval
617  
7−A Dart package for parsing `.prompt` files for LLM interactions. Based on [Google's dotprompt specification](https://google.github.io/dotprompt/getting-started/), this implementation converts Pico Schema to JSON Schema, provides schema validation, template rendering with Handlebars/Mustache, and model configuration management.
18+3. **Check-in Protocol**
19+ - Before taking any action beyond the immediate request:
20+ - Explain the proposed additional action
21+ - Provide reasoning for why it might be beneficial
22+ - Wait for explicit approval before proceeding
23+ - If unsure about scope, ask for clarification
824  
9−This package does NOT execute prompts itself - it parses and prepares them for execution by other libraries like [dartantic_ai](https://pub.dev/packages/dartantic_ai).
25+4. **Collaborative Decision Making**
26+ - Treat all interactions as a true collaboration
27+ - Value your input and direction
28+ - Present options when appropriate, but respect your decisions
29+ - Maintain a balance between being helpful and being overzealous
1030  
11−## Common Commands
31+5. **Transparency**
32+ - Be clear about what actions are being taken
33+ - Explain the reasoning behind suggestions
34+ - Acknowledge when something is beyond the current scope
35+ - Keep you informed of any potential implications
1236  
13−### Testing
14−```bash
15−# Run all tests
16−dart test
17− 
18−# Run a single test file
19−dart test test/pico_schema_test.dart
20− 
21−# Run tests with verbose output
22−dart test --reporter=expanded
23−```
24− 
25−### Development
26−```bash
27−# Run the example
28−dart run example/main.dart
29− 
30−# Analyze code
31−dart analyze
32− 
33−# Format code
34−dart format .
35−```
36− 
37−### Publishing
38−```bash
39−# Check package for publish readiness
40−dart pub publish --dry-run
41− 
42−# Publish to pub.dev
43−dart pub publish
44−```
45− 
46−## Architecture
47− 
48−### Core Components
49− 
50−1. **DotPrompt** ([lib/src/dot_prompt.dart](lib/src/dot_prompt.dart)) - Main entry point
51− - Parses .prompt files with YAML front-matter and Handlebars templates
52− - Factory constructor `DotPrompt(String)` for string content
53− - Static method `DotPrompt.stream(Stream<List<int>>, {name, defaults})` for loading from streams (required for web/wasm compatibility)
54− - `render(Map<String, dynamic>)` method validates input against schema and renders template
55− - Merges default values with input before validation
56− 
57−2. **PicoSchema** ([lib/src/pico_schema.dart](lib/src/pico_schema.dart)) - Schema conversion engine
58− - Detects schema type (JSON Schema vs Pico Schema) using `schemaType()`
59− - Top-level `type` property triggers JSON Schema mode (short-circuits Pico Schema parsing)
60− - Mixed schemas throw `FormatException`
61− - Expands Pico Schema shorthand into valid JSON Schema
62− - 100+ tests ensure spec compliance
63− - Key features:
64− - Optional fields: `name?: string`
65− - Type annotations: `settings(object)`, `tags(array)`
66− - Enums: `theme: [light, dark]` or `theme(enum): [light, dark]`
67− - Wildcards: `(*): any` for additionalProperties
68− - Inline descriptions: `name: string, The user's name`
69− 
70−3. **DotPromptFrontMatter** ([lib/src/dot_prompt_front_matter.dart](lib/src/dot_prompt_front_matter.dart))
71− - Parses YAML front-matter between `---` delimiters
72− - Includes model config, input/output schemas, and custom extensions
73− - Supports namespaced keys (e.g., `myext.temperature`)
74− 
75−4. **InputOutputConfig** ([lib/src/input_output_config.dart](lib/src/input_output_config.dart))
76− - Manages input/output schemas and defaults
77− - Creates `JsonSchema` objects from Pico Schema or JSON Schema
78− - Stores default values for input validation
79− 
80−### Template System
81− 
82−Uses [mustache_template](https://pub.dev/packages/mustache_template) package for template expansion. NOT fully spec-compliant with Google's Handlebars implementation - see README.md "Handlebar Implementation Shortcomings" section for known limitations.
83− 
84−### Web/WASM Compatibility
85− 
86−Version 0.3.0+ replaced `DotPrompt.file(filename)` with `DotPrompt.stream(bytes, name: filename)` for web/wasm compatibility. Use `File(filename).openRead()` to create the stream for file system sources.
87− 
88−## Project-Specific Rules
89− 
90−### PRD Reference
91−- Read [PRD.md](PRD.md) at the start of each session
92−- Reference PRD when implementing features
93−- Update PRD if implementation requires requirement changes
94−- Document changes to core functionality, API design, architecture, dependencies, or user stories
95− 
96−### Collaboration Boundaries
97−- Only implement what is explicitly requested
98−- Present ideas as suggestions ("I have an idea...") without implementing
99−- Ask for clarification if scope is unclear
100−- Wait for explicit approval before actions beyond immediate request
101− 
102−### Validation & Planning
103−- Verify understanding before implementation
104−- Validate against [official dotprompt docs](https://google.github.io/dotprompt/)
105−- Check library implementation details and best practices
106−- Ensure changes align with existing codebase patterns
107− 
108−## Key Dependencies
109− 
110−- `json_schema`: ^5.2.1 - JSON Schema validation
111−- `yaml`: ^3.1.2 - YAML front-matter parsing
112−- `mustache_template`: ^2.0.0 - Template expansion
113−- `path`: ^1.8.0 - Path manipulation
114−- `collection`: ^1.19.1 - Collection utilities
115− 
116−## Testing Philosophy
117− 
118−Tests are comprehensive with 100+ tests focused on Pico Schema conversion. Tests should be silent on success and report failures via `expect()`. No print statements except for diagnostics (which should be removed before commit).
37+6. **Respect for Boundaries**
38+ - Understand that while ideas are welcome, implementation requires approval
39+ - Don't make changes to the project structure without explicit permission
40+ - Don't add dependencies or modify configuration without checking in
41+ - Don't create new files or modify existing ones beyond the scope of the request
11942  
RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack

RuleStack

Built by

Kynth Studio

Directory

Configs
Stacks
Compare formats
Diff two configs
Best AGENTS.md examples

Formats

AGENTS.md
CLAUDE.md
Cursor rules
Copilot instructions

Reference

Read API
Corpus health
Privacy Policy
Terms

RuleStack