Commit Graph

26 Commits

Author SHA1 Message Date
Émile Ré
f81168bc18 Build tracker identification prompt categories dynamically
Generate the category list from coredata.ThirdPartyCategories() at
runtime instead of hardcoding it in the prompt text. Type the
TrackerIdentification.Category field as coredata.ThirdPartyCategory so
JSON unmarshaling validates values automatically.

Also documents the .txt.tmpl template file naming convention.

Signed-off-by: Émile Ré <emile@probo.com>
2026-05-19 10:59:16 +04:00
Bryan Frimin
f82d76b246 Add safe URL construction rules to agent guides
Add a URL and query parameter construction section to
contrib/claude/go-style.md requiring net/url (url.JoinPath,
url.Values, url.Parse) instead of fmt.Sprintf or string
concatenation.

Create contrib/claude/ts-style.md with matching TypeScript
rules requiring URL and URLSearchParams instead of template
literals or string concatenation.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-04-24 16:12:27 +02:00
Émile Ré
2147cded9f Add configuration propagation rules
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-21 11:38:52 +04:00
Bryan Frimin
472ca703b5 Mitiate SSRF attack
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-04-20 12:11:17 +02:00
Bryan Frimin
e84094e62c Add logging and encryption rules
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-04-19 11:59:22 +02:00
Bryan Frimin
ab52dc0a34 Clean agent rules
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-04-19 11:42:50 +02:00
Émile Ré
1962ec07ab Fix stale references to schema.graphql and v1_resolver.go
Update GNUmakefile targets to use wildcard graphql/*.graphql
prerequisites instead of the deleted schema.graphql files, and
remove v1_resolver.go from build prerequisites.

Also update .gitattributes, package.json graphql.schema path,
and AGENTS.md.

Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-15 09:19:41 +04:00
Bryan Frimin
16b1a48c55 Prefer errors.AsType over errors.As in style guide
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-04-14 16:38:21 +02:00
Émile Ré
6d537e8896 Add rules for app arborescence
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-07 11:38:58 +04:00
Émile Ré
d58d838f04 Add general react components rules
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-07 11:38:57 +04:00
Émile Ré
6e836d42f8 Add UI rules
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-07 11:38:57 +04:00
Émile Ré
ed826eb605 Add go style rules in contrib/claude
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-04-01 18:03:25 +04:00
Bryan Frimin
9fd3473147 Fix sandbox Docker root issue and replace make dev with systemd services
Fixes docker permissions by enabling Docker daemon during provisioning. Replaces make dev with three managed systemd services: probo-stack (auto-starting Docker Compose infra), probod (API server with gow for hot-reload), and probo-console (frontend dev server). The stack now starts automatically on VM boot; probod and console are started manually after build.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-18 19:51:53 +01:00
Bryan Frimin
7895dd32b0 Fix logging format string bugs and add missing contributor guides
Replace three instances of leftover %T format verbs in logger.ErrorCtx() calls with proper structured logging fields. Add alphabetically-sorted reference documentation for six new contrib/claude/ guides and reorder the existing list.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-18 15:09:31 +01:00
Bryan Frimin
d8670d2412 Add Lima sandbox environment for parallel feature testing
Implement a complete sandbox system for testing multiple features in parallel
using git worktrees and Lima VMs. Each worktree gets its own isolated VM with
Docker, full service stack, and unique IP via vzNAT networking.

- contrib/lima/provision.sh: Idempotent provisioning script (Docker, Go 1.26.1, Node.js 24, npm 11.8.0, Go tools, mkcert)
- contrib/lima/probo.yaml: Lima VM template with vz vmType, Rosetta, vzNAT, virtiofs mount
- contrib/lima/sandbox.sh: Lifecycle CLI (create, start, stop, restart, delete, ssh, exec, status, list)
- contrib/lima/README.md: Human documentation with prerequisites, quickstart, troubleshooting
- contrib/claude/sandbox.md: Agent reference doc for sandbox usage patterns
- GNUmakefile: Convenience targets for sandbox.sh commands
- AGENTS.md: Updated reference documentation index

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-17 08:52:33 +01:00
Bryan Frimin
cb659411ba Add release guide documentation
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-17 08:52:32 +01:00
Bryan Frimin
46635e7f04 Add Lima sandbox environment for parallel feature testing
Implement a complete sandbox system for testing multiple features in parallel
using git worktrees and Lima VMs. Each worktree gets its own isolated VM with
Docker, full service stack, and unique IP via vzNAT networking.

- contrib/lima/provision.sh: Idempotent provisioning script (Docker, Go 1.26.1, Node.js 24, npm 11.8.0, Go tools, mkcert)
- contrib/lima/probo.yaml: Lima VM template with vz vmType, Rosetta, vzNAT, virtiofs mount
- contrib/lima/sandbox.sh: Lifecycle CLI (create, start, stop, restart, delete, ssh, exec, status, list)
- contrib/lima/README.md: Human documentation with prerequisites, quickstart, troubleshooting
- contrib/claude/sandbox.md: Agent reference doc for sandbox usage patterns
- GNUmakefile: Convenience targets for sandbox.sh commands
- AGENTS.md: Updated reference documentation index

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-17 08:46:48 +01:00
Bryan Frimin
7147cf189a Reorganize GraphQL docs: separate Go backend from frontend Relay client
Move frontend Relay client documentation into relay.md and create new graphql.md dedicated to Go backend patterns. Covers gqlgen schema-first approach, @goModel/@goEnum/@goField directives, connection type patterns, and cursor pagination implementation.

- relay.md: Frontend Relay client (environments, compiler, queries, fragments, mutations)
- graphql.md: Go backend gqlgen (directives, connection types, pagination schema, keyset pagination)
- AGENTS.md: Update documentation references

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 19:09:39 +01:00
Bryan Frimin
9a37283e24 Require e2e tests for new Go API endpoints
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:34 +01:00
Bryan Frimin
064a461d80 Remove extracted sections from AGENTS.md
Tests, workers, and service orchestration now live in
their own files under contrib/claude/.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:34 +01:00
Bryan Frimin
21eaaef30a Extend license header to all source file types
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:32 +01:00
Bryan Frimin
4ea629283b Move license header to contrib/claude
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:32 +01:00
Bryan Frimin
740112b348 Add reference docs and API surface rules to AGENTS.md
Move commit message section to contrib/claude/commit.md and
add rules requiring every feature to be exposed through
GraphQL, MCP, and CLI.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-15 15:04:31 +01:00
Bryan Frimin
a74ebdd8b8 Add commit format intrsuction
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-14 12:39:28 +01:00
Bryan Frimin
307ca48394 Update LLM dev instructions
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-13 17:20:24 +01:00
Bryan Frimin
7fd4221199 Add LLM coding instruction
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-13 16:55:23 +01:00