LLM DEV
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Help
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    # LLM Front End UI Development Rules v0.01 This document contains structured guidance for an AI development assistant. To use effectively: 1. Submit this entire document to the LLM in sections if character limits are a concern 2. After sending the three foundational payloads (Workflow Requirements, Best Practices, and Technical Specifications), PAUSE 3. Do NOT request code or implementation until the LLM has acknowledged understanding these guidelines 4. Only after acknowledgment, provide the project-specific specifications 5. The LLM should NOT begin coding until explicitly directed to do so after all information exchange # Developer Introduction (all projects): This guide establishes the foundation for effective development collaboration. Before writing any code, developers should thoroughly understand the project requirements, specifications, and development approach. Successful projects begin with clarity and comprehensive planning rather than jumping directly into implementation. ## Managed Expectations: Before learning about the specific project, you will receive three critical information payloads: 1. **Development Workflow Requirements** - The step-by-step process for development, documentation, and verification 2. **Development Best Practices** - Core principles for maintainable, high-quality code development 3. **Development Technical Specifications** - Universal technical guidelines for repository structure, data management, etc. These represent strict guidelines that must be followed throughout the development process. After receiving each payload, do not proceed with implementation - simply acknowledge understanding and commitment to following these standards. The final information you'll receive will be: 4. **Project Specifications** - Project-specific details including identity, features, frameworks, and design requirements Only after receiving and acknowledging ALL information should you confirm readiness to begin the project. Do not start coding until explicitly instructed to do so. # Development Workflow Requirements (all projects): ### Verification Requirements When implementing each step of the workflow: - NEVER mark any step as complete without providing verifiable evidence - Proceed with code as pair programming usually would, but with you as the driver and navigator - During your pair programming steps, I will be the observer and assistant and have the ultimate say - Include specific command outputs, test results, or screenshots as proof - For testing specifically, report actual test coverage percentages and results - Document any challenges or limitations encountered during implementation - If a step cannot be fully completed, document the blockers transparently - Prioritize accuracy over claiming completion ### Step 1: Dependency Installation Install all project dependencies with latest compatible versions. Resolve any errors without using --legacy-peer-deps or any other flags to force-circumvent compatibility issues. This step includes the fleshing out the necessary project files and directories while making use of best practices for the frameworks and libraries you are told to use. Document installation process in `context-for-llm/01-dependency-installation.md`. Initialize the git repo and commit all changes. ### Step 2: Project Structure Documentation Ensure the file and directory structure is correct and architecture is sound for making use of the initial files and directories according to the frameworks and libraries you are told to use. Create `context-for-llm/02-project-structure.md` detailing project initialization, directory structure, and package selection. Document should enable complete project recreation. Commit all changes. ### Step 3: Linting Configuration Configure and run linter across all files. Fix all TypeScript, ESLint, and any other linter or langauge engine errors or warnings. You will not stop until all are fixed. Summarize corrections in `context-for-llm/03-linting-corrections.md`. Commit all changes. ### Step 4: Testing Implementation Develop and run all tests and ensure full coverage of components, functions, and state management. Add missing tests as needed as you make your way through the codebase. Also, create and maintain the CI workflow for GitHub as you proceed with fleshing out the tests. Make sure they're compatible and effectively able to run with GitHub Actions. Update README.md with test instructions. Document test results in `context-for-llm/04-test-summary.md`. Commit all changes. ### Step 5: Build Process Execute build commands and resolve any errors or warnings. Simplify into npm scripts for various build scenarios. Remember, one of the goals could be to run the build on the server with a reverse proxy and SSL certificate, while another potential might be targeting Cloudflare Pages or GitHub Pages. Should any build issues or linter errors arise, be sure to fix them and containue to maintain our tests and CI workflow. Update README.md with build instructions. Document in greater detail in `context-for-llm/05-build-summary.md`. Commit all changes. ### Step 6: Deployment Setup For testing and what might could become the final deployment, be sure to install nginx and set up a reverse proxy and SSL via certbot. Fix any deployment issues, while maintaining our tests and CI workflow. Update README.md with deployment instructions. Document process including firewall configuration in `context-for-llm/06-deployment-summary.md`. Commit all changes. ### Step 7: Future-Proofing Update all packages to latest stable versions. Add future maintenance guidelines to README. Create `context-for-llm/07-future-updates.md` explaining future-proofing strategy in detail while summarizing the correct approach for future updates in the README.md file. Commit all changes. ### Step 8: Feature Extension Guide Document process for adding new features, including linter/test/build updates with comprehensive guidance for extending the project in detail in `context-for-llm/08-additional-features.md`. Provide a summary of the correct approach for feature extension in the README.md file. Commit all changes. # Development Best Practices: When approaching this project, adhere to these foundational principles: 1. **Context Awareness** - Always verify you're working on the correct project and branch - Review the existing file structure before adding new files - Understand the purpose and scope of each file you modify - Consider how your changes affect the overall architecture - Use `tree` command to visualize directory structure (install with `sudo apt install -y tree` if needed) - Leverage code exploration tools like: - `grep`/`ripgrep` for searching code patterns - IDE symbol search features for function/component discovery - Static analyzers for dependency graphs - `npm list` or `yarn why` to understand package relationships - TypeScript language server to explore type definitions - ESLint output to understand code standards 2. **Code Organization** - Follow established project patterns and conventions - Group related functionality in appropriate directories - Don't duplicate existing functionality or create parallel implementations - Use descriptive, consistent naming that aligns with project conventions 3. **Quality Standards** - Apply DRY (Don't Repeat Yourself) principles through reusable components and functions - Write self-documenting code with appropriate comments for complex logic - Implement proper error handling and edge case management - Keep functions focused on single responsibilities 4. **Modification Safety** - Make incremental changes that can be easily tested and reviewed - Test your changes thoroughly before considering work complete - Validate that your changes don't break existing functionality - Prefer extending existing patterns rather than introducing new ones 5. **Uncertainty Management** - When unsure about implementation approach, research project patterns first - Reference existing code for guidance before introducing new patterns - Document any assumptions made during implementation - Ask specific questions rather than making uninformed decisions 6. **Environment Awareness** - When running terminal commands, anticipate and handle prompts that require responses - Don't pause workflows on obvious confirmations like "Ok to proceed? (y)" - Practice safe command execution and NEVER run destructive commands like rm -rf /* - Wait for full command completion (bash prompt $ or #) before proceeding - Always activate appropriate virtual environments before running Python code - For Python, use `source .venv/bin/activate` before executing tests or scripts 7. **Verification Standards** - Never mark any step as complete without providing verifiable evidence - Include specific command outputs, test results, or screenshots as proof - For testing specifically, report actual test coverage percentages and results - Document any challenges or limitations encountered during implementation - If a step cannot be fully completed, document the blockers transparently - Prioritize accuracy over claiming completion # Development Technical Specifications (all projects): ## Repository Structure: It is important to follow the repository structure below. The working directory has already been created and described above as the repository name. It should be used as the project root. When initializing the project: 1. DO NOT create another directory inside this folder 2. DO NOT run commands like `npx create-react-app new-directory-name` or `expo init new-directory-name` 3. DO use the current directory for all setup (e.g., `npx create-react-app .` or `expo init .`) 4. All files should be placed directly in the existing directory specified above which is the repository name. 5. This directory will be the Git repository root ## Data Management: - Implement a centralized observable store with strict TypeScript interfaces - Set data freshness parameters per data type to control update frequency - Fetch data lazily as components require it, avoiding unnecessary loading - Prune stale data when no longer observed while preserving navigation state - Use framework-specific routing for seamless screen transitions with history support ## Styling: - Minimalist, clean design with focus on readability - Fully responsive layout with minimal inline styles - Consistent component usage throughout the application - Dark/light theme toggle that respects system settings initially - Theme preference stored for persistence across sessions PWA: - Implement full Progressive Web App capabilities - Include manifest.json, service worker, and web app icons - Enable offline functionality and home screen installation ## Code Quality: - Write concise, efficient code using TypeScript throughout - Configure ESLint to enforce strict TypeScript standards - Use latest stable package versions without dependency compromises - Avoid flags like --legacy-peer-deps or --force when installing packages ## Testing: - Comprehensive Jest tests for all functions, components, and state management - Headless browser testing with Cypress for E2E validation - GitHub workflow for CI integration with matching CLI and CI test capabilities - Test coverage should scale with code additions ## Documentation & Deployment: - Comprehensive README with complete setup and installation instructions - Ubuntu server deployment guide with dependency installation steps - Testing guide with expected results and CI verification steps - Production deployment with nginx reverse proxy and SSL via certbot - Include configuration templates and firewall setup instructions

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully