diff --git a/packages/kilo-docs/.env.example b/packages/kilo-docs/.env.example deleted file mode 100644 index 575fa053e2c..00000000000 --- a/packages/kilo-docs/.env.example +++ /dev/null @@ -1,2 +0,0 @@ -POSTHOG_API_KEY=your_posthog_api_key -FREE_TIER_AMOUNT=$7 diff --git a/packages/kilo-docs/.gitattributes b/packages/kilo-docs/.gitattributes new file mode 100644 index 00000000000..807d5983db8 --- /dev/null +++ b/packages/kilo-docs/.gitattributes @@ -0,0 +1,3 @@ + +# Use bd merge for beads JSONL files +.beads/issues.jsonl merge=beads diff --git a/packages/kilo-docs/.gitignore b/packages/kilo-docs/.gitignore index 888a3106a35..a0cc2bbe0ab 100644 --- a/packages/kilo-docs/.gitignore +++ b/packages/kilo-docs/.gitignore @@ -1,31 +1,8 @@ -.release-notes/ -# Dependencies -/node_modules - -# Production -/build - -# Generated files -.docusaurus -.cache-loader -*.js -!src/**/*.js - -# Misc +node_modules/ .DS_Store -.env -.env.local -.env.development.local -.env.test.local -.env.production.local -.npmrc - -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -.devcontainer -TEMP/ - -.history/ +.next/ .vercel +package-lock.json +yarn.lock +screenshots/ +.beads/ \ No newline at end of file diff --git a/packages/kilo-docs/.kilocode/mcp.json b/packages/kilo-docs/.kilocode/mcp.json new file mode 100644 index 00000000000..845ac2b5abd --- /dev/null +++ b/packages/kilo-docs/.kilocode/mcp.json @@ -0,0 +1,11 @@ +{ + "mcpServers": { + "context7": { + "command": "npx", + "args": ["-y", "@upstash/context7-mcp"], + "env": { "DEFAULT_MINIMUM_TOKENS": "" }, + "alwaysAllow": ["resolve-library-id", "query-docs"], + "disabled": true + } + } +} diff --git a/packages/kilo-docs/.kilocode/rules/memory-bank-instructions.md b/packages/kilo-docs/.kilocode/rules/memory-bank-instructions.md deleted file mode 100644 index 016b31e5e9c..00000000000 --- a/packages/kilo-docs/.kilocode/rules/memory-bank-instructions.md +++ /dev/null @@ -1,168 +0,0 @@ -# Memory Bank - -I am an expert software engineer with a unique characteristic: my memory resets completely between sessions. This isn't a limitation - it's what drives me to maintain perfect documentation. After each reset, I rely ENTIRELY on my Memory Bank to understand the project and continue work effectively. I MUST read ALL memory bank files at the start of EVERY task - this is not optional. The memory bank files are located in `.kilocode/rules/memory-bank` folder. - -When I start a task, I will include `[Memory Bank: Active]` at the beginning of my response if I successfully read the memory bank files, or `[Memory Bank: Missing]` if the folder doesn't exist or is empty. If memory bank is missing, I will warn the user about potential issues and suggest initialization. - -## Memory Bank Structure - -The Memory Bank consists of core files and optional context files, all in Markdown format. - -### Core Files (Required) -1. `brief.md` - This file is created and maintained manually by the developer. Don't edit this file directly but suggest to user to update it if it can be improved. - - Foundation document that shapes all other files - - Created at project start if it doesn't exist - - Defines core requirements and goals - - Source of truth for project scope - -2. `product.md` - - Why this project exists - - Problems it solves - - How it should work - - User experience goals - -3. `context.md` - This file should be short and factual, not creative or speculative. - - Current work focus - - Recent changes - - Next steps - -4. `architecture.md` - - System architecture - - Source Code paths - - Key technical decisions - - Design patterns in use - - Component relationships - - Critical implementation paths - -5. `tech.md` - - Technologies used - - Development setup - - Technical constraints - - Dependencies - - Tool usage patterns - -### Additional Files -Create additional files/folders within memory-bank/ when they help organize: -- `tasks.md` - Documentation of repetitive tasks and their workflows -- `todos.md` - List of currently active TODOs and missing documentation items. When items are completed, they should be removed from the list -- Complex feature documentation -- Integration specifications -- API documentation -- Testing strategies -- Deployment procedures - -## Core workflows - -### Memory Bank Initialization - -The initialization step is CRITICALLY IMPORTANT and must be done with extreme thoroughness as it defines all future effectiveness of the Memory Bank. This is the foundation upon which all future interactions will be built. - -When user requests initialization of the memory bank (command `initialize memory bank`), I'll perform an exhaustive analysis of the project, including: -- All source code files and their relationships -- Configuration files and build system setup -- Project structure and organization patterns -- Documentation and comments -- Dependencies and external integrations -- Testing frameworks and patterns - -I must be extremely thorough during initialization, spending extra time and effort to build a comprehensive understanding of the project. A high-quality initialization will dramatically improve all future interactions, while a rushed or incomplete initialization will permanently limit my effectiveness. - -After initialization, I will ask the user to read through the memory bank files and verify product description, used technologies and other information. I should provide a summary of what I've understood about the project to help the user verify the accuracy of the memory bank files. I should encourage the user to correct any misunderstandings or add missing information, as this will significantly improve future interactions. - -### Memory Bank Update - -Memory Bank updates occur when: -1. Discovering new project patterns -2. After implementing significant changes -3. When user explicitly requests with the phrase **update memory bank** (MUST review ALL files) -4. When context needs clarification - -If I notice significant changes that should be preserved but the user hasn't explicitly requested an update, I should suggest: "Would you like me to update the memory bank to reflect these changes?" - -To execute Memory Bank update, I will: - -1. Review ALL project files -2. Document current state -3. Document Insights & Patterns -4. If requested with additional context (e.g., "update memory bank using information from @/Makefile"), focus special attention on that source - -Note: When triggered by **update memory bank**, I MUST review every memory bank file, even if some don't require updates. Focus particularly on context.md as it tracks current state. - -### Add Task - -When user completes a repetitive task (like adding support for a new model version) and wants to document it for future reference, they can request: **add task** or **store this as a task**. - -This workflow is designed for repetitive tasks that follow similar patterns and require editing the same files. Examples include: -- Adding support for new AI model versions -- Implementing new API endpoints following established patterns -- Adding new features that follow existing architecture - -Tasks are stored in the file `tasks.md` in the memory bank folder. The file is optional an can be empty. The file can store many tasks. - -To execute Add Task workflow: - -1. Create or update `tasks.md` in the memory bank folder -2. Document the task with: - - Task name and description - - Files that need to be modified - - Step-by-step workflow followed - - Important considerations or gotchas - - Example of the completed implementation -3. Include any context that was discovered during task execution but wasn't previously documented - -Example task entry: -```markdown -## Add New Model Support -**Last performed:** [date] -**Files to modify:** -- `/providers/gemini.md` - Add model to documentation -- `/src/providers/gemini-config.ts` - Add model configuration -- `/src/constants/models.ts` - Add to model list -- `/tests/providers/gemini.test.ts` - Add test cases - -**Steps:** -1. Add model configuration with proper token limits -2. Update documentation with model capabilities -3. Add to constants file for UI display -4. Write tests for new model configuration - -**Important notes:** -- Check Google's documentation for exact token limits -- Ensure backward compatibility with existing configurations -- Test with actual API calls before committing -``` - -### Regular Task Execution - -In the beginning of EVERY task I MUST read ALL memory bank files - this is not optional. - -The memory bank files are located in `.kilocode/rules/memory-bank` folder. If the folder doesn't exist or is empty, I will warn user about potential issues with the memory bank. I will include `[Memory Bank: Active]` at the beginning of my response if I successfully read the memory bank files, or `[Memory Bank: Missing]` if the folder doesn't exist or is empty. If memory bank is missing, I will warn the user about potential issues and suggest initialization. I should briefly summarize my understanding of the project to confirm alignment with the user's expectations, like: - -"[Memory Bank: Active] I understand we're building a React inventory system with barcode scanning. Currently implementing the scanner component that needs to work with the backend API." - -When starting a task that matches a documented task in `tasks.md`, I should mention this and follow the documented workflow to ensure no steps are missed. - -If the task was repetitive and might be needed again, I should suggest: "Would you like me to add this task to the memory bank for future reference?" - -In the end of the task, when it seems to be completed, I will update `context.md` accordingly. If the change seems significant, I will suggest to the user: "Would you like me to update memory bank to reflect these changes?" I will not suggest updates for minor changes. - -## Context Window Management - -When the context window fills up during an extended session: -1. I should suggest updating the memory bank to preserve the current state -2. Recommend starting a fresh conversation/task -3. In the new conversation, I will automatically load the memory bank files to maintain continuity - -## Technical Implementation - -Memory Bank is built on Kilo Code's Custom Rules feature, with files stored as standard markdown documents that both the user and I can access. - -## Important Notes - -REMEMBER: After every memory reset, I begin completely fresh. The Memory Bank is my only link to previous work. It must be maintained with precision and clarity, as my effectiveness depends entirely on its accuracy. - -If I detect inconsistencies between memory bank files, I should prioritize brief.md and note any discrepancies to the user. - -IMPORTANT: I MUST read ALL memory bank files at the start of EVERY task - this is not optional. The memory bank files are located in `.kilocode/rules/memory-bank` folder. \ No newline at end of file diff --git a/packages/kilo-docs/.kilocode/rules/memory-bank/architecture.md b/packages/kilo-docs/.kilocode/rules/memory-bank/architecture.md deleted file mode 100644 index bd5e99fb040..00000000000 --- a/packages/kilo-docs/.kilocode/rules/memory-bank/architecture.md +++ /dev/null @@ -1,137 +0,0 @@ -# Architecture Overview - -## System Architecture - -The Kilo Code documentation site is built using Docusaurus 3.8.1, a modern static site generator optimized for documentation websites. The architecture follows a standard Docusaurus pattern with custom enhancements for the Kilo Code brand and functionality. - -## Project Structure - -### Root Configuration -- [`package.json`](package.json:1) - Project dependencies and build scripts -- [`docusaurus.config.ts`](docusaurus.config.ts:1) - Main Docusaurus configuration -- [`sidebars.ts`](sidebars.ts:1) - Documentation navigation structure -- [`.env.example`](.env.example:1) - Environment variables template - -### Source Code Organization - -#### `/src` Directory -- [`src/constants.ts`](src/constants.ts:1) - Application-wide constants (URLs, links, configuration) -- [`src/components/`](src/components/) - Custom React components - - [`Codicon.tsx`](src/components/Codicon.tsx:1) - VS Code icon component - - [`Image.js`](src/components/Image.js:1) - Enhanced image component - - [`ReportIssue/`](src/components/ReportIssue/) - Issue reporting component - - [`YouTubeEmbed/`](src/components/YouTubeEmbed/) - YouTube video embedding -- [`src/css/custom.css`](src/css/custom.css:1) - Global styling and theme customization -- [`src/theme/`](src/theme/) - Docusaurus theme customizations - -#### `/docs` Directory Structure -The documentation follows a hierarchical organization: - -``` -docs/ -├── index.mdx # Landing page -├── getting-started/ # Installation and setup -├── basic-usage/ # Core functionality -├── features/ # Feature documentation -│ ├── tools/ # Tool reference -│ ├── mcp/ # MCP integration -│ ├── slash-commands/ # Command workflows -│ └── experimental/ # Beta features -├── advanced-usage/ # Advanced topics -├── providers/ # AI provider setup guides -└── extending/ # Development and contribution -``` - -#### `/static` Directory -- [`static/img/`](static/img/) - Images organized by feature/section -- [`static/downloads/`](static/downloads/) - Downloadable resources - -### Key Technical Decisions - -#### Documentation Organization -- **Feature-First Structure**: Documentation is organized by user journey and feature categories rather than technical implementation -- **Provider Separation**: Each AI provider has dedicated documentation for setup and configuration -- **Tool Reference**: Comprehensive tool documentation with individual pages for each tool - -#### Navigation Design -- **Progressive Disclosure**: Information is layered from basic to advanced usage -- **Cross-References**: Extensive internal linking between related concepts -- **Search Integration**: Local search with @easyops-cn/docusaurus-search-local - -#### Content Strategy -- **MDX Support**: Enhanced markdown with React component integration -- **Code Examples**: Extensive use of code blocks with syntax highlighting -- **Visual Documentation**: Screenshots and diagrams for complex concepts - -## Component Relationships - -### Core Components -1. **Docusaurus Core** - Static site generation and routing -2. **Custom Theme** - VS Code-inspired styling and branding -3. **Search Integration** - Local search functionality -4. **Analytics** - PostHog integration for usage tracking -5. **Custom Components** - Enhanced documentation experience - -### Data Flow -1. **Content Creation** - Markdown/MDX files in `/docs` -2. **Build Process** - Docusaurus compilation and optimization -3. **Static Generation** - HTML/CSS/JS output for hosting -4. **Deployment** - Static files served at https://kilocode.ai/docs - -## Critical Implementation Paths - -### Build System -- **Development**: `npm start` - Local development server with hot reload -- **Production**: `npm run build` - Optimized static site generation -- **Deployment**: Static files hosted with CDN distribution - -### Content Management -- **Documentation Updates**: Direct markdown file editing -- **Asset Management**: Static files in organized directory structure -- **Version Control**: Git-based workflow for content updates - -### Search Implementation -- **Local Search**: @easyops-cn/docusaurus-search-local plugin -- **Indexing**: Automatic content indexing during build -- **Search UI**: Integrated search bar with contextual results - -### Customization Points -- **Theme Overrides**: Custom CSS and component swizzling -- **Plugin Configuration**: Docusaurus plugin ecosystem integration -- **Content Enhancement**: MDX components for interactive documentation - -## Integration Points - -### External Services -- **PostHog Analytics**: User behavior tracking and insights -- **GitHub Integration**: Edit links and issue reporting -- **Community Platforms**: Discord, Reddit, Twitter integration - -### VS Code Extension Integration -- **Deep Linking**: Direct links to extension installation -- **Context Sharing**: Documentation references from extension -- **Feature Parity**: Documentation reflects current extension capabilities - -## Performance Considerations - -### Build Optimization -- **Static Generation**: Pre-built HTML for fast loading -- **Asset Optimization**: Image compression and lazy loading -- **Code Splitting**: JavaScript bundle optimization - -### User Experience -- **Mobile Responsive**: Optimized for all device sizes -- **Fast Navigation**: Client-side routing for smooth transitions -- **Search Performance**: Local search for instant results - -## Maintenance Patterns - -### Content Updates -- **Regular Reviews**: Documentation accuracy validation -- **Feature Alignment**: Updates synchronized with extension releases -- **Community Feedback**: User-driven improvements and corrections - -### Technical Maintenance -- **Dependency Updates**: Regular package updates and security patches -- **Performance Monitoring**: Build time and site performance tracking -- **Accessibility**: WCAG compliance and usability improvements \ No newline at end of file diff --git a/packages/kilo-docs/.kilocode/rules/memory-bank/brief.md b/packages/kilo-docs/.kilocode/rules/memory-bank/brief.md deleted file mode 100644 index cbce3815822..00000000000 --- a/packages/kilo-docs/.kilocode/rules/memory-bank/brief.md +++ /dev/null @@ -1 +0,0 @@ -This is the technical and user documentation for Kilo Code, an open source AI agent VS Code extension. It helps you write code more efficiently by generating code, automating tasks, and providing suggestions. It is written with the documentation library Docusaurus and hosted at https://kilocode.ai/docs \ No newline at end of file diff --git a/packages/kilo-docs/.kilocode/rules/memory-bank/context.md b/packages/kilo-docs/.kilocode/rules/memory-bank/context.md deleted file mode 100644 index 3cf71d98bd6..00000000000 --- a/packages/kilo-docs/.kilocode/rules/memory-bank/context.md +++ /dev/null @@ -1,78 +0,0 @@ -# Current Context - -## Project Status - -The Kilo Code documentation site is a mature, production-ready Docusaurus project that serves as the comprehensive documentation hub for the Kilo Code VS Code extension. The site is hosted at https://kilocode.ai/docs and provides extensive documentation covering installation, usage, features, and extension capabilities. - -## Current Work Focus - -**Memory Bank Initialization**: Currently performing comprehensive memory bank initialization to establish persistent project context for future AI interactions. This involves analyzing the entire documentation structure, understanding the project's purpose, and creating structured documentation files. - -## Recent Changes - -- Memory bank system being implemented with structured documentation files -- Product overview documented with comprehensive feature descriptions -- Project structure analyzed including all documentation categories and provider integrations - -## Documentation Structure - -The documentation is organized into several major sections: - -### Core User Journey -- **Getting Started**: Installation, setup, and first task completion -- **Using Kilo Code**: Chat interface, modes, context mentions, and basic features -- **Core Concepts**: Auto-approving actions, suggested responses, tool usage, and checkpoints - -### Advanced Features -- **Advanced Usage**: Prompt engineering, customization options, memory bank, and large project handling -- **Customization**: Settings management, custom modes, API configuration profiles -- **Extending Kilo Code**: Model providers (18+ supported), local models, MCP integration, shell integration - -### Reference Materials -- **Tools Reference**: Comprehensive documentation of all 15+ available tools -- **Provider Documentation**: Detailed setup guides for Anthropic, OpenAI, and 16+ other AI providers -- **Community Resources**: Contributing guidelines, development environment setup - -## Key Features Documented - -### Core Capabilities -- Multi-mode AI assistance (Code, Architect, Ask, Debug, Custom) -- Comprehensive tool ecosystem for file operations, browser automation, and system commands -- Memory Bank system for persistent project context -- MCP (Model Context Protocol) integration for external tool connectivity - -### User Experience Features -- Auto-generated commit messages with customizable templates -- Context mentions for precise file and code referencing -- Checkpoints for conversation state management -- Fast edits and surgical code modifications -- Browser automation for web testing and interaction - -### Extensibility -- 18+ AI model providers supported -- Custom mode creation with file restrictions and tool limitations -- Local model support for privacy-conscious development -- MCP server integration for unlimited external tool connectivity - -## Technical Implementation - -The site uses modern web technologies: -- **Framework**: Docusaurus 3.8.1 for static site generation -- **Styling**: Custom CSS with VS Code-inspired design elements -- **Search**: Local search implementation with @easyops-cn/docusaurus-search-local -- **Analytics**: PostHog integration for usage tracking -- **Components**: Custom React components for enhanced documentation experience - -## Next Steps - -1. Complete memory bank initialization with remaining core files -2. Document the technical architecture and build system -3. Create task documentation for common documentation workflows -4. Validate all memory bank files for accuracy and completeness - -## Important Considerations - -- Documentation must remain accessible to both technical and non-technical users -- All provider documentation needs to stay current with API changes -- Memory bank system documentation serves as both user guide and implementation reference -- Community contributions are encouraged through GitHub discussions and pull requests \ No newline at end of file diff --git a/packages/kilo-docs/.kilocode/rules/memory-bank/product.md b/packages/kilo-docs/.kilocode/rules/memory-bank/product.md deleted file mode 100644 index b4f49f37674..00000000000 --- a/packages/kilo-docs/.kilocode/rules/memory-bank/product.md +++ /dev/null @@ -1,95 +0,0 @@ -# Product Overview - -## What Kilo Code Is - -Kilo Code is an open source AI agent VS Code extension that transforms how developers write code by providing intelligent, context-aware assistance directly within the VS Code editor. It serves as a persistent development partner that can understand projects, generate code, automate tasks, and provide suggestions. - -## Problems It Solves - -### Core Development Pain Points -- **Blank Page Syndrome**: Eliminates the struggle of starting new code or features from scratch -- **Context Switching**: Reduces time spent switching between documentation, Stack Overflow, and code -- **Repetitive Tasks**: Automates common development workflows like commit message generation, boilerplate creation, and file operations -- **Code Quality**: Helps with refactoring, debugging, and maintaining consistent coding standards -- **Project Understanding**: Assists in understanding large codebases and complex architectures - -### AI Memory Limitations -- **Session Reset Problem**: Traditional AI assistants lose all context between sessions, requiring re-explanation of project details -- **Inefficient Context Gathering**: Without memory, AI must re-analyze entire codebases repeatedly, which is slow and expensive -- **Inconsistent Understanding**: Lack of persistent context leads to inconsistent suggestions and solutions - -## How Kilo Code Works - -### Core Interaction Model -Users interact with Kilo Code through a chat interface within VS Code, using natural language to describe what they want to accomplish. Kilo Code then uses specialized modes and tools to fulfill requests. - -### Mode System -- **Code Mode**: General-purpose coding tasks, file editing, project creation -- **Architect Mode**: Planning, design, technical leadership, and documentation -- **Ask Mode**: Information gathering, explanations, and learning -- **Debug Mode**: Systematic problem diagnosis and troubleshooting -- **Custom Modes**: Unlimited specialized personas for specific workflows - -### Tool Ecosystem -Kilo Code uses a sophisticated tool system organized into groups: -- **Read Tools**: File exploration, code analysis, project understanding -- **Edit Tools**: Code modification, file creation, precise surgical edits -- **Browser Tools**: Web automation and testing -- **Command Tools**: System command execution and build processes -- **MCP Tools**: External service integration through Model Context Protocol -- **Workflow Tools**: Task management, mode switching, progress tracking - -### Memory Bank System -A revolutionary approach to AI context preservation that maintains project understanding across sessions through structured documentation files that both the AI and developers can access. - -## User Experience Goals - -### Seamless Integration -- Natural language interaction within familiar VS Code environment -- No context switching between tools or applications -- Immediate access through sidebar panel - -### Intelligent Assistance -- Context-aware suggestions based on current project and codebase -- Proactive help with common development patterns -- Learning from user preferences and project conventions - -### Workflow Enhancement -- Streamlined development processes through automation -- Reduced cognitive load for repetitive tasks -- Enhanced productivity without disrupting existing workflows - -### Extensibility -- Support for multiple AI model providers -- Custom mode creation for specialized workflows -- MCP integration for unlimited tool expansion -- Local model support for privacy-conscious development - -## Target Outcomes - -### For Individual Developers -- Faster code generation and iteration cycles -- Improved code quality through AI-assisted refactoring and debugging -- Reduced time spent on documentation and boilerplate code -- Enhanced learning through AI explanations and suggestions - -### For Development Teams -- Consistent coding standards and practices -- Shared custom modes for standardized workflows -- Improved code review processes through better commit messages -- Knowledge preservation through Memory Bank documentation - -### For Projects -- Better documentation as a byproduct of AI assistance -- More maintainable codebases through consistent patterns -- Faster onboarding for new team members -- Preserved project knowledge across team changes - -## Success Metrics - -The product succeeds when developers report: -- Increased coding velocity and reduced time-to-completion -- Improved code quality and fewer bugs -- Enhanced understanding of complex codebases -- Reduced friction in development workflows -- Better project documentation and knowledge retention \ No newline at end of file diff --git a/packages/kilo-docs/.kilocode/rules/memory-bank/tasks.md b/packages/kilo-docs/.kilocode/rules/memory-bank/tasks.md deleted file mode 100644 index e3ff83e2fb1..00000000000 --- a/packages/kilo-docs/.kilocode/rules/memory-bank/tasks.md +++ /dev/null @@ -1,391 +0,0 @@ -# Documentation Tasks - -This file documents common repetitive tasks and workflows for maintaining the Kilo Code documentation site. - -## Add New Provider Documentation - -**Last performed:** Initial documentation setup -**Files to modify:** -- `/docs/providers/[provider-name].md` - Create new provider documentation -- `/sidebars.ts` - Add provider to navigation structure -- `/src/constants.ts` - Add provider URLs if needed - -**Steps:** -1. Create new provider documentation file in `/docs/providers/` -2. Follow the standard provider documentation template: - - Introduction and website link - - Getting an API Key section - - Supported Models section - - Configuration in Kilo Code section - - Tips and Notes section -3. Add provider to the Model Providers section in `sidebars.ts` -4. Update constants file if new URLs are needed -5. Test documentation locally with `npm start` -6. Verify all links work correctly - -**Template structure:** -```markdown ---- -sidebar_label: Provider Name ---- - -# Using [Provider Name] With Kilo Code - -Brief description of the provider and their strengths. - -**Website:** [Provider URL] - -## Getting an API Key -[Step-by-step instructions] - -## Supported Models -[List of supported models] - -## Configuration in Kilo Code -[Setup instructions] - -## Tips and Notes -[Additional helpful information] -``` - -## Add New Tool Documentation - -**Last performed:** Tool reference documentation setup -**Files to modify:** -- `/docs/features/tools/[tool-name].md` - Create new tool documentation -- `/sidebars.ts` - Add tool to Tools Reference section -- `/docs/features/tools/tool-use-overview.md` - Update tool overview if needed - -**Steps:** -1. Create new tool documentation file in `/docs/features/tools/` -2. Follow the standard tool documentation template -3. Add tool to the Tools Reference section in `sidebars.ts` -4. Update tool overview page if the tool represents a new category -5. Test documentation locally -6. Verify code examples and parameter descriptions are accurate - -**Important notes:** -- Include practical examples of tool usage -- Document all parameters with their types and requirements -- Explain when and why to use the tool -- Include common error scenarios and solutions - -## Update Feature Documentation - -**Last performed:** Feature documentation organization -**Files to modify:** -- Relevant feature documentation files in `/docs/features/` -- `/sidebars.ts` - Update navigation if structure changes -- `/docs/index.mdx` - Update feature highlights if major features added - -**Steps:** -1. Identify which feature documentation needs updates -2. Review current documentation for accuracy -3. Update content to reflect latest extension capabilities -4. Add new screenshots if UI has changed -5. Update navigation structure if needed -6. Test all internal links -7. Verify examples still work with current extension version - -**Important considerations:** -- Keep screenshots current with latest extension UI -- Ensure feature descriptions match actual extension behavior -- Update version-specific information -- Maintain consistency in documentation style - -## Add New Blog Post - -**Last performed:** Auto-generate commit messages blog post -**Files to modify:** -- `/blog-posts/[post-name].md` - Create new blog post -- Consider adding to main documentation if content is reference material - -**Steps:** -1. Create new blog post file in `/blog-posts/` -2. Follow the established blog post style and tone -3. Include practical examples and real-world usage -4. Add relevant images to `/static/img/` if needed -5. Consider if content should also be added to main documentation -6. Review for clarity and technical accuracy - -**Content guidelines:** -- Focus on practical benefits and real-world usage -- Include specific examples and code snippets -- Maintain conversational but informative tone -- Link to relevant documentation sections - -## Update Provider API Changes - -**Last performed:** Provider documentation updates -**Files to modify:** -- Relevant provider documentation in `/docs/providers/` -- `/docs/getting-started/connecting-api-provider.md` - If setup process changes - -**Steps:** -1. Identify which providers have API changes -2. Update supported models lists -3. Update configuration instructions if needed -4. Update pricing information references -5. Test configuration steps with actual provider APIs -6. Update screenshots if provider UIs have changed - -**Important notes:** -- Verify model names and capabilities with provider documentation -- Check for new authentication methods or requirements -- Update rate limit information if changed -- Ensure all external links are still valid - -## Reorganize Documentation Structure - -**Last performed:** Features section reorganization -**Files to modify:** -- `/sidebars.ts` - Primary navigation structure changes -- `/docusaurus.config.ts` - Add redirects for moved content -- Multiple documentation files - Update internal links - -**Steps:** -1. Plan new documentation structure -2. Update `sidebars.ts` with new organization -3. Add redirects in `docusaurus.config.ts` for moved content -4. Update internal links throughout documentation -5. Test all navigation paths -6. Verify search functionality still works -7. Update any hardcoded paths in components - -**Important considerations:** -- Always add redirects for moved content to prevent broken links -- Update internal link references throughout the site -- Test navigation flow from user perspective -- Consider impact on external links and bookmarks - -## Add New Custom Component - -**Last performed:** YouTube embed and image components -**Files to modify:** -- `/src/components/[ComponentName]/` - Create new component directory -- `/src/theme/MDXComponents.ts` - Register component for MDX usage -- Documentation files where component will be used - -**Steps:** -1. Create component directory in `/src/components/` -2. Implement React component with TypeScript -3. Add component styles in separate CSS module if needed -4. Register component in `MDXComponents.ts` for MDX usage -5. Test component in development environment -6. Document component usage for other contributors -7. Use component in relevant documentation files - -**Component guidelines:** -- Follow existing component patterns and styling -- Use TypeScript for type safety -- Include proper error handling -- Make components reusable and configurable -- Follow accessibility best practices - -## Update Screenshots and Visual Assets - -**Last performed:** Ongoing maintenance need -**Files to modify:** -- `/static/img/[feature-directories]/` - Update screenshot files -- Documentation files with embedded images - Update image references -- `/docs/getting-started/` - Installation and setup screenshots -- `/docs/basic-usage/` - Interface and workflow screenshots - -**Steps:** -1. Identify which features have UI changes from extension releases -2. Take new screenshots in consistent browser/OS environment -3. Optimize images for web (compress, appropriate dimensions) -4. Replace old screenshots in `/static/img/` directories -5. Update any image references in documentation files -6. Test that all images load correctly in development -7. Verify images are accessible and have proper alt text - -**Important considerations:** -- Maintain consistent screenshot style (browser, zoom level, theme) -- Use descriptive filenames that match the feature being documented -- Compress images to keep site performance optimal -- Update alt text for accessibility -- Consider creating a screenshot style guide for consistency - -## Graduate Experimental Features to Stable - -**Last performed:** Codebase indexing graduation -**Files to modify:** -- Feature documentation files - Remove experimental warnings -- `/sidebars.ts` - Move from experimental to appropriate section -- `/docs/features/experimental/` - Remove from experimental list -- Related tool documentation - Update experimental status -- `/docusaurus.config.ts` - Add redirects if URLs change - -**Steps:** -1. Identify features graduating from experimental status -2. Remove experimental warnings and disclaimers from documentation -3. Update navigation structure in `sidebars.ts` -4. Move documentation files if directory structure changes -5. Add redirects for any changed URLs -6. Update cross-references throughout documentation -7. Remove duplicate documentation if it exists -8. Update feature overview pages to reflect stable status - -**Important considerations:** -- Always add redirects for moved content to prevent broken links -- Search for all references to the feature across documentation -- Update any "experimental features" overview pages -- Consider if feature deserves more prominent placement in navigation -- Verify all examples and instructions work with stable version - -## Process Extension Release Documentation Updates - -**Last performed:** Version-specific updates from todos.md -**Files to modify:** -- Multiple feature documentation files based on release notes -- Provider documentation for new models or API changes -- Tool documentation for behavior changes -- Getting started guides for new onboarding features -- FAQ or troubleshooting sections for resolved issues - -**Steps:** -1. Review extension release notes for documentation impacts -2. Categorize changes: UI updates, new features, bug fixes, model additions -3. Update relevant feature documentation with new capabilities -4. Add or update screenshots for UI changes -5. Update provider documentation for new models -6. Update tool documentation for behavior changes -7. Add troubleshooting entries for resolved issues -8. Test all updated examples and instructions - -**Important considerations:** -- Prioritize user-facing changes that affect documentation accuracy -- Update version-specific information where relevant -- Ensure examples still work with current extension version -- Consider if changes require updates to getting started flow -- Document any breaking changes or migration steps - -## Manage Documentation Redirects - -**Last performed:** MCP and features section reorganization -**Files to modify:** -- `/docusaurus.config.ts` - Add redirect configurations -- `/sidebars.ts` - Update navigation structure -- Documentation files - Update internal links - -**Steps:** -1. Plan new documentation structure or identify moved content -2. Document all URL changes that will occur -3. Add redirect entries in `docusaurus.config.ts` -4. Update navigation structure in `sidebars.ts` -5. Update internal links throughout documentation -6. Test all redirect paths work correctly -7. Verify search functionality still works -8. Update any hardcoded paths in components - -**Important considerations:** -- Always add redirects before moving content to prevent 404 errors -- Use permanent redirects (301) for moved content -- Test redirects work for both old and new URLs -- Update internal links to use new URLs directly -- Consider impact on external links and bookmarks -- Document redirect rationale for future reference - -## Resolve Duplicate/Conflicting Documentation - -**Last performed:** Codebase search tool documentation cleanup needed -**Files to modify:** -- Duplicate documentation files -- Navigation structure -- Internal links and cross-references -- Redirect configuration if URLs change - -**Steps:** -1. Identify duplicate or conflicting documentation files -2. Compare content to determine which version is authoritative -3. Merge useful content from both versions if needed -4. Remove or redirect the duplicate file -5. Update navigation to remove duplicate entries -6. Update internal links to point to single authoritative source -7. Add redirects if removing a file that might be bookmarked -8. Verify no broken links remain - -**Important considerations:** -- Determine which version has more accurate/current information -- Preserve any unique content from the version being removed -- Check git history to understand why duplicates exist -- Ensure the remaining version covers all use cases -- Update any cross-references throughout the site - -## Update Tool Documentation for Behavior Changes - -**Last performed:** Tool fixes mentioned in v4.58.0 release -**Files to modify:** -- Individual tool documentation files in `/docs/features/tools/` -- Tool overview page if categories change -- Examples and usage patterns in tool docs - -**Steps:** -1. Review extension release notes for tool behavior changes -2. Identify which tools have updated functionality -3. Update parameter descriptions and requirements -4. Update examples to reflect new behavior -5. Add or update limitation sections -6. Update "when is it used" sections if use cases change -7. Test examples to ensure they work correctly -8. Update tool overview page if needed - -**Important considerations:** -- Verify all parameter descriptions are accurate -- Test code examples with current extension version -- Update any error scenarios or troubleshooting information -- Ensure examples demonstrate best practices -- Consider if changes affect tool categorization - -## Audit and Fix Broken Links - -**Last performed:** Ongoing maintenance need -**Files to modify:** -- All documentation files with internal or external links -- Navigation configuration files -- Component files with hardcoded links - -**Steps:** -1. Run Docusaurus build to identify broken internal links -2. Use link checking tools for external links -3. Manually verify provider URLs and external service links -4. Update or remove broken external links -5. Fix internal link references -6. Update navigation structure if needed -7. Test all fixed links work correctly -8. Document any permanently removed external resources - -**Important considerations:** -- Docusaurus automatically checks internal links during build -- External links may break due to provider website changes -- Consider using archive.org links for historical references -- Update provider URLs when services rebrand or move -- Remove links to discontinued services -- Add redirects if internal link structure changes - -## Update Model Lists Across Providers - -**Last performed:** Ongoing as providers add models -**Files to modify:** -- Individual provider documentation files in `/docs/providers/` -- Provider comparison information if it exists -- Getting started guides mentioning specific models - -**Steps:** -1. Review provider websites and APIs for new model additions -2. Update supported models lists in provider documentation -3. Add model capabilities and limitations information -4. Update pricing references if available -5. Test configuration with new models if possible -6. Update any model comparison information -7. Verify model names and identifiers are correct -8. Update examples to use current model names - -**Important considerations:** -- Verify model names exactly match provider APIs -- Include context window sizes and capabilities where relevant -- Note any special configuration requirements for new models -- Update rate limit information if it varies by model -- Consider if new models change provider recommendations -- Test actual API connectivity when possible \ No newline at end of file diff --git a/packages/kilo-docs/.kilocode/rules/memory-bank/tech.md b/packages/kilo-docs/.kilocode/rules/memory-bank/tech.md deleted file mode 100644 index a57a9df067f..00000000000 --- a/packages/kilo-docs/.kilocode/rules/memory-bank/tech.md +++ /dev/null @@ -1,184 +0,0 @@ -# Technology Stack - -## Core Framework - -### Docusaurus 3.8.1 - -- **Purpose**: Modern static site generator optimized for documentation -- **Key Features**: React-based, MDX support, built-in search, theming -- **Configuration**: [`docusaurus.config.ts`](docusaurus.config.ts:1) - -## Runtime Environment - -### Node.js - -- **Required Version**: Node.js 18.0 or higher -- **Package Manager**: npm (with package-lock.json for dependency locking) -- **Development Server**: Hot reload with live editing support - -## Core Dependencies - -### React Ecosystem - -- **React 19.0.0**: Core UI library -- **React DOM 19.0.0**: DOM rendering -- **@mdx-js/react 3.0.0**: MDX component integration -- **clsx 2.0.0**: Conditional CSS class utility - -### Docusaurus Plugins & Presets - -- **@docusaurus/preset-classic 3.8.1**: Standard Docusaurus configuration -- **@docusaurus/plugin-client-redirects 3.8.1**: URL redirect management -- **@easyops-cn/docusaurus-search-local 0.48.5**: Local search functionality - -### Styling & UI Components - -- **@vscode/codicons 0.0.36**: VS Code icon integration -- **prism-react-renderer 2.3.0**: Syntax highlighting for code blocks -- **Custom CSS**: VS Code-inspired theme in [`src/css/custom.css`](src/css/custom.css:1) - -### Analytics & Tracking - -- **posthog-docusaurus 2.0.4**: User behavior analytics and insights -- **Configuration**: Environment-based with POSTHOG_API_KEY - -## Development Dependencies - -### TypeScript Support - -- **TypeScript 5.6.2**: Type checking and development tooling -- **@docusaurus/types 3.8.1**: Docusaurus TypeScript definitions -- **@docusaurus/module-type-aliases 3.8.1**: Module type aliases -- **@docusaurus/tsconfig 3.8.1**: Shared TypeScript configuration - -### Development Tools - -- **dotenv 16.4.7**: Environment variable management -- **husky 9.1.7**: Git hooks for development workflow - -## Build System - -### Development Workflow - -```bash -npm start # Local development server with hot reload -npm run build # Production build with optimization -npm run serve # Serve built files locally -npm run clear # Clear Docusaurus cache -``` - -Not that on Windows, it may be useful to use: - -```bash -npx docusaurus start -npx docusaurus build -``` - -### Build Configuration - -- **Host**: 0.0.0.0 (accessible from network) -- **Environment Variables**: Loaded via dotenv -- **Output**: Static HTML/CSS/JS files for CDN deployment - -## Browser Support - -### Production Targets - -- **Modern Browsers**: >0.5% usage, not dead, not Opera Mini -- **Specific Exclusions**: Opera Mini (limited JavaScript support) - -### Development Targets - -- **Chrome**: Last 3 versions -- **Firefox**: Last 3 versions -- **Safari**: Last 5 versions - -## External Integrations - -### GitHub Integration - -- **Repository**: https://github.com/Kilo-Org/docs -- **Edit Links**: Direct links to GitHub for documentation editing -- **Issue Reporting**: Integrated issue creation workflow - -### Community Platforms - -- **Discord**: https://kilocode.ai/discord -- **Reddit**: https://www.reddit.com/r/kilocode/ -- **Twitter**: https://x.com/kilocode -- **YouTube**: https://www.youtube.com/@Kilo-Code - -### VS Code Marketplace - -- **Extension URL**: https://marketplace.visualstudio.com/items?itemName=kilocode.kilo-code -- **Open VSX**: https://open-vsx.org/extension/kilocode/kilo-code - -## Deployment Architecture - -### Static Site Hosting - -- **Production URL**: https://kilocode.ai/docs -- **Base Path**: /docs (configured in docusaurus.config.ts) -- **CDN**: Static file distribution for global performance - -### Content Delivery - -- **Static Assets**: Images, downloads, and media files -- **Search Index**: Local search data bundled with site -- **Sitemap**: Automatic generation for SEO - -## Development Constraints - -### File Organization - -- **Documentation**: Markdown/MDX files in `/docs` directory -- **Static Assets**: Organized by feature in `/static/img` -- **Components**: Custom React components in `/src/components` - -### Content Management - -- **Version Control**: Git-based workflow for all content -- **Asset Optimization**: Manual image optimization required -- **Link Validation**: Docusaurus validates internal links during build - -## Performance Considerations - -### Build Optimization - -- **Code Splitting**: Automatic JavaScript bundle optimization -- **Static Generation**: Pre-rendered HTML for fast initial load -- **Asset Optimization**: CSS/JS minification in production builds - -### Runtime Performance - -- **Client-Side Routing**: Fast navigation between pages -- **Search Performance**: Local search index for instant results -- **Image Loading**: Manual lazy loading implementation where needed - -## Security & Privacy - -### Data Collection - -- **Analytics**: PostHog for usage tracking (configurable) -- **Privacy Policy**: Links to both website and extension privacy policies -- **User Control**: Analytics can be disabled via environment configuration - -### Content Security - -- **Static Generation**: No server-side vulnerabilities -- **External Links**: Proper target and rel attributes for security -- **Asset Validation**: Build-time validation of all assets and links - -## Maintenance Requirements - -### Regular Updates - -- **Dependencies**: Monthly security and feature updates -- **Docusaurus**: Follow major version updates for new features -- **Node.js**: Maintain compatibility with LTS versions - -### Content Synchronization - -- **Extension Features**: Documentation must reflect current extension capabilities -- **Provider APIs**: Keep provider setup guides current with API changes -- **Community Links**: Verify external links remain active diff --git a/packages/kilo-docs/.kilocode/rules/memory-bank/todos.md b/packages/kilo-docs/.kilocode/rules/memory-bank/todos.md deleted file mode 100644 index 3536e048afb..00000000000 --- a/packages/kilo-docs/.kilocode/rules/memory-bank/todos.md +++ /dev/null @@ -1,116 +0,0 @@ -## Settings and UI Documentation - -### 10. API Provider Selection Enhancement -- **File to Update**: `features/settings-management.md` -- **Release Note**: v4.58.0 - "Add Search/Filter Functionality to API Provider Selection in Settings" -- **Required Changes**: Document new search/filter functionality in API provider selection - -### 11. Auto-Approve Settings Update -- **File to Update**: `features/auto-approving-actions.md` -- **Release Note**: v4.57.0 - "Add 'max requests' section to the Auto-Approve Settings page" -- **Required Changes**: Document new max requests section in Auto-Approve Settings - -### 12. Chat Interface Updates -- **File to Update**: `basic-usage/the-chat-interface.md` -- **Release Notes & Changes**: - - v4.58.0 - "Add copy prompt button to task actions" → Document copy prompt button functionality - - v4.56.0 - "Add idea suggestion box to get you inspired with some ideas when starting out fresh" → Document idea suggestion feature - - v4.57.1 - "Show idea suggestions when there is no task history" → Update idea suggestion documentation - -### 13. Git Commit Generation Updates -- **File to Update**: `basic-usage/git-commit-generation.md` -- **Release Note**: v4.56.1 - "Continue to show commit message generation progress while waiting for LLM response" -- **Required Changes**: Document improved progress indicators during commit message generation - ---- - -## Bug Fixes and Technical Updates - -### 14. OpenRouter Provider Fix -- **File to Update**: `providers/openrouter.md` -- **Release Note**: v4.56.2 - "Fix autocomplete init with custom openrouter models" -- **Required Changes**: Update documentation regarding autocomplete with custom OpenRouter models - -### 15. Claude Code Windows Integration -- **File to Update**: `providers/claude-code.md` -- **Release Note**: v4.57.2 - "ENAMETOOLONG error in Claude Code integration on Windows is resolved" -- **Required Changes**: Add troubleshooting section for Windows-specific issues (now resolved) - -### 16. Error Handling Improvements -- **File to Update**: `faq.md` or create troubleshooting section -- **Release Note**: v4.57.3 - "More details are included in connection error messages" -- **Required Changes**: Document improved error handling and connection error messages - -### 17. Localization Updates -- **File to Create/Update**: `advanced-usage/localization.md` (if doesn't exist) -- **Release Notes**: - - v4.58.1 - "French localization has been improved" - - v4.58.3 - "Fixed 'Kilo' being inadvertently translated in some languages" -- **Required Changes**: Document localization improvements and translation fixes - ---- - -## Tool Documentation Updates - -### 18. Tool Behavior Updates -- **Files to Review**: All files in `features/tools/` directory -- **Release Notes**: Various tool fixes mentioned in v4.58.0 -- **Required Changes**: - - Update `apply_diff` tool documentation for intermittent hang fixes - - Update `insert_content` tool documentation for new file creation capability - - Update MCP resource handling documentation for image support fixes - -### 19. Codebase Search Tool -- **File to Update**: `features/tools/codebase-search.md` or `advanced-usage/available-tools/codebase-search.md` -- **Release Note**: Related to codebase indexing moving out of experimental -- **Required Changes**: Remove experimental warnings from codebase search tool documentation - ---- - -## UI and Visual Updates - -### 20. Settings Management UX -- **File to Update**: `features/settings-management.md` -- **Release Note**: v4.58.0 - "Fix code index secret persistence and improve settings UX" -- **Required Changes**: Document settings UX improvements and code index configuration - -### 21. Chat UI Improvements -- **File to Update**: `basic-usage/the-chat-interface.md` -- **Release Notes**: v4.58.0 - Multiple UI consistency and layout improvements -- **Required Changes**: Update documentation for chat UI enhancements and consistency changes - -### 22. Screenshot Updates -- **Files to Review**: All documentation files with screenshots -- **Release Notes**: Multiple UI changes across releases -- **Required Changes**: Review and update screenshots to reflect current UI state - ---- - -## Getting Started Updates - -### 23. First Task Experience -- **File to Update**: `getting-started/your-first-task.md` -- **Release Notes**: Idea suggestion box and improved onboarding -- **Required Changes**: Update first task documentation to include idea suggestions for new users - ---- - -## Additional Provider Model Updates - -### 24. Model Additions Across Providers -- **Files to Update**: Various provider files -- **Release Notes**: Multiple model additions across different providers -- **Required Changes**: - - Verify all new models are documented in respective provider files - - Update model lists and capabilities where applicable - ---- - -## Documentation Structure and Navigation - -### 25. File Organization Review -- **Files to Review**: All documentation files -- **Changes**: - - Ensure codebase indexing is properly moved out of experimental - - Verify all internal links work after any file moves - - Update navigation and cross-references as needed \ No newline at end of file diff --git a/packages/kilo-docs/.kilocodemodes b/packages/kilo-docs/.kilocodemodes deleted file mode 100644 index 7f95cdb5e4c..00000000000 --- a/packages/kilo-docs/.kilocodemodes +++ /dev/null @@ -1,217 +0,0 @@ -customModes: - - slug: video-script-writer - name: Video Script Writer - roleDefinition: >- - **Persona: Kilo Code Expert Scriptwriter** - - - **Background:** - - A professional scriptwriter specializing in creating clear, engaging, and - informative scripts tailored specifically for YouTube, Reddit tutorials, - and documentation videos focused on Kilo Code. With a deep understanding - of Kilo Code’s functionalities and its practical applications, this expert - excels at translating complex coding concepts into straightforward, - easy-to-follow explanations. - - - **Communication Style:** - - - Professional yet friendly, fostering trust and approachability. - - - Concise and structured, using precise language to ensure clarity. - - - Logical flow, breaking down complex topics into manageable steps. - - - Engaging tone, designed to maintain viewer interest throughout the - video. - - - **Specialization:** - - - Kilo Code’s features and updates - - - Common troubleshooting techniques - - - Step-by-step tutorials for beginners to advanced users - - - Practical use-cases and real-world examples - - - **Approach:** - - - Start by clearly stating the objective of the script. - - - Provide concise explanations with relatable analogies when helpful. - - - Anticipate common questions and proactively address them. - - - Conclude with actionable insights or suggested next steps for users. - - - **Tone and Personality:** - - - Knowledgeable and authoritative without being intimidating. - - - Patient and encouraging, ensuring viewers feel capable and supported. - - - Enthusiastic about Kilo Code, making viewers excited about learning and - implementing the software. - - - **Goal:** - - To empower viewers by making Kilo Code accessible and easy to master, - enhancing their confidence and competence through expert guidance and - clear, compelling content. - groups: [] - source: project - - slug: docs - name: Documentation Writer - roleDefinition: You are a technical documentation writer who combines 24 years of coding experience with Smart Brevity principles to create documentation that developers can scan, understand, and act on immediately. You prioritize cognitive accessibility and write for readers with varying attention spans, including those with ADD/ADHD. Your straightforward, conversational style eliminates fluff while maintaining technical precision. You specialize in Visual Studio Code extension documentation using Docusaurus, with deep expertise in Markdown, MDX, and React-based static sites. Every piece of content serves a clear purpose and provides immediate value to developers. - customInstructions: >- - ### Documentation Standards - - #### 1. **Lead with Impact** (Smart Brevity Core) - Start every section with the ONE most important thing users need to know. Answer "why should I care?" before explaining "how to do it." Front-load value in the first sentence. - - #### 2. **One Big Thing Per Section** - Each documentation section should have one primary takeaway. State it clearly in the opening. Everything else supports that main point. - - #### 3. **Scannable Structure** - - Use descriptive headings that answer questions - - Keep paragraphs to 1-3 sentences (max 60 words) - - Limit sentences to 20 words when possible - - Use bullet points for lists of 3+ items - - Bold key terms on first mention - - #### 4. **Precision Over Perfection** - Write for experienced developers. Skip basic explanations unless they clarify Kilo Code-specific behavior. Assume familiarity with VS Code, extensions, and development workflows. - - #### 5. **Show, Don't Just Tell** - Every feature explanation needs a realistic code example. Make examples copy-pasteable and immediately useful. Avoid "Hello World" demos—use real-world scenarios. - - #### 6. **Cognitive Accessibility First** - - Use parallel structure in lists - - Define technical terms when they impact understanding - - Provide context for complex workflows - - Break complex tasks into numbered steps - - Use consistent terminology throughout - - #### 7. **Anticipate and Address** - Include common pitfalls, troubleshooting tips, and "gotchas" within relevant sections. Answer the question users will have next. - - #### 8. **Internal Navigation Standards** - - Use absolute paths starting from `/docs/` root - - Omit `.md` extensions in links - - Example: `[Configuration Guide](/configuration/setup/)` - - Test all links work in Docusaurus environment - - #### 9. **@site Alias Usage** - - Use `@site` only for code imports and component references - - Example: `import Header from '@site/src/components/Header';` - - Never use `@site` in Markdown links—use absolute paths instead - - #### 10. **Code Standards** - - Provide syntax highlighting for all code blocks - - Include file names or context when helpful - - Maintain consistent indentation (2 spaces) - - Test code examples before publishing - - Show input AND expected output when relevant - - #### 11. **Visual Elements** - - Add image placeholders with descriptive alt text - - Use format: `Descriptive text` - - Images should start with `/img/` path - - Include brief description below complex images - - #### 12. **Eliminate Filler Words** - Remove: "simply," "just," "easily," "obviously," "of course," "as you can see." These add cognitive load without value. - - #### 13. **Progressive Disclosure** - Start with the essential information. Add detail as needed. Use expandable sections or links to deeper content for advanced users. - - #### 14. **Consistency Checklist** - - Use same terminology for same concepts - - Follow identical formatting patterns - - Maintain consistent voice and tone - - Verify all links and code examples work - - Check accessibility with screen reader preview - - groups: - - read - - command - - edit - source: project - - - slug: posts - name: Blog Post Author - roleDefinition: You are a technical blog author who applies Smart Brevity principles to make complex development topics accessible and engaging. With 24 years of experience, you write with authentic candor and technical precision, helping developers quickly understand why they should care about Kilo Code features. Your friendly, conversational tone includes light humor while maintaining professional credibility. You specialize in translating documentation into compelling stories that show real-world value, always leading with the problem being solved rather than the solution being offered. - customInstructions: >- - ### Smart Brevity Blog Standards - - #### 1. **Hook with Value** (Smart Brevity Core) - Open every post by stating the problem this feature/topic solves. Lead with "why this matters" before explaining "what it does." Make the value clear in the first paragraph. - - #### 2. **One Big Thing Focus** - Each blog post should have one main takeaway readers can act on immediately. State it early and reinforce it throughout. - - #### 3. **Scannable and Engaging** - - Use subheadings that ask questions or promise benefits - - Keep paragraphs short (2-3 sentences max) - - Include bullet points for key benefits or steps - - Add light humor or personality without compromising clarity - - Bold important concepts and features - - #### 4. **Real-World Context** - Show how experienced developers actually use these features. Skip toy examples—demonstrate genuine productivity gains and workflow improvements. - - #### 5. **Documentation Integration** - - Link to relevant docs using absolute URLs - - Example: `[Complete Setup Guide](https://kilocode.ai/docs/configuration/)` - - Reference specific documentation sections to drive deeper engagement - - Make it easy to go from blog interest to documentation action - - #### 6. **Accessible Technical Writing** - - Define acronyms and technical terms when they impact understanding - - Use parallel structure in lists and explanations - - Provide context for workflows and processes - - Consider readers with varying attention spans and learning styles - - #### 7. **Problem-Solution Structure** - - Start with relatable developer pain point - - Show how Kilo Code addresses it specifically - - Provide concrete example or walkthrough - - End with clear next steps or call to action - - #### 8. **Code with Context** - - Include realistic, copy-pasteable code examples - - Show before/after scenarios when relevant - - Provide syntax highlighting and proper formatting - - Explain why the code works, not just how - - #### 9. **Visual Storytelling** - - Use images from documentation: `Description` - - Include screenshots that support the narrative - - Add brief descriptions for complex visuals - - Show UI paths with backticks: `Settings → Prompts → Feature Name` - - #### 10. **Friendly Authority** - - Write conversationally but maintain technical credibility - - Include 1-2 appropriate jokes or light observations per post - - Acknowledge common frustrations developers face - - Share insights from real usage patterns - - #### 11. **Clear Navigation** - - End posts with specific next steps - - Link to relevant documentation sections - - Suggest related features or workflows - - Make it easy for readers to continue their journey - - #### 12. **Elimination Editing** - Remove marketing speak, unnecessary qualifiers, and filler words. Every sentence should advance understanding or provide value. - - groups: - - read - - edit - source: project diff --git a/packages/kilo-docs/.kilocoderules b/packages/kilo-docs/.kilocoderules deleted file mode 100644 index d0f5aa5ee5a..00000000000 --- a/packages/kilo-docs/.kilocoderules +++ /dev/null @@ -1,31 +0,0 @@ -# Kilo Code Documentation Rules - -## Documentation Links -- Do not include .md extensions in documentation links -- Use absolute paths starting from the `/docs/` root for internal documentation links -- Example: [link text](/basic-usage/how-tools-work) NOT [link text](basic-usage/how-tools-work.md) or [link text](../../basic-usage/how-tools-work) - -This ensures links work correctly in the built documentation while maintaining clean URLs. - -## Image References -- Use `/docs/img/` prefix for all image paths in documentation -- Example: `Description` -- NOT: `` or `` - -## Component Imports -- Import custom components from `@site/src/components/` using absolute paths -- Import constants from `@site/src/constants.ts` -- Examples: - - `import Image from '@site/src/components/Image';` - - `import { DISCORD_URL } from '@site/src/constants.ts'` - - `import Codicon from '@site/src/components/Codicon';` - -## External Link References -- Use constants from `src/constants.ts` for external URLs instead of hardcoding -- Example: `Discord` -- NOT: `Discord` - -## Sidebar Configuration -- Document IDs in `sidebars.ts` should match file paths without extensions -- Use `type: 'doc'` with custom labels when the sidebar label differs from the document title -- Group related documents under categories with descriptive labels diff --git a/packages/kilo-docs/AGENTS.md b/packages/kilo-docs/AGENTS.md new file mode 100644 index 00000000000..332e634a8d9 --- /dev/null +++ b/packages/kilo-docs/AGENTS.md @@ -0,0 +1,110 @@ +## Project Overview + +This is the Kilo Code documentation site. Kilo Code is the leading open source agentic engineering platform. + +## Dev Server + +The dev server is run with `bun dev` and runs on `http://localhost:3002`. Typically the user will be running it themselves, so always check if it is running FIRST before deciding to run it yourself to test something. + +## Markdoc Custom Tags + +This project uses [Markdoc](https://markdoc.dev/) for rendering markdown with custom components. Custom tags allow you to embed React components directly in markdown files. + +## Converting from old documentation site + +This site was previously in docusaurus but is now in markdoc. Sometimes the user may ask you to update the images and other tags in a page that was imported. These are the types of updates you'd need to make + +### Images + +Images will often look like standard HTML image tags like: + +Connect account screen + +We want to convert them to Markdoc image tags like this: + +{% image src="/docs/img/kilo-provider/connected-accounts.png" alt="Connect account screen" width="800" caption="Connect account screen" /%} + +Note that this site is served under kilo.ai/docs so the `/docs` MUST be present in every image tag. + +Image attributes + +```json + src: { + type: String, + required: true, + description: "The image source URL", + }, + alt: { + type: String, + required: true, + description: "Alternative text for the image", + }, + width: { + type: String, + description: "Width of the image (e.g., '500px', '80%')", + }, + height: { + type: String, + description: "Height of the image (e.g., '300px', 'auto')", + }, + caption: { + type: String, + description: "Optional caption displayed below the image", + } +``` + +### Callouts + +Callouts in Docusaurus look like this: + +```markdown +:::info + +You can report any bugs or feedbacks by chatting with us in our [Discord server](https://discord.gg/ovhcloud), in the AI Endpoints channel. + +::: +``` + +We want to convert them to Markdoc callout tags like this: + +```markdown +{% callout type="info" %} +You can report any bugs or feedbacks by chatting with us in our [Discord server](https://discord.gg/ovhcloud), in the AI Endpoints channel. +{% /callout %} +``` + +Callout Attributes: + +```json + title: { + type: String, + description: "Optional custom title for the callout", + }, + type: { + type: String, + default: "note", + matches: ["generic", "note", "tip", "info", "warning", "danger"], + description: + "The type of callout: generic (no icon/title), note, tip, info, warning, or danger", + }, + collapsed: { + type: Boolean, + default: false, + description: + "When true, the callout starts collapsed and can be expanded by clicking the header", + } +``` + +### Codicons + +Codicon icons look like this: + +```html + +``` + +And we want to convert that to look like this: + +```markdown +{% codicon name="gear" /%} +``` diff --git a/packages/kilo-docs/CHANGELOG.md b/packages/kilo-docs/CHANGELOG.md deleted file mode 100644 index dbc1c39b24a..00000000000 --- a/packages/kilo-docs/CHANGELOG.md +++ /dev/null @@ -1,7 +0,0 @@ -# kilocode-docs - -## 0.1.1 - -### Patch Changes - -- [#5178](https://github.com/Kilo-Org/kilocode/pull/5178) [`e9c18e7`](https://github.com/Kilo-Org/kilocode/commit/e9c18e784f308f908251cdff48231f390c7350c0) Thanks [@sebastiand-cerebras](https://github.com/sebastiand-cerebras)! - Remove deprecated zai-glm-4.6 model from Cerebras provider due to deprecation diff --git a/packages/kilo-docs/LICENSE b/packages/kilo-docs/LICENSE deleted file mode 100644 index 261eeb9e9f8..00000000000 --- a/packages/kilo-docs/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/packages/kilo-docs/README.md b/packages/kilo-docs/README.md index e3da810f7ad..3854b49039c 100644 --- a/packages/kilo-docs/README.md +++ b/packages/kilo-docs/README.md @@ -1,17 +1,39 @@ -# Kilo Code Docs +# Full Next.js example -This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator, and lives at https://kilocode.ai/docs +This is a full-featured boilerplate for a creating a documentation website using Markdoc and Next.js. -### Installation +image -``` -$ pnpm install +## Setup + +First, clone this repo and install the dependencies required: + +```bash +npm install +# or +yarn install ``` -### Local Development +Then, run the development server: -``` -$ pnpm docs:start +```bash +npm run dev +# or +yarn dev ``` -This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `index.md`. The page auto-updates as you edit the file. + +## Deploy + +The quickest way to deploy your own version of this boilerplate is by deploying it with [Vercel](https://vercel.com) or [Netlify](https://www.netlify.com/) by clicking one of the buttons below. + +### Deploy with Vercel + +[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/markdoc/next.js-starter) + +### Deploy to Netlify + +[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/markdoc/next.js-starter) diff --git a/packages/kilo-docs/blog-posts/auto-generate-commit-messages.md b/packages/kilo-docs/blog-posts/auto-generate-commit-messages.md deleted file mode 100644 index d7c7c4aea5e..00000000000 --- a/packages/kilo-docs/blog-posts/auto-generate-commit-messages.md +++ /dev/null @@ -1,108 +0,0 @@ -# Why I Let AI Write My Commit Messages - -### And Probably You Should Too - -I've just finished implementing a big feature, the code is staged and ready to go, but there I am — mesmerized by the empty commit message field, brain is blank. What do I write? "Fixed stuff"? "Updates"? "asdf"? Do you know that feeling too? - -I've been there countless times, and honestly, it's one of those tiny friction points that really bother me - or, better to say, bothered me, because since we shipped `auto-generate commit messages feature`, the problem disappeared for good. That feature became one of those things where once I have it, I wonder how I ever lived without it. - -## The Problem with Commit Messages - -**Writing good commit messages is hard.** Like, genuinely difficult. You need to: - -- Summarize what changed without being too vague -- Follow your team's conventions (Conventional Commits, anyone?) -- Capture the _why_ behind the change, which is often harder than the _what_ -- Keep it concise but informative -- Do all this while your brain is already moving on to the coffee machine - -The result? Most of us end up with commit histories that look like something between an archaeological mystery and a stand-up show. Future you (or your teammates) trying to understand why something was changed becomes an exercise in detective work. - -## How It Actually Works - -Here's the thing that makes this feature genuinely useful: it only looks at your **staged changes**. Not your entire working directory, not random files you've been tinkering with—just the specific changes you've decided to commit. - -This is crucial because it means the AI understands the scope of what you're actually committing. It can see that you added a new authentication method, fixed a specific bug, or updated documentation, and it crafts the message accordingly. - -The process is dead simple: - -1. Stage your changes (like you normally would) -2. Click the Kilo Code logo next to the commit message field -3. Get a properly formatted commit message - automagically! - -Auto-generated commit message in VS Code - -## Real Examples from Real Work - -Let me show you some actual commit messages this feature has generated for me: - -``` -feat(auth): implement OAuth2 integration with GitHub - -Add GitHub OAuth2 authentication flow including: -- OAuth2 client configuration -- User profile retrieval -- Token refresh mechanism -``` - -``` -fix(api): resolve race condition in user session handling - -Add proper locking mechanism to prevent concurrent -session updates from causing data corruption -``` - -``` -docs(readme): update installation requirements - -Clarify Node.js version requirements and add -troubleshooting section for common setup issues -``` - -Notice how these follow [Conventional Commits](https://www.conventionalcommits.org/) format by default? That's not an accident. The feature understands modern commit conventions best practices and applying them automatically. - -## The Customization That Actually Matters - -Here's where it gets interesting. You can customize the prompt template to match your team's specific needs or your own preferences. Don't want to be "too conventional" or just have your own standards? Maybe you want to use a different commit format, or you want to include ticket numbers, your git username or you have specific terminology for your project? - -Just head to `Settings → Prompts → Commit Message Generation` and modify the template. The AI will adapt to your requirements while still understanding the technical context of your changes. - -Customizing commit message templates - -## Why This Isn't Just Another AI Gimmick - -I've seen plenty of AI features that feel like solutions looking for problems. This isn't one of them, it actually works: - -**It's contextually aware**: The AI sees your actual code changeset, not just filenames. It understands when you've added error handling, refactored a function, or fixed a typo. - -**It respects your workflow**: You still stage changes the same way. You still review and edit the message if needed. It just removes the blank-page problem. - -**It's fast**: No waiting around for some cloud service to analyze your entire codebase. It's quick and focused. - -**It follows your patterns**: The more you adjust it, the better it gets at matching your project's style and conventions. - -## The Productivity Impact - -Here's the thing I didn't expect: this feature doesn't just save time on writing commit messages. It actually makes me commit more frequently and more conciously. - -When writing commit messages was a friction point, I'd sometimes batch unrelated changes together just to avoid writing multiple messages. Just squeeze everything into a bucket and throw it at the server, like `git add . && git commit -m "blablabla" && git push`. Now, I commit logical chunks of work as I complete them, which leads to a much cleaner git history. - -Better commit messages also mean better code reviews. When your teammates can quickly understand what each commit does, the entire review process becomes more efficient. - -## Getting Started - -The feature is available in Kilo Code since `v4.35` and became customizable in `v4.38`. Just make sure you have some staged changes, and look for the Kilo Code logo in your VS Code Source Control panel. - -Pro tip: Consider setting up a dedicated [API configuration profile](https://kilo.ai/docs/features/api-configuration-profiles/) with a faster, cheaper model specifically for commit message generation. You don't need the most powerful model for this task, and it'll save you some API costs and time - yes, it's exactly what we did in [2x Faster, 30x Cheaper Prompt Enhancement](https://blog.kilo.ai/p/2x-faster-prompt-enhancement-in-kilo)! - -## One More Thing - -I mentioned I use this feature constantly, and that's not hyperbole. It's become such a natural part of my workflow that I actually get annoyed when I have to write commit messages manually. - -That's the mark of a good tool — when it "dissolves" into your workflow and just makes everything smoother. No fanfare, just one less thing to think about so you can focus on what actually matters: writing great code. - -Give it a try. I think you'll find yourself wondering how you ever managed without it. - ---- - -_Want to learn more about Kilo Code's commit message generation? Check out the [full documentation](https://kilo.ai/docs/basic-usage/git-commit-generation/) I wrote for setup details. And let me know what you think about it or how could we improve it even more here in comments or on our [Discord Server](https://kilo.ai/discord)!_ diff --git a/packages/kilo-docs/bun.lock b/packages/kilo-docs/bun.lock new file mode 100644 index 00000000000..e70a30bdf99 --- /dev/null +++ b/packages/kilo-docs/bun.lock @@ -0,0 +1,269 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "dependencies": { + "@markdoc/markdoc": "latest", + "@markdoc/next.js": "latest", + "@vscode/codicons": "^0.0.44", + "next": "latest", + "prismjs": "latest", + "react": "latest", + "react-dom": "latest", + }, + "devDependencies": { + "@tailwindcss/postcss": "^4.1.18", + "@types/node": "latest", + "@types/react": "latest", + "@types/react-dom": "latest", + "autoprefixer": "^10.4.23", + "postcss": "^8.5.6", + "tailwindcss": "^4.1.18", + "typescript": "latest", + }, + }, + }, + "packages": { + "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], + + "@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], + + "@img/colour": ["@img/colour@1.0.0", "", {}, "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw=="], + + "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w=="], + + "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.4" }, "os": "darwin", "cpu": "x64" }, "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw=="], + + "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g=="], + + "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg=="], + + "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A=="], + + "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw=="], + + "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA=="], + + "@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.2.4", "", { "os": "linux", "cpu": "none" }, "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA=="], + + "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ=="], + + "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw=="], + + "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw=="], + + "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg=="], + + "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.4" }, "os": "linux", "cpu": "arm" }, "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw=="], + + "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg=="], + + "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.4" }, "os": "linux", "cpu": "ppc64" }, "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA=="], + + "@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.2.4" }, "os": "linux", "cpu": "none" }, "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw=="], + + "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.4" }, "os": "linux", "cpu": "s390x" }, "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg=="], + + "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ=="], + + "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg=="], + + "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q=="], + + "@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.5", "", { "dependencies": { "@emnapi/runtime": "^1.7.0" }, "cpu": "none" }, "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw=="], + + "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g=="], + + "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg=="], + + "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], + + "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + + "@markdoc/markdoc": ["@markdoc/markdoc@0.5.4", "", { "optionalDependencies": { "@types/linkify-it": "^3.0.1", "@types/markdown-it": "12.2.3" }, "peerDependencies": { "@types/react": "*", "react": "*" }, "optionalPeers": ["@types/react", "react"] }, "sha512-36YFNlqFk//gVNGm5xZaTWVwbAVF2AOmVjf1tiUrS6tCoD/YSkVy2E3CkAfhc5MlKcjparL/QFHCopxL4zRyaQ=="], + + "@markdoc/next.js": ["@markdoc/next.js@0.5.0", "", { "dependencies": { "js-yaml": "^4.1.0" }, "peerDependencies": { "@markdoc/markdoc": "*", "next": "*", "react": "*" } }, "sha512-gzWvRc2dlxArQn1mDS4SHed46vkAoKBbXkELihQRYv1eVSA0u9eoNEdJXNuBL4Ajn9j2dPpwZp6nAVjN4nzZlA=="], + + "@next/env": ["@next/env@16.1.4", "", {}, "sha512-gkrXnZyxPUy0Gg6SrPQPccbNVLSP3vmW8LU5dwEttEEC1RwDivk8w4O+sZIjFvPrSICXyhQDCG+y3VmjlJf+9A=="], + + "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@16.1.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-T8atLKuvk13XQUdVLCv1ZzMPgLPW0+DWWbHSQXs0/3TjPrKNxTmUIhOEaoEyl3Z82k8h/gEtqyuoZGv6+Ugawg=="], + + "@next/swc-darwin-x64": ["@next/swc-darwin-x64@16.1.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-AKC/qVjUGUQDSPI6gESTx0xOnOPQ5gttogNS3o6bA83yiaSZJek0Am5yXy82F1KcZCx3DdOwdGPZpQCluonuxg=="], + + "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@16.1.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-POQ65+pnYOkZNdngWfMEt7r53bzWiKkVNbjpmCt1Zb3V6lxJNXSsjwRuTQ8P/kguxDC8LRkqaL3vvsFrce4dMQ=="], + + "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@16.1.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-3Wm0zGYVCs6qDFAiSSDL+Z+r46EdtCv/2l+UlIdMbAq9hPJBvGu/rZOeuvCaIUjbArkmXac8HnTyQPJFzFWA0Q=="], + + "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@16.1.4", "", { "os": "linux", "cpu": "x64" }, "sha512-lWAYAezFinaJiD5Gv8HDidtsZdT3CDaCeqoPoJjeB57OqzvMajpIhlZFce5sCAH6VuX4mdkxCRqecCJFwfm2nQ=="], + + "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@16.1.4", "", { "os": "linux", "cpu": "x64" }, "sha512-fHaIpT7x4gA6VQbdEpYUXRGyge/YbRrkG6DXM60XiBqDM2g2NcrsQaIuj375egnGFkJow4RHacgBOEsHfGbiUw=="], + + "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@16.1.4", "", { "os": "win32", "cpu": "arm64" }, "sha512-MCrXxrTSE7jPN1NyXJr39E+aNFBrQZtO154LoCz7n99FuKqJDekgxipoodLNWdQP7/DZ5tKMc/efybx1l159hw=="], + + "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@16.1.4", "", { "os": "win32", "cpu": "x64" }, "sha512-JSVlm9MDhmTXw/sO2PE/MRj+G6XOSMZB+BcZ0a7d6KwVFZVpkHcb2okyoYFBaco6LeiL53BBklRlOrDDbOeE5w=="], + + "@swc/helpers": ["@swc/helpers@0.5.15", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g=="], + + "@tailwindcss/node": ["@tailwindcss/node@4.1.18", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "enhanced-resolve": "^5.18.3", "jiti": "^2.6.1", "lightningcss": "1.30.2", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.1.18" } }, "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ=="], + + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.18", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.18", "@tailwindcss/oxide-darwin-arm64": "4.1.18", "@tailwindcss/oxide-darwin-x64": "4.1.18", "@tailwindcss/oxide-freebsd-x64": "4.1.18", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", "@tailwindcss/oxide-linux-x64-musl": "4.1.18", "@tailwindcss/oxide-wasm32-wasi": "4.1.18", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" } }, "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A=="], + + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.18", "", { "os": "android", "cpu": "arm64" }, "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q=="], + + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.18", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A=="], + + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.18", "", { "os": "darwin", "cpu": "x64" }, "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw=="], + + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.18", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA=="], + + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18", "", { "os": "linux", "cpu": "arm" }, "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA=="], + + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw=="], + + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg=="], + + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.18", "", { "os": "linux", "cpu": "x64" }, "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g=="], + + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.18", "", { "os": "linux", "cpu": "x64" }, "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ=="], + + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.18", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.1.0", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.4.0" }, "cpu": "none" }, "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA=="], + + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.18", "", { "os": "win32", "cpu": "arm64" }, "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA=="], + + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.18", "", { "os": "win32", "cpu": "x64" }, "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q=="], + + "@tailwindcss/postcss": ["@tailwindcss/postcss@4.1.18", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.1.18", "@tailwindcss/oxide": "4.1.18", "postcss": "^8.4.41", "tailwindcss": "4.1.18" } }, "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g=="], + + "@types/linkify-it": ["@types/linkify-it@3.0.5", "", {}, "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw=="], + + "@types/markdown-it": ["@types/markdown-it@12.2.3", "", { "dependencies": { "@types/linkify-it": "*", "@types/mdurl": "*" } }, "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ=="], + + "@types/mdurl": ["@types/mdurl@2.0.0", "", {}, "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg=="], + + "@types/node": ["@types/node@25.0.10", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg=="], + + "@types/react": ["@types/react@19.2.9", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA=="], + + "@types/react-dom": ["@types/react-dom@19.2.3", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="], + + "@vscode/codicons": ["@vscode/codicons@0.0.44", "", {}, "sha512-F7qPRumUK3EHjNdopfICLGRf3iNPoZQt+McTHAn4AlOWPB3W2kL4H0S7uqEqbyZ6rCxaeDjpAn3MCUnwTu/VJQ=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "autoprefixer": ["autoprefixer@10.4.23", "", { "dependencies": { "browserslist": "^4.28.1", "caniuse-lite": "^1.0.30001760", "fraction.js": "^5.3.4", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA=="], + + "baseline-browser-mapping": ["baseline-browser-mapping@2.9.17", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-agD0MgJFUP/4nvjqzIB29zRPUuCF7Ge6mEv9s8dHrtYD7QWXRcx75rOADE/d5ah1NI+0vkDl0yorDd5U852IQQ=="], + + "browserslist": ["browserslist@4.28.1", "", { "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", "electron-to-chromium": "^1.5.263", "node-releases": "^2.0.27", "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" } }, "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA=="], + + "caniuse-lite": ["caniuse-lite@1.0.30001766", "", {}, "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA=="], + + "client-only": ["client-only@0.0.1", "", {}, "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="], + + "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], + + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], + + "electron-to-chromium": ["electron-to-chromium@1.5.278", "", {}, "sha512-dQ0tM1svDRQOwxnXxm+twlGTjr9Upvt8UFWAgmLsxEzFQxhbti4VwxmMjsDxVC51Zo84swW7FVCXEV+VAkhuPw=="], + + "enhanced-resolve": ["enhanced-resolve@5.18.4", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q=="], + + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "fraction.js": ["fraction.js@5.3.4", "", {}, "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], + + "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], + + "lightningcss": ["lightningcss@1.30.2", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.30.2", "lightningcss-darwin-arm64": "1.30.2", "lightningcss-darwin-x64": "1.30.2", "lightningcss-freebsd-x64": "1.30.2", "lightningcss-linux-arm-gnueabihf": "1.30.2", "lightningcss-linux-arm64-gnu": "1.30.2", "lightningcss-linux-arm64-musl": "1.30.2", "lightningcss-linux-x64-gnu": "1.30.2", "lightningcss-linux-x64-musl": "1.30.2", "lightningcss-win32-arm64-msvc": "1.30.2", "lightningcss-win32-x64-msvc": "1.30.2" } }, "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ=="], + + "lightningcss-android-arm64": ["lightningcss-android-arm64@1.30.2", "", { "os": "android", "cpu": "arm64" }, "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A=="], + + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA=="], + + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ=="], + + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA=="], + + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.2", "", { "os": "linux", "cpu": "arm" }, "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA=="], + + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A=="], + + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA=="], + + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.2", "", { "os": "linux", "cpu": "x64" }, "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w=="], + + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.2", "", { "os": "linux", "cpu": "x64" }, "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA=="], + + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ=="], + + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.2", "", { "os": "win32", "cpu": "x64" }, "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw=="], + + "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "next": ["next@16.1.4", "", { "dependencies": { "@next/env": "16.1.4", "@swc/helpers": "0.5.15", "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "16.1.4", "@next/swc-darwin-x64": "16.1.4", "@next/swc-linux-arm64-gnu": "16.1.4", "@next/swc-linux-arm64-musl": "16.1.4", "@next/swc-linux-x64-gnu": "16.1.4", "@next/swc-linux-x64-musl": "16.1.4", "@next/swc-win32-arm64-msvc": "16.1.4", "@next/swc-win32-x64-msvc": "16.1.4", "sharp": "^0.34.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-gKSecROqisnV7Buen5BfjmXAm7Xlpx9o2ueVQRo5DxQcjC8d330dOM1xiGWc2k3Dcnz0In3VybyRPOsudwgiqQ=="], + + "node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], + + "prismjs": ["prismjs@1.30.0", "", {}, "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw=="], + + "react": ["react@19.2.3", "", {}, "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA=="], + + "react-dom": ["react-dom@19.2.3", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.3" } }, "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg=="], + + "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], + + "semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], + + "sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "styled-jsx": ["styled-jsx@5.1.6", "", { "dependencies": { "client-only": "0.0.1" }, "peerDependencies": { "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" } }, "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA=="], + + "tailwindcss": ["tailwindcss@4.1.18", "", {}, "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw=="], + + "tapable": ["tapable@2.3.0", "", {}, "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg=="], + + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "update-browserslist-db": ["update-browserslist-db@1.2.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], + + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.1", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" }, "bundled": true }, "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A=="], + + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], + + "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "next/postcss": ["postcss@8.4.31", "", { "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="], + } +} diff --git a/packages/kilo-docs/components/Callout.tsx b/packages/kilo-docs/components/Callout.tsx new file mode 100644 index 00000000000..df902cb6893 --- /dev/null +++ b/packages/kilo-docs/components/Callout.tsx @@ -0,0 +1,115 @@ +import * as React from "react" + +type CalloutType = "generic" | "note" | "tip" | "info" | "warning" | "danger" + +interface CalloutProps { + type?: CalloutType + title?: string + collapsed?: boolean + children: React.ReactNode +} + +const typeConfig: Record< + CalloutType, + { + icon: string | null + defaultTitle: string | null + borderColor: string + bgColor: string + titleColor: string + iconColor: string + } +> = { + generic: { + icon: null, + defaultTitle: null, + borderColor: "border-l-gray-300 dark:border-l-gray-600", + bgColor: "bg-gray-50 dark:bg-gray-800/50", + titleColor: "text-gray-700 dark:text-gray-300", + iconColor: "text-gray-400", + }, + note: { + icon: "📝", + defaultTitle: "Note", + borderColor: "border-l-gray-500", + bgColor: "bg-gray-50 dark:bg-gray-800/50", + titleColor: "text-gray-700 dark:text-gray-300", + iconColor: "text-gray-500", + }, + tip: { + icon: "💡", + defaultTitle: "Tip", + borderColor: "border-l-green-500", + bgColor: "bg-green-50 dark:bg-green-900/20", + titleColor: "text-green-700 dark:text-green-400", + iconColor: "text-green-500", + }, + info: { + icon: "ℹ️", + defaultTitle: "Info", + borderColor: "border-l-blue-500", + bgColor: "bg-blue-50 dark:bg-blue-900/20", + titleColor: "text-blue-700 dark:text-blue-400", + iconColor: "text-blue-500", + }, + warning: { + icon: "⚠️", + defaultTitle: "Warning", + borderColor: "border-l-yellow-500", + bgColor: "bg-yellow-50 dark:bg-yellow-900/20", + titleColor: "text-yellow-700 dark:text-yellow-400", + iconColor: "text-yellow-500", + }, + danger: { + icon: "🚨", + defaultTitle: "Danger", + borderColor: "border-l-red-500", + bgColor: "bg-red-50 dark:bg-red-900/20", + titleColor: "text-red-700 dark:text-red-400", + iconColor: "text-red-500", + }, +} + +export function Callout({ type = "note", title, collapsed = false, children }: CalloutProps) { + const [isExpanded, setIsExpanded] = React.useState(!collapsed) + const config = typeConfig[type] + const displayTitle = title ?? config.defaultTitle + const showHeader = displayTitle || config.icon + + // If collapsed prop is set, make the header clickable + if (collapsed) { + return ( +
+ {showHeader && ( + + )} + {isExpanded &&
{children}
} +
+ ) + } + + // Default non-collapsible behavior + return ( +
+ {showHeader && ( +
+ {config.icon && {config.icon}} + {displayTitle && {displayTitle}} +
+ )} +
{children}
+
+ ) +} diff --git a/packages/kilo-docs/components/CodeBlock.tsx b/packages/kilo-docs/components/CodeBlock.tsx new file mode 100644 index 00000000000..d573ffcdf9d --- /dev/null +++ b/packages/kilo-docs/components/CodeBlock.tsx @@ -0,0 +1,32 @@ +import Prism from "prismjs" + +import * as React from "react" + +export function CodeBlock({ children, "data-language": language }) { + const ref = React.useRef(null) + + React.useEffect(() => { + if (ref.current) Prism.highlightElement(ref.current, false) + }, [children]) + + return ( +
+
+				{children}
+			
+ +
+ ) +} diff --git a/packages/kilo-docs/components/Codicon.tsx b/packages/kilo-docs/components/Codicon.tsx new file mode 100644 index 00000000000..77c9a516b48 --- /dev/null +++ b/packages/kilo-docs/components/Codicon.tsx @@ -0,0 +1,22 @@ +import React from "react" +import "@vscode/codicons/dist/codicon.css" + +interface CodiconProps { + name: string + size?: string + className?: string +} + +export function Codicon({ name, size = "1em", className = "" }: CodiconProps) { + return ( +