@@ -151,6 +151,44 @@ func TestInitSandboxWiring(t *testing.T) {
151151 }
152152}
153153
154+ // TestAutoIndexRtkIndependentOfCodegraph proves auto-index creates RTK's
155+ // antigravity rules even when codegraph already indexed the project (regression).
156+ func TestAutoIndexRtkIndependentOfCodegraph (t * testing.T ) {
157+ t .Setenv ("TOKLESS_TEST" , "1" )
158+ tempdir := t .TempDir ()
159+ for _ , d := range []string {".claude" , filepath .Join (".config" , "opencode" ), ".codex" , filepath .Join (".gemini" , "antigravity" )} {
160+ if err := os .MkdirAll (filepath .Join (tempdir , d ), 0755 ); err != nil {
161+ t .Fatalf ("mkdir %s: %v" , d , err )
162+ }
163+ }
164+ util .SetHomeOverride (tempdir )
165+ t .Setenv ("HOME" , tempdir )
166+ t .Setenv ("XDG_CONFIG_HOME" , filepath .Join (tempdir , ".config" ))
167+ defer util .SetHomeOverride ("" )
168+
169+ proj := filepath .Join (tempdir , "proj" )
170+ if err := os .MkdirAll (filepath .Join (proj , ".git" ), 0755 ); err != nil {
171+ t .Fatalf ("mkdir proj: %v" , err )
172+ }
173+ if err := os .MkdirAll (filepath .Join (proj , ".codegraph" ), 0755 ); err != nil {
174+ t .Fatalf ("mkdir .codegraph: %v" , err )
175+ }
176+ oldWd , _ := os .Getwd ()
177+ if err := os .Chdir (proj ); err != nil {
178+ t .Fatalf ("chdir: %v" , err )
179+ }
180+ defer os .Chdir (oldWd )
181+
182+ if code := commands .RunInit (commands.InitOptions {Agents : []string {"claude" , "antigravity" }}); code != 0 {
183+ t .Fatalf ("RunInit returned non-zero code: %d" , code )
184+ }
185+ commands .RunIndex (commands.InitOptions {}, true )
186+
187+ if _ , err := os .Stat (filepath .Join (proj , ".agents" , "rules" , "antigravity-rtk-rules.md" )); err != nil {
188+ t .Errorf ("auto-index did not write RTK antigravity rules: %v" , err )
189+ }
190+ }
191+
154192func getSHA256 (path string ) (string , error ) {
155193 b , err := os .ReadFile (path )
156194 if err != nil {
0 commit comments