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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ scripts/.env
luacov.stats.out
luacov.report.out
.luacov.stats.*.out
.serena/
2 changes: 2 additions & 0 deletions .strap/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
index.db
runs/
26 changes: 26 additions & 0 deletions .strap/flows/regression.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# nyan.nvim regression flow: lint + plenary suite; on red, an agent gets the
# failure plus relevant lessons and must make `make lint && make test` pass.

[[step]]
name = "lint"
kind = "run"
cmd = "make lint"
on_fail = "fix"

[[step]]
name = "test"
kind = "run"
cmd = "make test"
on_fail = "fix"

[[step]]
name = "fix"
kind = "agent"
agent = "claude"
cmd = "claude -p --allowedTools 'Edit Read Glob Grep Bash' --max-turns 25"
tags = ["regression", "lua", "nvim"]
verify = "make lint && make test"
timeout_secs = 900

[trigger]
on = ["manual", "agent-finished"]
11 changes: 11 additions & 0 deletions .strap/lessons/msqks7ac.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
+++
id = "msqks7ac"
tags = ["lua", "nvim", "debugger"]
confidence = 0.6
helped = 0
harmed = 0
created = "2026-08-12T21:02:24.228836Z"
last_confirmed = "2026-08-12T21:02:24.228836Z"
+++

no lua adapter exists for mcp-debugger (strap debug); plugin lua runs inside nvim anyway — debug via the 2s plenary suite plus nvim --headless -c 'lua ...' state dumps; OSV via a generic-DAP MCP tool is the upgrade path if step-debugging ever matters
1 change: 1 addition & 0 deletions .strap/tools.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# managed tools — see `strap tool add`
25 changes: 25 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# nyan.nvim

Neovim plugin (Lua). Plenary test suite, stylua formatting, luacheck static
analysis.

## Build and test

```bash
make test # plenary suite under headless nvim (~2s)
make lint # stylua --check
make lint-luacheck # luacheck static analysis
make format # apply stylua
make ci # full local CI parity: lint + luacheck + test
```

## Harness

This project uses strap (per-project agent harness). Start tasks with
`strap lesson search "<topic>" --json`; record non-obvious learnings with
`strap lesson add "..." --tag lua --tag nvim`; close the loop with
`strap lesson feedback <id> --helped|--harmed`. See `strap --help`.

The `regression` flow (lint + tests, agent fix on red, `make lint && make test`
as ground truth) runs after each Claude Code session via the Stop hook in
`.claude/settings.json`; run it manually with `strap flow run regression`.
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@AGENTS.md
Loading