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
6 changes: 5 additions & 1 deletion .github/pages/template.html
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,11 @@
}
[align="center"] { text-align: center; }
[align="center"] p { margin-left: auto; margin-right: auto; max-width: 60ch; color: var(--ink-2); }
[align="center"] .banner + p { font-family: var(--sans); font-size: 1.12rem; font-weight: 600; color: var(--ink); max-width: 42ch; }
/* the tagline reads as terminal output, in the same face as the REPL */
[align="center"] .banner + p {
font-family: var(--mono); font-size: 1rem; font-weight: 500;
letter-spacing: -0.03em; color: var(--ink); max-width: 48ch;
}

/* ---- image paragraphs: badges, screenshots, diagrams ---- */
p.imgrow {
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ python3 install.py # --cli-only, --dev, --prefix, --verify, --uninstal
# Pipe a single command (non-interactive; cli.py detects a non-tty stdin)
echo '/search "q2 plan"' | python3 -m glean_code

# Run the full test suite (1,102 tests, stdlib unittest — works with or without pytest)
# Run the full test suite (1,103 tests, stdlib unittest — works with or without pytest)
python3 -m pytest tests/
python3 -m unittest discover tests/

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ The full Glean Code REPL — slash commands, status bar, mock/live switching, se
| 🔐 **[SSO / OAuth](docs/SSO_OAUTH.md)** · **[Secure tokens](docs/SECURE_TOKENS.md)** | Browser sign-in, secure refs, the masking matrix |
| 🔌 **[MCP server](docs/MCP.md)** | Glean as native tools in Claude Code, Claude Desktop, Cursor |
| 🏛️ **[Architecture](docs/ARCHITECTURE.md)** · **[REST paths](docs/REST_PATHS.md)** | Module map, request flow, endpoints, how to add a command |
| ✅ **[Testing](docs/TESTING.md)** | Running the 1,102-test suite and what it covers |
| ✅ **[Testing](docs/TESTING.md)** | Running the 1,103-test suite and what it covers |
| 🛟 **[Support](SUPPORT.md)** · **[Changelog](CHANGELOG.md)** | How to report a bug · release history |

> [!NOTE]
Expand Down
4 changes: 2 additions & 2 deletions docs/TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ files, and they outrank the `Glean Code.app` launcher in `Cmd+Space`:
export PYTHONPYCACHEPREFIX="$HOME/.cache/python"
```

1,102 tests covering the client and every mock response, commands and dispatch, config, UI, auth, completion, help docs, the mock corpus, indexing-walk, scaffold, the installer, the MCP server, the flow mapper, the Pages site builder, and Glean Personal (text extraction, the index, the content graph, ranking explanations, local mode, and the local MCP tools).
1,103 tests covering the client and every mock response, commands and dispatch, config, UI, auth, completion, help docs, the mock corpus, indexing-walk, scaffold, the installer, the MCP server, the flow mapper, the Pages site builder, and Glean Personal (text extraction, the index, the content graph, ranking explanations, local mode, and the local MCP tools).

## Development notes

Notes on the test suite added during development of glean-code-cli.

All 1,102 tests pass. Here's what was added across the development passes:
All 1,103 tests pass. Here's what was added across the development passes:

`tests/test_commands_extended.py` (155 new tests) — covers all previously untested commands:

Expand Down
4 changes: 4 additions & 0 deletions tests/test_pages_build.py
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,10 @@ def test_badge_height_is_pinned(self):
# widest one, clamped by the space left, stayed shorter than the rest.
self.assertIn("p.badges img { height: 28px; width: auto; flex: 0 0 auto; }", self.css)

def test_tagline_is_set_in_the_mono_face(self):
rule = self.css[self.css.index('[align="center"] .banner + p {'):]
self.assertIn("font-family: var(--mono)", rule[:rule.index("}")])

def test_image_rows_do_not_stretch_their_items(self):
row = self.css[self.css.index("p.imgrow {"):]
self.assertIn("align-items: center", row[:row.index("}")])
Expand Down
Loading