AGENTS.md
unoplat-code-confluence-frontend/AGENTS.mdAGENTS.md
Quality
100/100
Scores the file, not the repository.Length
875 words
23 headings · 2 code blocksRepository
95
— · pushed 3 days agoLast changed
2 days ago
First indexed 2 days ago.1# AGENTS.md - Frontend Coding Guidelines23## Engineering Workflow4```bash5bun install # ([bun.sh](https://bun.sh/docs/cli/install?utm_source=openai))6bun run build # ([bun.sh](https://bun.sh/docs/cli/run?utm_source=openai))7bun run dev # ([bun.sh](https://bun.sh/docs/cli/run?utm_source=openai))8bun run lint # ([bun.sh](https://bun.sh/docs/cli/run?utm_source=openai))9```1011## Dependency Guide12- **Overview**: Full dependency descriptions are maintained in `dependencies_overview.md`.13- **Usage**: Keep this section concise and treat `dependencies_overview.md` as the source-of-truth dependency catalog.1415## Business Logic Domain16- **Summary**: This frontend models a Code Confluence platform that connects GitHub/GitLab repositories, collects metadata for ingestion jobs, and tracks workflow runs plus codebase status. It surfaces AI “agent” snapshot outputs (engineering workflows, dependency guides, business logic summaries, app interface scans) and stores user feedback tied to those runs. Supporting domains include credential/provider onboarding, model provider configuration (including OAuth), and tool configuration for integrations.17- **Key domains**:18 - Repository onboarding, provider credential handling, and multi-repository routing/metadata state.19 - Workflow run tracking, agent snapshot storage, and presentation of Agent MD artifacts.20 - Agent MD artifact formatting and markdown conversion for UI display.21 - Model provider configuration, OAuth-based connections, and tool configuration for analysis pipelines.22 - Feedback capture, rating/comment submission, and downstream issue reporting.23- **Key data models & modules**:24 - Agent feedback: `src/features/agent-feedback/api.ts`, `src/features/agent-feedback/schema.ts`, `src/features/agent-feedback/store.ts`, `src/types/agent-feedback.ts`.25 - Agent snapshots & events: `src/features/repository-agent-snapshots/collection.ts`, `src/features/repository-agent-snapshots/hooks.ts`, `src/features/repository-agent-snapshots/schema.ts`, `src/features/repository-agent-snapshots/transformers.ts`, `src/types/agent-events.ts`.26 - Agent MD artifacts: `src/lib/agent-md-to-markdown.ts`.27 - Model configuration & OAuth: `src/features/model-config/provider-schema.ts`, `src/features/model-config/schema-generator.ts`, `src/features/model-config/types.ts`, `src/hooks/useCodexOauth.ts`, `src/hooks/useSaveModelConfig.ts`.28 - Tool configuration: `src/features/tool-config/types.ts`, `src/hooks/useSaveToolConfig.ts`.29 - Repository/provider APIs & routing: `src/lib/api.ts`, `src/lib/api/repositories-api.ts`, `src/lib/api/repository-provider-api.ts`, `src/lib/utils/provider-route-utils.ts`, `src/lib/utils/provider-utils.ts`, `src/types/repository-provider.ts`, `src/routeTree.gen.ts`.30 - Credentials & auth state: `src/lib/validation/credential-schemas.ts`, `src/types/credential-enums.ts`, `src/lib/github-token-utils.ts`, `src/lib/env.ts`, `src/stores/useAuthStore.ts`.31 - UI state & shared types: `src/hooks/use-data-table.ts`, `src/forms/types.ts`, `src/stores/useDevModeStore.ts`, `src/stores/useThemeStore.ts`, `src/types/data-table.ts`, `src/types/index.ts`, `src/types.ts`.32- **Reference**: See `business_logic_references.md` for a detailed index of domain artifacts.3334## Commands35```bash36bun install # Install dependencies37vite # Dev server (http://localhost:5173)38vite build # TypeScript check + build39bun eslint . # Lint all files40bun eslint src/path/file.tsx # Lint single file41```4243## Code Style (from .cursor/rules)44- **TypeScript**: Use interfaces over types, avoid enums (use maps), no `any` types, precise types always45- **Functions**: Use `function` keyword for pure functions, functional/declarative patterns over classes46- **Naming**: Descriptive with auxiliary verbs (isLoading, hasError), lowercase-with-dashes for directories47- **Imports**: Preserve existing formatting, use `@/*` absolute path alias, use axios for HTTP (never fetch)48- **Formatting**: Preserve existing code/comments unless necessary, curly braces for all conditionals49- **Constraints**: Do not remove code/comments unless necessary, just do what's asked (ask before doing more)5051## Architecture52- **Stack**: React 19 + TypeScript + Vite + TanStack Router + TanStack Query + shadcn/ui + TailwindCSS53- **Routing**: TanStack Router (file-based in `src/routes/`), `__root.tsx` redirects `/` to `/onboarding`54- **State**: Zustand (client state), TanStack Query (server state, 5min stale), URL state via `useDataTableWithRouter`55- **UI**: shadcn/ui components use CVA variants as props (`variant="outline"` NOT `variant={{ outline: true }}`)56- **API**: Axios client in `src/lib/api.ts`, wrap all calls in TanStack Query hooks, dual error handling system57- **Forms**: Tanstack Form58- **Tables**: DiceUI + TanStack Table v8 with URL state sync via TanStack Router (NOT nuqs)5960## File Structure61`src/components/ui/` shadcn base | `src/components/custom/` business | `src/pages/` pages | `src/routes/` routes | `src/lib/` api/utils/env6263## Operating Instructions641. Use Context7 docs for dependency versions | Check existing code before changes | Structure: exported component → subcomponents → helpers → types652. When in read mode always remember to raise access from user for any command that you want to execute.6667<!-- intent-skills:start -->68## Skill Loading6970Before substantial work:71- Skill check: run `npx @tanstack/intent@latest list`, or use skills already listed in context.72- Skill guidance: if one local skill clearly matches the task, run `npx @tanstack/intent@latest load <package>#<skill>` and follow the returned `SKILL.md`.73- Monorepos: when working across packages, run the skill check from the workspace root and prefer the local skill for the package being changed.74- Multiple matches: prefer the most specific local skill for the package or concern you are changing; load additional skills only when the task spans multiple packages or concerns.75<!-- intent-skills:end -->7677<!-- UNOPLAT_CODE_CONFLUENCE_CONTEXT:BEGIN -->78<CRITICAL_INSTRUCTION>7980> Generated from branch `dev` at commit `5ecdba39d57f50c5188a8e32b9dd4f52d01611fe` (2026-07-18). Content may become stale as new commits land.8182</CRITICAL_INSTRUCTION>8384## Engineering Workflow85### Install86- `bun install` — repository root; config: `package.json` and `bun.lock`8788### Build89- `bun run build` — repository root; config: `package.json` (`tsc -b && vite build`)9091### Dev92- `bun run dev` — repository root; config: `package.json` (`vite`)9394### Test95- Not detected9697### Lint98- `bun run lint` — repository root; config: `package.json`99100### Type Check101- `bunx tsc -b` — repository root; config: `tsconfig.json` and `package.json` (build script)102103## Dependency Guide104See [`dependencies_overview.md`](./dependencies_overview.md) for the full dependency catalog and usage notes.105106## Business Domain107### Description108109This frontend is for a code analysis and repository operations platform centered on onboarding GitHub/GitLab repositories, ingesting them into workflow runs, and displaying AI agent snapshot outputs such as engineering workflows, dependency guides, business logic summaries, and app interface scans. It also covers model-provider and tool configuration, OAuth and credential handling, and feedback flows that turn app or agent feedback into GitHub issues.110111### References112113See [`business_domain_references.md`](./business_domain_references.md) for the supporting source references used to derive this domain summary.114115## App Interfaces116See [`app_interfaces.md`](./app_interfaces.md) for the canonical interface and endpoint reference.117118## Architecture119See [`architecture.md`](./architecture.md) for the canonical system architecture diagram.120121<!-- UNOPLAT_CODE_CONFLUENCE_CONTEXT:END -->122
Also in unoplat/unoplat-code-confluence
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| unoplat/unoplat-code-confluenceunoplat-code-confluence-openmetadata/AGENTS.md · 95 | AGENTS.md | setupbuildtestlint-format+2 | 79/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceAGENTS.md · 95 | AGENTS.md | testlint-formatmonorepoagent-behaviour | 48/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-cli/AGENTS.md · 95 | AGENTS.md | setupbuildtestlint-format+3 | 84/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-commons/.cursor/rules/use-think-tool.mdc · 95 | Cursor rules | no sections | 30/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-commons/AGENTS.md · 95 | AGENTS.md | setupbuildtestlint-format+2 | 88/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-docs/AGENTS.md · 95 | AGENTS.md | setupbuildtestlint-format+3 | 75/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-docs/CLAUDE.md · 95 | CLAUDE.md | testgitagent-behaviour | 43/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-frontend/.cursor/rules/react-vite-tanstack.mdc · 95 | Cursor rules | styleagent-behaviour | 38/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-frontend/.cursor/rules/shadcn-tanstack-knowledge.mdc · 95 | Cursor rules | teststyleuiperformance | 48/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-frontend/CLAUDE.md · 95 | CLAUDE.md | setupstylearchui+1 | 62/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-ingestion/code-confluence-flow-bridge/.cursor/rules/code-structure.mdc · 95 | Cursor rules | no sections | 16/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-ingestion/code-confluence-flow-bridge/.cursor/rules/fastapi-pydantic.mdc · 95 | Cursor rules | styletypes | 38/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-ingestion/code-confluence-flow-bridge/AGENTS.md · 95 | AGENTS.md | setupbuildtestlint-format+3 | 77/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-ingestion/code-confluence-flow-bridge/CLAUDE.md · 95 | CLAUDE.md | testlint-formatstylearch+6 | 96/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-query-engine/AGENTS.md · 95 | AGENTS.md | setupbuildtestlint-format+5 | 98/100 | 2 days ago | |
| unoplat/unoplat-code-confluenceunoplat-code-confluence-query-engine/CLAUDE.md · 95 | CLAUDE.md | agent-behaviour | 25/100 | 2 days ago |
Diff against unoplat-code-confluence-openmetadata/AGENTS.md Diff against AGENTS.md Diff against unoplat-code-confluence-cli/AGENTS.md Diff against unoplat-code-confluence-commons/.cursor/rules/use-think-tool.mdc Diff against unoplat-code-confluence-commons/AGENTS.md Diff against unoplat-code-confluence-docs/AGENTS.md Diff against unoplat-code-confluence-docs/CLAUDE.md Diff against unoplat-code-confluence-frontend/.cursor/rules/react-vite-tanstack.mdc Diff against unoplat-code-confluence-frontend/.cursor/rules/shadcn-tanstack-knowledge.mdc Diff against unoplat-code-confluence-frontend/CLAUDE.md Diff against unoplat-code-confluence-ingestion/code-confluence-flow-bridge/.cursor/rules/code-structure.mdc Diff against unoplat-code-confluence-ingestion/code-confluence-flow-bridge/.cursor/rules/fastapi-pydantic.mdc Diff against unoplat-code-confluence-ingestion/code-confluence-flow-bridge/AGENTS.md Diff against unoplat-code-confluence-ingestion/code-confluence-flow-bridge/CLAUDE.md Diff against unoplat-code-confluence-query-engine/AGENTS.md Diff against unoplat-code-confluence-query-engine/CLAUDE.md
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| mui/material-uiAGENTS.md · 99k | AGENTS.md | setupbuildtestlint-format+9 | 100/100 | 3 days ago | |
| SkeneTechnologies/skene-cookbookAGENTS.md · 51 | AGENTS.md | setupbuildtestlint-format+7 | 100/100 | 2 days ago | |
| OnlyTerp/prompt-cache-skillsAGENTS.md · 111 | AGENTS.md | setupbuildtestlint-format+5 | 100/100 | 3 days ago | |
| code-yeongyu/oh-my-openagentpackages/web/AGENTS.md · 67k | AGENTS.md | setupbuildtestlint-format+6 | 100/100 | 2 days ago | |
| aaif-goose/gooseAGENTS.md · 52k | AGENTS.md | setupbuildtestlint-format+6 | 100/100 | 3 days ago | |
| duckduckgo/content-scope-scriptsspecial-pages/AGENTS.md · 70 | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| n8n-io/n8npackages/@n8n/agents/AGENTS.md · 199k | AGENTS.md | buildteststylearch+3 | 100/100 | 3 days ago | |
| TryGhost/Ghoste2e/AGENTS.md · 55k | AGENTS.md | setupteststylearch+2 | 100/100 | 3 days ago |
