Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .claude/commands/git/commit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
description: Generate a commit message. If no files commited, commit all changes.
argument-hint: [pig note]
# allowed-tools:
model: claude-sonnet-4-5-20250929
disable-model-invocation: true
---

<overview>
Follow the instructions in `<steps>`
</overview>
<steps>
<step-1>
Check if there are currently staged changes and then...
1. ...if no changes are staged, stage all changes.
2. ...if changes are staged, do not stage additional changes.
</step-1>
<step-2>
Generate a commit message for staged changes according to `<template>`
</step-2>
<step-3>
Show me the message and await approval. Then...
1. ...if I approve, push the commit to upstream
2. ...if I request changes, incorporate them and repeat `<step-3>`
</step-3>
</steps>
<guidance>
1. `pig` is a user-defined language for taking notes.
</guidance>
<template>
<first-line>
<type>
required; [reference](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13#types)
</type>
<scope>
optional; [reference](https://www.conventionalcommits.org/en/v1.0.0/#specification)
</scope>
<breaking-change>
required if relevant; [reference](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13#breaking-changes-indicator)
</breaking-change>
<desc>
required; [reference](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13#description)
</desc>
</first-line>
<body>
optional; [reference](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13#body)
</body>
<pig>
Omit if no arguments passed; if used, insert `<pig-block>` exactly
<pig-block>
```pig
{ "inbox": $ARGUMENTS }
```
</pig-block>
</pig>
<footer>
omit if no breaking changes; [reference](https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13#footer)
</footer>
</template>
82 changes: 82 additions & 0 deletions .claude/commands/git/pull-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
description: Create a pull request for current branch
argument-hint: [note to include in pig block]
# allowed-tools:
model: claude-sonnet-4-5-20250929
# disable-model-invocation:
---

<overview>
Follow the instructions in `<steps>`
</overview>
<role>
You are...
</role>
<steps>
1. Look at the commits on this branch
2. Analyse the overall effect of these changes if merged into `main`
3. Use `<template>` to write the content of a pull request
4. Check for my approval, then...
4.1. ...if I approve, create the PR to `main`
4.2. ...if I don't approve, incorporate my changes then repeat step 3
</steps>
<rules>
<title-rules>
1. brief & descriptive
2. use title case
3. be understandable to non-devs
</title-rules>
<tldr-rules>
1. list any steps devs have to take after pulling this down
</tldr-rules>
<changes-rules>
1. Break your changes into either files or categories, depending on how wide-ranging the PR is.
<changes-examples>
<changes-example-1>
`<details>
<summary><strong>{{ Category }}</strong></summary>
{{ Brief description of changes }}
- {{ details in bullet points, if necessary}}
</details>`
</changes-example-1>
<changes-example-2>
`<details>
<summary><code>{{ filepath }}</code></summary>
{{ Brief description of changes }}
- {{ details in bullet points, if necessary}}
</details>`
</changes-example-2>
</changes-examples>
</changes-rules>
<summary-rules>
1. Describe this PR with a non-technical and absurd metaphor
</summary-rules>
<pig-rules>
1. if arguments are passed, include `<pig-block>` (including backticks & language specifier)
<pig-block>
```pig
{
"inbox": "$ARGUMENTS"
}
```
</pig-block>
<pig-rules>
</rules>
<template>
```md
# {{ see `<title-rules>` }}
## Overview
{{ see `<overview-rules>` }}
> [!TIP]
> {{ see `<tldr-rules>` }}
## Changes
{{ see `<changes-rules>` }}
---
## Summary
{{ Describe this PR with a non-technical and absurd metaphor }}
{{ see `<pig-rules>` }}
```
</template>
<guidance>
1. `pig` is a user-defined language for making notes
</guidance>
36 changes: 36 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,42 @@ Open **http://localhost:5173** to start using Rhea.
</div>
</details>

<details><summary>🌐 Domain Configuration</summary>
<div>
<p>Control which websites Claude can research during generation:</p>

<h4>Predefined Lists</h4>
<ul>
<li><strong>AI Engineering</strong> - Curated list of 29 trusted sources (vendor docs, GitHub, Stack Overflow, academic papers)</li>
<li><strong>No Restrictions</strong> - Allow research on any domain</li>
</ul>

<h4>Custom Domains</h4>
<p>Add your own domains to the allowlist:</p>
<ul>
<li><code>example.com</code> - Standard domain</li>
<li><code>*.github.com</code> - Wildcard for all subdomains</li>
<li><code>example.com/blog</code> - Specific path within domain</li>
</ul>

<h4>In Metis (Standalone Modules)</h4>
<ul>
<li>Select domain list or "No Restrictions"</li>
<li>Add custom domains as needed</li>
<li>Configuration in "Advanced Research Options"</li>
</ul>

<h4>In Themis (Course Builder)</h4>
<p>Hierarchical configuration at three levels:</p>
<ul>
<li><strong>Course Level</strong> - Set for entire course, or configure per arc</li>
<li><strong>Arc Level</strong> - Set for all modules in arc, or configure per module</li>
<li><strong>Module Level</strong> - Enable or disable research</li>
</ul>
<p>Child configurations inherit from parent unless explicitly overridden.</p>
</div>
</details>

<details><summary>✅ Schema Validation</summary>
<div>
<p>All generated modules are automatically validated against requirements:</p>
Expand Down
Loading