Skip to content

Commit 8026cbf

Browse files
authored
Merge pull request #43 from computerlovetech/claude/ralph-loops-format-hPdcv
2 parents e9581f0 + cce6f25 commit 8026cbf

62 files changed

Lines changed: 4059 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ralphloops/README.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# `ralphloops/` — staging area for ralphloops.io and ralphloops/ralphloops
2+
3+
This directory is a **staging area** for the Ralph Loops project. It
4+
contains two things that will eventually move to their own homes:
5+
6+
- **[`website/`](website/)** — the static site for
7+
[ralphloops.io](https://ralphloops.io/). Minimal, technical,
8+
inspired by [agentskills.io](https://agentskills.io/).
9+
- **[`repo/`](repo/)** — the contents of the future
10+
`ralphloops/ralphloops` GitHub repository: specification, creator
11+
docs, implementor docs, example loop packages, JSON Schema,
12+
conformance fixtures, RFCs, and governance.
13+
14+
## Why it lives here for now
15+
16+
The `ralphloops` GitHub organization and repo do not exist yet. This
17+
subdirectory lets us develop the format, the spec, and the site
18+
alongside Ralphify (one reference implementation) until we're ready
19+
to move it out.
20+
21+
When the `ralphloops` org is created:
22+
23+
1. Copy `ralphloops/repo/` into the new `ralphloops/ralphloops` repo.
24+
2. Deploy `ralphloops/website/` to the ralphloops.io domain.
25+
3. Remove this staging directory from the Ralphify repo.
26+
27+
## Positioning
28+
29+
Ralph Loops is positioned everywhere as:
30+
31+
> **An open proposed format for portable Ralph-style agent loops.**
32+
33+
- It is **not** a standard.
34+
- It is **not** a Ralphify feature.
35+
- It is **inspired by** Geoffrey Huntley's Ralph loop methodology and
36+
does not claim ownership of that methodology.
37+
- Ralphify is **one reference runtime** for the format, not the
38+
format itself.
39+
40+
## Layout
41+
42+
```
43+
ralphloops/
44+
├── README.md # this file
45+
├── website/ # ralphloops.io static site
46+
│ ├── index.html
47+
│ ├── styles.css
48+
│ ├── specification/
49+
│ ├── loop-creation/
50+
│ │ ├── quickstart/
51+
│ │ └── best-practices/
52+
│ ├── implementors/
53+
│ │ ├── overview/
54+
│ │ └── reference/
55+
│ ├── examples/
56+
│ └── governance/
57+
└── repo/ # ralphloops/ralphloops repo contents
58+
├── README.md
59+
├── LICENSE
60+
├── CONTRIBUTING.md
61+
├── CODE_OF_CONDUCT.md
62+
├── GOVERNANCE.md
63+
├── VERSIONING.md
64+
├── specification/
65+
├── loop-creation/
66+
├── implementors/
67+
├── examples/ # six reference loop packages
68+
├── schemas/
69+
├── tests/ # conformance corpus
70+
├── rfcs/
71+
└── .github/
72+
```
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Bug in a fixture or example
3+
about: Report a problem with a conformance fixture or example loop
4+
title: "[bug] "
5+
labels: ["bug", "examples"]
6+
---
7+
8+
## Where
9+
10+
<!-- Path to the fixture or example (e.g. tests/valid/full/ or
11+
examples/fix-failing-tests/). -->
12+
13+
## What's wrong
14+
15+
<!-- What did you expect? What did you see? -->
16+
17+
## How to reproduce
18+
19+
<!-- Steps, runtime used, commands run. -->
20+
21+
## Suggested fix
22+
23+
<!-- Optional — what change would resolve the issue? -->
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
name: RFC proposal
3+
about: Propose a non-trivial change to the Ralph Loops format
4+
title: "[rfc] "
5+
labels: ["rfc"]
6+
---
7+
8+
## Summary
9+
10+
<!-- One paragraph describing the proposed change. -->
11+
12+
## Motivation
13+
14+
<!-- Why is this change needed? What problem does it solve? -->
15+
16+
## Proposal
17+
18+
<!-- What specifically would change? Metadata, path rules, runtime
19+
contract, compatibility classes, etc. -->
20+
21+
## Impact
22+
23+
- **Breaking?** <!-- yes/no -->
24+
- **Target version:** <!-- e.g. 0.2 -->
25+
- **Affected documents:** <!-- specification/... -->
26+
27+
## Alternatives considered
28+
29+
<!-- What else did you look at? Why this one? -->
30+
31+
## Unresolved questions
32+
33+
<!-- Anything you haven't worked out yet. -->
34+
35+
---
36+
37+
If this is accepted for further discussion, a maintainer will ask you
38+
to write it up as a file under `rfcs/` using the template at
39+
`rfcs/0001-format-principles.md`.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
name: Spec clarification
3+
about: The specification is ambiguous or unclear
4+
title: "[clarify] "
5+
labels: ["spec", "clarification"]
6+
---
7+
8+
## Which part of the spec?
9+
10+
<!-- Link to the file and section in specification/ -->
11+
12+
## What is ambiguous?
13+
14+
<!-- Describe what you read and what you couldn't decide. -->
15+
16+
## What interpretations are possible?
17+
18+
<!-- List the plausible readings. -->
19+
20+
## Why it matters
21+
22+
<!-- What decision depends on resolving this? -->

ralphloops/repo/CODE_OF_CONDUCT.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Code of Conduct
2+
3+
Ralph Loops follows the
4+
[Contributor Covenant v2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
5+
6+
## Our pledge
7+
8+
We as members, contributors, and maintainers pledge to make participation in
9+
our community a harassment-free experience for everyone, regardless of age,
10+
body size, visible or invisible disability, ethnicity, sex characteristics,
11+
gender identity and expression, level of experience, education, socio-economic
12+
status, nationality, personal appearance, race, religion, or sexual identity
13+
and orientation.
14+
15+
We pledge to act and interact in ways that contribute to an open, welcoming,
16+
diverse, inclusive, and healthy community.
17+
18+
## Scope
19+
20+
This Code of Conduct applies within all community spaces, and also applies
21+
when an individual is officially representing the community in public spaces.
22+
23+
## Enforcement
24+
25+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
26+
reported to the maintainers listed in [`GOVERNANCE.md`](GOVERNANCE.md). All
27+
complaints will be reviewed and investigated promptly and fairly.
28+
29+
## Attribution
30+
31+
This Code of Conduct is adapted from the
32+
[Contributor Covenant](https://www.contributor-covenant.org), version 2.1.

ralphloops/repo/CONTRIBUTING.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Contributing to Ralph Loops
2+
3+
Thanks for helping shape Ralph Loops. This repository is the canonical source
4+
for the Ralph Loops format: its specification, examples, conformance tests,
5+
and governance.
6+
7+
## What lives here
8+
9+
- **`specification/`** — the normative format spec
10+
- **`loop-creation/`** — creator-facing docs
11+
- **`implementors/`** — runtime-author docs
12+
- **`examples/`** — reference loop packages
13+
- **`schemas/`** — JSON Schema for frontmatter metadata
14+
- **`tests/`** — valid/invalid conformance fixtures
15+
- **`rfcs/`** — RFCs for non-trivial changes
16+
17+
Code for specific runtimes (e.g. Ralphify) does **not** live here.
18+
19+
## Kinds of contributions we welcome
20+
21+
- Typo, clarity, and wording fixes in the spec and docs
22+
- New conformance fixtures under `tests/valid/` and `tests/invalid/`
23+
- New example loops under `examples/`
24+
- RFCs proposing additions or changes to the format
25+
- Translations and accessibility improvements to docs
26+
27+
## Discussion first, PR second
28+
29+
For anything beyond a typo or a small clarification, please open an issue or
30+
a discussion first. This is especially true for spec changes. We prefer
31+
small, well-scoped PRs over large, speculative ones.
32+
33+
## Spec changes require an RFC
34+
35+
Any change that affects what a Ralph Loop *is* — required fields, path
36+
resolution rules, compatibility classes, runtime contract, etc. — must go
37+
through the RFC process under `rfcs/`. Use `rfcs/0001-format-principles.md`
38+
as a template.
39+
40+
Additive, backwards-compatible clarifications to existing fields may be
41+
landed directly as a PR against `specification/`.
42+
43+
## Adding an example loop
44+
45+
Each example under `examples/` must include:
46+
47+
1. A `RALPH.md` with complete, valid frontmatter
48+
2. A short `README.md` explaining what the loop is for
49+
3. At least one bundled supporting file (script, doc, template, or fixture)
50+
4. Realistic exit conditions and validation steps
51+
52+
Prefer outcome-oriented names (`fix-failing-tests`, not `my-loop-1`).
53+
54+
## Adding conformance fixtures
55+
56+
- Valid fixtures go under `tests/valid/<name>/`.
57+
- Invalid fixtures go under `tests/invalid/<name>/` with a short
58+
`REASON.md` file explaining why the fixture is invalid.
59+
60+
## Style
61+
62+
- Prose: plain English, short sentences, no hype language.
63+
- Normative keywords (MUST, SHOULD, MAY) follow RFC 2119 semantics.
64+
- Code fences should declare a language where applicable.
65+
66+
## Code of conduct
67+
68+
Participation in this project is governed by our
69+
[Code of Conduct](CODE_OF_CONDUCT.md).

ralphloops/repo/GOVERNANCE.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Governance
2+
3+
Ralph Loops is an **open proposed format** for portable Ralph-style agent
4+
loops. This document describes how the format is stewarded and evolved.
5+
6+
## Status
7+
8+
The current format version is `0.1`. All `0.x` versions are draft and
9+
subject to change. A stable `1.x` line will be cut once the format has
10+
proven itself across multiple runtimes and loop packages in the wild.
11+
12+
## Non-ownership of Ralph methodology
13+
14+
Ralph Loops is a community-oriented format proposal **inspired by**
15+
[Geoffrey Huntley's Ralph loop methodology](https://ghuntley.com/ralph/).
16+
This repository defines the package format. It does **not** define, own,
17+
or gate the broader Ralph methodology itself.
18+
19+
## Maintainers
20+
21+
The format is maintained by a small group of stewards who land PRs, review
22+
RFCs, and cut spec releases. Current maintainers are listed in the
23+
repository `MAINTAINERS` file. Additional maintainers are added by
24+
consensus of existing maintainers based on sustained, thoughtful
25+
contribution.
26+
27+
## Decision making
28+
29+
- **Typos, clarifications, small doc fixes.** Any maintainer may merge
30+
after a brief review.
31+
- **Additive, backwards-compatible spec changes.** Require review from at
32+
least one other maintainer and an open discussion thread.
33+
- **Breaking changes.** Require an accepted RFC under `rfcs/` and
34+
consensus among active maintainers.
35+
36+
We prefer rough consensus over formal voting. If consensus cannot be
37+
reached, the maintainers may choose to defer the decision rather than
38+
force it through.
39+
40+
## RFC process
41+
42+
1. Open a discussion or issue describing the problem and the proposed change.
43+
2. If the change is non-trivial, draft an RFC under `rfcs/` using the
44+
template in `rfcs/0001-format-principles.md`.
45+
3. Maintainers and community members review and comment.
46+
4. The RFC author revises in response to feedback.
47+
5. A maintainer either accepts, rejects, or defers the RFC.
48+
6. Accepted RFCs ship in a future `ralphloops_version` release, referenced
49+
from `specification/changelog.md`.
50+
51+
## Stewardship principles
52+
53+
- Keep the format small.
54+
- Prefer portability over runtime-specific convenience.
55+
- Prefer human-readability over machine-centric schemas.
56+
- Do not claim ownership of the broader Ralph methodology.
57+
- Do not favor any single runtime in normative text.
58+
- Ship breaking changes through RFCs, not surprises.
59+
60+
## Relationship to runtimes
61+
62+
Runtimes like [Ralphify](https://ralphify.co/) are welcome to ship features
63+
that go beyond the format, but the format itself stays neutral. Runtime-
64+
specific behavior belongs in runtime documentation, not in the spec.

ralphloops/repo/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Ralph Loops contributors
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in
13+
all copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)