main
md 73 lines 3.07 KB
Rendered Raw
1 # Agent rules for sigit-si
2
3 Rules for agents working in this repo and across the siGit / smbCloud codebases.
4 Read this before writing code or docs.
5
6 ## Repositories and the public boundary
7
8 | Repo | Visibility | What it is |
9 |------|------------|------------|
10 | `sigit` (`getsigit/sigit`) | **public** | siGit Code: the Rust CLI / ACP coding agent |
11 | `sigit-si` | private | the Rails app, account API, and these agent docs |
12 | `sigit-app` | private | the desktop client (Tauri) |
13 | `onde-cloud` | private | the OpenAI-compatible inference service |
14 | `onde` | open source | the on-device inference crate |
15
16 **Cardinal rule: `sigit` is public.** Everything committed there is world-readable:
17 code, comments, doc strings, tests, commit messages. Never put any of the
18 following in the public repo:
19
20 - secrets, API keys, tokens, or credentials;
21 - the identity of the upstream model providers behind siGit Code Cloud, or the
22 fact that any specific provider sits behind it;
23 - business strategy, pricing, or positioning;
24 - internal smbCloud auth mechanics (`app_secret`, validation flows, trust
25 boundaries);
26 - customer names or internal infrastructure detail.
27
28 That material belongs in `sigit-si` (server and strategy) or `sigit-app`
29 (desktop), which are private. When in doubt, put the explanation in a private
30 skill and keep the public comment purely about what the code does.
31
32 ## Writing for the public repo
33
34 - Keep comments and docs technical and neutral. Say what the code does, not why
35 it is a good business.
36 - Strip AI-writing tells: no em dashes, no forced groups of three, no
37 promotional or significance-inflating language, no "not just X but Y". Plain is
38 correct for reference text.
39 - User- and client-facing error messages must not name a provider or echo
40 upstream error bodies. Log the detail server-side; return something neutral.
41
42 ## Branding
43
44 Names are case-sensitive: `siGit Code` (product), `siGit Code Cloud` (hosted
45 tier), `sigit` (CLI and crate), `smbCloud` (company), `Onde Cloud` / `Onde
46 Inference` (infrastructure), `onde` (crate). The public `sigit` repo has a
47 `branding` skill with the full rules.
48
49 ## Skills in this repo
50
51 - `sigit-code`: engineering reference for siGit Code and how it connects to the
52 ecosystem (accounts, the cloud tier, cross-repo work).
53 - `sigit-code-cloud`: the hosted inference product: auth, tiers, backend
54 selection, and the `onde-cloud` API behind it.
55 - `smbcloud-auth`: the auth service integration.
56 - `sigit-app`: the desktop client.
57 - `deployment`, `design-system`, `local-environment`: as named.
58
59 The public `sigit` repo carries its own skills (`ai-assisted-coding`,
60 `agent-client-protocol`, `tool-calling`, `branding`, `sigit-code-release`). Those
61 stay public-safe.
62
63 ## Validation
64
65 - Rust (`sigit`, `onde-cloud`): `cargo build`, `cargo test`, `cargo clippy`.
66 - Rails (`sigit-si`): `bundle exec rails routes`, `ruby -c` on touched files,
67 `rails db:migrate` when the schema changes.
68
69 ## Common mistakes
70
71 - Putting strategy, a provider name, or a secret into the public `sigit` repo.
72 - Leaving AI-writing tells in public prose.
73 - Mixing the product, CLI, and company names.