Umtri는 프로젝트 개발 및 관리를 돕는 소프트웨어 서비스로, 프로젝트 구성 요소들을 나무(Tree) 형태로 구조화해서 보여주는 웹 기반 프로그램이다. 전반적으로 '나무'의 메타포를 적극적으로 활용하고 있는데, 나무가 자라듯 프로젝트가 자란다는 개념과 나무 안에서 움직이는 새(API), 종속적 연결(Edge), 문제들(Bug)을 위치와 영향범위 등으로 보여주며 성장 기록을 확인할 수 있어 프로젝트 이력을 관리할 수 있다는 점이 특징이다.
프로젝트가 자라는 시간적 배경, 시기에 해당한다. 버전의 개념으로 사용할 수도 있고, 차수(1차, 2차...)나 단계, 성숙도 등. 현재의 시즌은 'Now', 과거의 시즌은 'Past'로 표시되는데, 새로운 시즌이 생겨나면 기존의 시즌은 Past가 된다. 그리고 과거의 시즌은 성장기록으로만 남으며, 편집할 수 없다.
처음 배지를 만들면 '옮겨심기' 상태가 되는데, 이 상태에서는 시즌에 상관없이 편집이 가능하며, 완전 삭제(Hard-delete)도 가능하다. 이를 이용해 기존 프로젝트를 옮겨오는 과정에서 불필요하게 수정 기록이 많이 남는 일을 예방할 수 있다. 다 옮겨심은 뒤에는 뿌리내리기(Root)를 통해 성장 기록을 시작한다. 이후에는 모든 활동이 기록에 남는다(Soft-delete).
API 토큰 발행 후 Claude Code, Codex 등 MCP를 지원하는 대부분의 AI 에이전트 서비스들과 연동할 수 있다. 연동이 이뤄지면 나무(Tree) 구조를 읽어오거나 코드베이스를 나무 구조로 옮기도록 할 수 있는데, 이를 통해 코딩 에이전트들과 자연어를 통해 프로젝트 나무를 관리하고 기존 트리 구조를 토대로 성장하거나 새로운 버그를 배치하면서 위험도를 파악할 수 있다. 바이브 코딩 프로젝트들의 경우 개발자가 자신의 프로젝트 상태를 알지 못하는 경우가 많은데, 이렇게 연동한 후 트리구조로 그려보면 상태를 확인하고 성장을 계속 관리할 수 있게 된다.
노드를 새로 추가하면 바로 추가된 노드로 굳어지는 것이 아니라 '성장 계획'으로서 추가되는데, 이렇게 추가된 계획 노드는 계획 모드 상태에서만 볼 수 있다. 그리고 이를 실제 코드로 개발한 뒤에 개발 내용을 근거로 성장을 확정(commit)하면 성장한 가지로 공식화된다. 계획 노드는 옮겨심기 상태처럼 수정 기록이 남지 않고, 완전 삭제도 가능하다. 이를 이용해 계획을 노드로 그려보고 AI 에이전트에게 개발을 진행시키거나 반대로 AI 에이전트에게 개발 계획을 계획 노드로 그려보도록 한 후에 의도가 잘 전달되었는지 검토하는 용도로 사용될 수 있다.