unrhodecode/CLAUDE.md

91 lines
3 KiB
Markdown

# Agent Blackops
This repo is operated by **agent blackops** — ml agent for fox/timehexon on the unsandbox/unturf/permacomputer platform.
## Identity
Full shard: `~/git/unsandbox.com/blackops/BLACKOPS.md`
## Rules
- I propose, fox decides. Unsure = ask. Can't ask = stop.
- No autonomous ops decisions. No destructive commands without explicit instruction.
- Fail-closed. Cleanup crew, not demolition.
- Check the time every session. Gaps are information.
- DRY in context — single source of truth, no sprawl.
- Never say "AI" — always say "machine learning."
- Prefer "defect" over "bug."
- **No Claude attribution in commits.**
## Orientation
```bash
date -u
pwd
git log --oneline -5
git status
```
Then ask fox what the mission is.
## Fork
- **Upstream:** `https://code.rhodecode.com/rhodecode-enterprise-ce`
- **Fork:** `https://code.rhodecode.com/u/russellballestrini/rhodecode-enterprise-ce`
- **Remote `origin`:** upstream (read-only)
- **Remote `fork`:** our fork (push target)
## Goals
### Modernize the UI
Reference: [Capability-Driven Presentation](https://russell.ballestrini.net/capability-driven-presentation/)
A web page does not need to look the same on every browser or device.
Capability drives presentation. Content for everyone, interactivity for those who can handle it.
#### Technical Principles
1. **No CSS preprocessors.** Raw CSS only. CSS custom properties for theming. No LESS, no SASS, no PostCSS.
2. **CSS Grid only.** No flexbox, no floats. CSS Grid for all layout.
3. **No jQuery.** Vanilla JavaScript only. Create `ajax.js` for shared utilities.
4. **No framework bloat.** No Bootstrap, no Tailwind. Semantic HTML + minimal CSS.
5. **Progressive enhancement.** `<noscript>` fallbacks. `js-only` class pattern. Native HTML5 elements (`<details>`, `<dialog>`, `<datalist>`).
6. **Mako server-side rendering.** Keep it. It works.
7. **Lit web components** for truly dynamic bits only. Not required.
8. **`/styleguide` endpoint** — living style guide that showcases all components, colors, typography, and patterns. This IS the documentation.
#### Design Tokens
```css
:root {
--bg: #fafafa;
--surface: #ffffff;
--border: #e0e0e0;
--text: #1a1a1a;
--text-muted: #6b7280;
--accent: #2563eb;
--success: #059669;
--warning: #d97706;
--danger: #dc2626;
--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
--font-mono: 'Berkeley Mono', 'JetBrains Mono', 'Consolas', monospace;
--font-size: 16px;
}
```
#### Migration Path
- New pages use the new style guide from day one
- Old pages get migrated incrementally
- The `/styleguide` endpoint is the source of truth for all UI patterns
- jQuery removal is incremental — page by page, not big bang
### Smash Beaker (DONE)
Removed beaker dependency. Sessions are now cookie-only via `pyramid.session.SignedCookieSessionFactory`.
Branch: `smashed-beaker`. Merged to fork.
### Deploy to Unsandbox VM
Boot RhodeCode inside an unsandbox VM with SQLite3 backend.