Claude’s index to your codebase.

Claude finds your code without searching it.

When Claude Code needs a function in your project, it usually goes looking for it: searching files, opening them, reading until it finds the right one. Every time.

CodeIndex keeps a list of everything in your code: each class, function and method, the file and line where it lives, what it takes and what it does. Claude asks the list and goes straight to that line. Answers come faster and spend fewer tokens.

git clone https://github.com/microbians/AI.SKILLS.git && bash AI.SKILLS/plugins/code-index/install.sh
Ask about a name in a small sample app: · · · , or a typo:
    The app is made up for this page. Click a line to isolate it.
    Why

    Search once. Read one line.

    grep

    Claude doesn’t keep a large project in its head. On every change it goes looking for the same names again: a grep over the tree, then files opened just to tell the definition from the calls.

      grep: every line that mentions the word, to sort by hand.
      where: the one that defines it, with what it takes and what it does.
      Mixins

      Methods are filed under the class they land in.

      members

      Big classes get split: their methods live in other files and are laid onto the class when it loads. A text search can’t see that wiring. CodeIndex reads it.

      • Recognized wiring: Object.assign(T.prototype, S.prototype), mixInto(T, S), applyMixins(T, [A, B]).
      • Found by where it lands: where UserStore.saveUser answers with the method in user-methods.js.
      • Stale copies stay out: a leftover old/ copy of the class doesn’t pass for the real one.
        How

        Two plain tools, one index.

        index

        universal-ctags reads the definitions in about 150 languages, SQLite keeps them. A hook refreshes the index at the start of every session, and only files whose content changed are read again. No AI anywhere in it: the doc is the comment already in your source.

          Secretary

          Hand in hand with The Secretary.

          secretary

          CodeIndex knows where every name lives; The Secretary remembers what was said about it. Install both and each one reads the other, with nothing to configure. Each still works alone.

          ( ∵◐ ᴗ ◐∵ ) CodeIndex ████████████████ 42% · Opus 5.5 medium
          • The status line: while a long index runs, CodeIndex takes over The Secretary’s bar, with its own face.
          • Handoffs name functions: store/user-methods.js (changed: _loadUser, saveUser) tells the next session what each edit touched.
          • Recall by symbol: ask The Secretary about saveUser and it also finds the conversations about the file that defines it.
          Install

          Install.

          install

          Needs Node.js 22 or newer and universal-ctags (the BSD ctags that ships with macOS won’t do). macOS or Linux.

          1 · ctags
          brew install universal-ctags            # macOS
          sudo apt-get install universal-ctags    # Debian / Ubuntu
          2 · CodeIndex: engine, skill, hook and a CLAUDE.md note
          git clone https://github.com/microbians/AI.SKILLS.git
          bash AI.SKILLS/plugins/code-index/install.sh

          Then start a session: the first one builds the index, the next ones refresh what changed. The database adds itself to the project’s .gitignore. Re-run the installer to upgrade; install.sh --uninstall removes it.

          Limits

          What it doesn’t do.

          limits

          It indexes definitions; it doesn’t run or understand the program.