Cline rules
.clinerules/development_guidelines.mdLanggraph Development Guidelines
Cline rules
Quality
83/100
Scores the file, not the repository.Length
547 words
6 headings · 0 code blocksRepository
0
— · pushed 392 days agoLast changed
3 days ago
First indexed 3 days ago.123456# Development Guidelines78## Coding Standards910* **Language:** TypeScript. Adhere to strict type-checking and leverage TypeScript's features for robust code.11* **Formatting:** Use Prettier (`prettier`) for consistent code formatting across the project. Ensure consistent indentation (likely 2 spaces), line endings, and brace style as configured in `eslint.config.ts`.12* **Linting:** Follow ESLint (`eslint`) rules defined in `eslint.config.ts`. Address all linting warnings and errors before committing code. Use `npm run lint` and `npm run format:check`.13* **Naming Conventions:** Adhere to conventional naming (camelCase for variables/functions, PascalCase for classes/interfaces) as enforced by ESLint.14* **Modularity:** Keep functions, modules, and especially agent nodes, small and focused on a single responsibility. This promotes reusability and easier debugging.1516## Best Practices1718* **Error Handling:** Implement robust error handling, particularly for external tool calls and API interactions. Utilize custom error classes (e.g., `ToolExecutionError`, `ModelInvocationError`) and centralized error handling (e.g., `handleGlobalError` in `src/config/errors.ts`).19* **Logging:** Utilize the `winston` logger (`src/config/logger.ts`) for consistent and informative logging across the application. Use appropriate log levels (`debug`, `info`, `error`) for different environments.20* **Asynchronous Operations:** Use `async/await` for all asynchronous operations to maintain readability and manage control flow effectively.21* **Configuration Management:** Manage sensitive information and API keys using environment variables (e.g., `MONGODB_ATLAS_URI`, `GOOGLE_API_KEY`, `EXA_API_KEY`, `GITHUB_TOKEN`) via `.env` files for local development. Ensure proper environment variable setup (e.g., `process.env[name]`).22* **Tool Usage:** Ensure proper schema validation for tool inputs using `zod`. Design tools to be idempotent where possible.23* **Graph Design:** Follow LangGraph's principles: nodes do the work, edges define the flow. Use `StateGraph` for complex state management.24* **State Management:** Pay close attention to how state is passed and modified between nodes, leveraging `Annotation` and reducer functions for clear, predictable updates.25* **Dependency Management:** Manage dependencies using `npm` and ensure `@langchain/core` is resolved to a single version to prevent conflicts.2627## Tooling and Environment2829* **IDE:** VS Code is the recommended development environment.30* **Package Manager:** npm.31* **Testing Framework:** Jest (`jest`) for unit and integration tests.32* **Build System:** TypeScript compiler (`tsc`) for transpilation (`npm run build`).33* **Version Control:** Git. Follow a clear branching strategy (e.g., `main` for stable code, feature branches for new development).34* **LangSmith:** Integrate LangSmith for best-in-class observability, debugging, testing, and monitoring of LLM applications. Set `LANGSMITH_API_KEY`, `LANGCHAIN_TRACING_V2`, and `LANGCHAIN_CALLBACKS_BACKGROUND` environment variables.3536## Collaboration and Workflow3738* **Version Control:** Utilize Git for all code changes. Adhere to a branching model that supports collaborative development and code reviews.39* **Code Reviews:** All significant code changes must undergo a thorough code review process to ensure quality, adherence to standards, and identification of potential issues.40* **Task Management:** Consider using a `cline_todo.md` file (as suggested in `.clinerules` best practices) to track tasks and subtasks within the project, ensuring clear summaries, timestamps, and status updates.4142## Testing Philosophy4344* **Unit Tests:** Write comprehensive unit tests for individual functions, modules, and especially for agent logic and tool implementations.45* **Integration Tests:** Develop integration tests to verify the interactions between different agents and external services within the LangGraph workflow.46* **Test Commands:** Use `npm run test` for unit tests, `npm run test:int` for integration tests, and `npm run test:all` for running all tests and linting checks.47* **Test-Driven Development (TDD):** Encourage a TDD approach where tests are written before the corresponding code to guide development and ensure testability.48
Also in ssdeanx/langgraph-dm
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 |
|---|---|---|---|---|---|
| ssdeanx/langgraph-dm.clinerules/memory.md · 0 | Cline rules | styleperformance | 43/100 | 3 days ago | |
| ssdeanx/langgraph-dm.clinerules/agents.md · 0 | Cline rules | typesagent-behaviour | 44/100 | 3 days ago | |
| ssdeanx/langgraph-dm.clinerules/docs-technical-style.md · 0 | Cline rules | setuplint-formatstyledocs | 53/100 | 3 days ago | |
| ssdeanx/langgraph-dm.clinerules/langgraphjs.md · 0 | Cline rules | arch | 52/100 | 3 days ago | |
| ssdeanx/langgraph-dm.clinerules/project_overview.md · 0 | Cline rules | testlint-formatstylearch | 75/100 | 3 days ago | |
| ssdeanx/langgraph-dm.clinerules/subgraphs.md · 0 | Cline rules | agent-behaviour | 48/100 | 3 days ago | |
| ssdeanx/langgraph-dm.github/copilot-instructions.md · 0 | Copilot instructions | setupsecuritydeploymentdo-not+2 | 57/100 | 3 days ago | |
| ssdeanx/langgraph-dm.windsurf/rules/graphs.md · 0 | Windsurf rules | do-not | 55/100 | 3 days ago | |
| ssdeanx/langgraph-dm.windsurf/rules/langsmith.md · 0 | Windsurf rules | do-notagent-behaviour | 55/100 | 3 days ago |
Diff against .clinerules/memory.md Diff against .clinerules/agents.md Diff against .clinerules/docs-technical-style.md Diff against .clinerules/langgraphjs.md Diff against .clinerules/project_overview.md Diff against .clinerules/subgraphs.md Diff against .github/copilot-instructions.md Diff against .windsurf/rules/graphs.md Diff against .windsurf/rules/langsmith.md
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| bashdeban/fastmind.clinerules/.project-consistency-keeper2.md · 5 | Cline rules | setupbuildtestlint-format+11 | 100/100 | 3 days ago | |
| JCodesMore/ai-website-cloner-template.clinerules · 31k | Cline rules | buildlint-formatstylearch+3 | 97/100 | 2 days ago | |
| u9401066/zotero-keeper.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| u9401066/zotero-keepervscode-extension/resources/repo-assets/pubmed-search-mcp/.clinerules/50-pubmed-project.md · 6 | Cline rules | testlint-formatstylearch+1 | 94/100 | 3 days ago | |
| VaillerTeeter/HoshimiNest.clinerules/project-identity.md · 1 | Cline rules | setuparchtypesdo-not | 93/100 | yesterday | |
| blendsdk/codeops-mcp.clinerules/project.md · 0 | Cline rules | buildteststylearch+7 | 91/100 | 3 days ago | |
| cline/cline.clinerules/general.md · 66k | Cline rules | setupbuildstylearch+2 | 86/100 | 3 days ago | |
| u9401066/zotero-keeper.clinerules/60-pubmed-python.md · 6 | Cline rules | setuptestlint-formatstyle+2 | 86/100 | 3 days ago |
