15.8: Board.java : getValidMoves

 private void getValidMoves(int row,
                               int col,
                               PieceType pieceType,
                               PlayerColor turn) {
        validMoves = new ArrayList<>();

        int direction = (turn == PlayerColor.RED) ? 1 : -1;

        if(pieceType == PieceType.REGULAR)
        {
            addMove(validMoves, row + direction, col-1);
            addMove(validMoves, row + direction, col+1);

            // Handle jumped a piece

15.7: Board.java : setValidMoves

 private void setValidMoves(PlayerColor turn) {
        try{
            validMovesCells = new String[BOARDSIZE][BOARDSIZE];
            getValidMoves(highlightedRow, highlightedCol, PieceType.REGULAR, turn);
        }
        catch(Exception e)
        {
            Log.e(TAG, "setValidMoves: " + e.getMessage());
        }
    }

15.6: Board.java : hitTest

   public String hitTest(Point point,
                          PlayerColor turn,
                          Context context) {
        String result = "-1";
        for (int row = 0; row < cells[0].length; row++)
        {
            for (int col = 0; col < cells[1].length; col++)
            {
                highlights[row][col] = "0";
                if(cellValues[row][col] == "")
                {
                    //Log.d(TAG, "hitTest: Empty at [" + row + "," + col + "]");
 

15.5: Board.java : drawTurn

private void drawTurn(Canvas canvas, Rect rect, int color) {
        Paint paint = new Paint();
        paint.setColor(color);
        paint.setStyle(Paint.Style.FILL_AND_STROKE);

        int x = rect.centerX();
        int y = rect.centerY();

        canvas.drawCircle(x, y, SIZE * .35f, paint);

    }

agent-skills

---
name: web-artifacts-builder
description: Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
license: Complete terms in LICENSE.txt
---

# Web Artifacts Builder

To build powerful frontend claude.ai artifacts, follow these steps:
1. Initialize the fr

15.4: Board.java: Draw

public void Draw(Canvas canvas){
        Log.d(TAG, "Draw: Start");
        Paint paint = new Paint();
        paint.setColor(Color.LTGRAY);
        paint.setStyle(Paint.Style.FILL_AND_STROKE);

        Paint paintYellow = new Paint();
        paintYellow.setColor(Color.YELLOW);
        paintYellow.setStyle(Paint.Style.STROKE);
        paintYellow.setStrokeWidth(10);

        Paint paintMoves = new Paint();
        paintMoves.setColor(Color.CYAN);
        paintMoves.setStyle(Paint.S

15.3: Board.java : clearCellValues

 private void clearCellValues()
    {
        for(int row = 0; row < cells[0].length; row++)
        {
            for(int col = 0;  col < cells[1].length; col++)
            {
                cellValues[row][col] = "";
            }
        }
    }

15.2: Board.java : initCellValues

private void initCellValues() {
        for(int row = 0; row < cells[0].length; row++)
        {
            for(int col = 0;  col < cells[1].length; col++)
            {
                if(row < 3) {
                    // Placing the red pieces
                    if ((row + col) % 2 == 0)
                        cellValues[row][col] = PlayerColor.RED.toString();
                    else
                        cellValues[row][col] = "";
                }
                else if (r

15.1: MainActivity.java

package edu.fvtc.checkers;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Point;
import android.graphics.Rect;
import android.os.Build;
import android.os.Bundle;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowMetrics;

import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.annot

🤖 CC - Commands VS Skills

# Fiche ponctuelle — Commands vs Skills : anatomie et décision de migration

**Contexte** : fiche produite pendant la Phase 4 de l'audit, Point 4/6 — conceptuelle pure. La mécanique de conversion pas-à-pas fera l'objet d'une fiche séparée, produite après un premier exercice pratique.

---

## 1. Le choix dont il s'agit

Claude Code propose deux mécanismes pour définir des "capacités" invocables :

- **Commands** (`.claude/commands/X.md`)
- **Skills** (`.claude/skills/X/SKILL.md`)

Depuis la conv

🐍 🧪 Tester une CLI Python via subprocess.run (test d'intégration bout-en-bout)

# Fiche ponctuelle — Tester une CLI Python via `subprocess.run` (test d'intégration bout-en-bout)

**Contexte de capture :** session memory-grep, Phase 1a (smoke test pytest), 2026-04-28.
Question utilisateur : explication détaillée du helper `_run_memgrep` qui invoque la CLI dans un subprocess isolé pour les tests d'intégration.

---

## TL;DR

Pour tester une CLI Python qui lit le filesystem (`Path.home()`, etc.) sans toucher l'environnement réel de l'utilisateur, le pattern canonique est :

`

🐍 📦 Python packaging - __main__.py VS __init__.py

# Fiche ponctuelle — `__init__.py` vs `__main__.py` dans un package Python

**Contexte de capture :** session memory-grep, Phase 1a (bootstrap CLI), 2026-04-28.
Question utilisateur : différence et rôles précis des deux fichiers, après leur création par `uv init` puis personnalisation.

---

## TL;DR

| Fichier | Rôle |
|---------|------|
| `__init__.py` | **Identité et API publique** du package : marqueur "ceci est un package", point d'entrée des imports, exposition de l'API, métadonnées (`__ve

grid-auto-rowで、最も高い要素の高さに他の要素の高さを合わせる(1列時も可能)

<ul class="grid">
  <li class="row">テスト<br />テスト</li>
  <li class="row">テスト</li>
</ul>

LOPS on MacOS Finding

## TDCHAT / PYTHON MANAGER / CONFIG PATH

for example:
/Users/oli/Library/Application Support/ChatTD/python_config.json

Refresh Registery / Edit Config file pulse seems to be broken on mac os.



## INSTALL PROCESS.

General notes around install process on mac.

### drop onto network for the first time
When drag and drop lops.tox, behaviour isn't as expected ( disapears & re-create at TD ./ folder ) stays where user drops it.

### Hardcoded "install venv"
a venv with path:
D:/TD-tox/LOPS_tox/IN

1391. Check if There is a Valid Path in a Grid

You are given an m x n grid. Each cell of grid represents a street. The street of grid[i][j] can be: 1 which means a street connecting the left cell and the right cell. 2 which means a street connecting the upper cell and the lower cell. 3 which means a street connecting the left cell and the lower cell. 4 which means a street connecting the right cell and the lower cell. 5 which means a street connecting the left cell and the upper cell. 6 which means a street connecting the right cell and the upper cell.
/**
 * @param {number[][]} grid
 * @return {boolean}
 */
var hasValidPath = function(grid) {
    const m = grid.length;
    const n = grid[0].length;

    // Each street type defines which directions you can EXIT from this cell.
    // These are (dr, dc) pairs: row change, column change.
    const dirs = {
        1: [[0, -1], [0, 1]],      // left, right
        2: [[1, 0], [-1, 0]],      // down, up
        3: [[0, -1], [1, 0]],      // left, down
        4: [[0, 1], [1, 0]],       // right, d

Tools for mock up endpoints

Android https://httptoolkit.com/android/

Web
brew install --cask burp-suite
https://portswigger.net/burp