Spec-Up-T Editor - User Guide
Table of Contentsâ
- Getting Started
- Initial Setup
- Navigating the Interface
- Working with Repositories
- File Management
- Editing Files
- External Specifications
- Health Monitoring
- Tips and Best Practices
- Common Workflows
- Troubleshooting
Getting Startedâ
What is the Spec-Up-T Editor?â
The Spec-Up-T Editor is a web-based tool that allows you to edit and manage specification documents stored in GitHub repositories. Think of it as a specialized text editor that connects directly to GitHub, making it easy to collaborate on documentation and specifications without needing to install any software on your computer.
Who Should Use This Guide?â
This guide is for:
- Specification writers who need to create and edit documentation
- Project managers overseeing specification development
- Team members collaborating on documentation projects
- Anyone who needs to work with GitHub-hosted specification files
What You'll Needâ
Before you start, make sure you have:
- A web browser (Chrome, Firefox, Safari, or Edge)
- A GitHub account
- Access to the repositories you want to edit
- A GitHub Personal Access Token (we'll help you create this)
Initial Setupâ
Step 1: Creating a GitHub Personal Access Tokenâ
A Personal Access Token is like a password that allows the Spec-Up-T Editor to access your GitHub repositories securely.
-
Go to GitHub Settings
- Log into GitHub
- Click your profile picture in the top right
- Select "Settings" from the dropdown menu
-
Navigate to Developer Settings
- Scroll down in the left sidebar
- Click "Developer settings"
-
Create a Personal Access Token
- Click "Personal access tokens" â "Tokens (classic)"
- Click "Generate new token" â "Generate new token (classic)"
-
Configure the Token
- Note: Enter a description like "Spec-Up-T Editor"
- Expiration: Choose your preferred expiration (90 days recommended)
- Scopes: Check these boxes:
- â
repo
(Full control of private repositories) - â
read:user
(Read user profile data)
- â
-
Generate and Save
- Click "Generate token"
- Important: Copy the token immediately and save it somewhere safe
- You won't be able to see it again!
Step 2: First Loginâ
-
Open the Spec-Up-T Editor
- Navigate to the editor URL in your web browser
-
Enter Your Token
- Paste your GitHub Personal Access Token in the login field
- Click "Login with GitHub"
-
Success!
- You should see the main dashboard
- Your GitHub username will appear in the top navigation
Navigating the Interfaceâ
Main Navigation Barâ
The top navigation bar contains several key buttons:
- đ Home: Returns you to the main dashboard
- âšī¸ About: Shows information about the editor and build details
- đ Documentation: Links to the full documentation website
- đ External Specs: Manages external specification references (when in a repository)
- đī¸ View on GitHub: Opens the current repository in GitHub (when in a repository)
- đ Health Check: Runs repository health diagnostics (when in a repository)
Main Dashboardâ
The dashboard is your starting point for accessing repositories:
- Repository Access Form: Enter GitHub username/organization and repository name
- Branch Selection: Choose which branch to work with
- Recently Visited: Quick access to repositories you've worked with recently
Working with Repositoriesâ
Accessing a Repositoryâ
-
Enter Repository Information
- GitHub Username/Organization: The owner of the repository (e.g., "microsoft", "mycompany")
- Repository Name: The name of the repository (e.g., "docs", "specifications")
- Branch: Usually "main" or "master", but could be any branch name
-
Repository Suggestions
- When you start typing in the repository field, you'll see suggestions
- These are repositories you have access to
- Click on any suggestion to auto-fill the field
-
Branch Selection
- Click in the branch field to see available branches
- You can filter branches by typing
- Select the branch you want to work with
-
Access the Repository
- Click "Access Repository"
- If successful, you'll be taken to the file explorer
Repository Structureâ
The editor looks for a specs.json
file in your repository root to understand how your project is organized. This file tells the editor:
- Where your specification files are located
- What external specifications you reference
- How your documentation is structured
If no specs.json
file exists, the editor defaults to looking in a specs
folder.
File Managementâ
File Explorer Interfaceâ
Once you access a repository, you'll see the file explorer with:
- Current Directory Path: Shows where you are in the repository
- File Filters: Buttons to filter by file type (All, Markdown, Images, JSON, Text)
- Search Box: Type to filter files by name
- Create File Button: Plus (+) icon to create new files
- File List: All files and folders in the current directory
Navigating Foldersâ
- Enter Folders: Click on any folder name to enter it
- Go Up: Use the "â Go Up" button to move up one directory level
- Breadcrumb Navigation: The path at the top shows your current location
File Filteringâ
Use the filter buttons to show only specific types of files:
- All: Shows all files and folders
- Markdown: Only .md files (most specifications)
- Images: .png, .jpg, .gif, .svg files
- JSON: .json configuration files
- Text: .txt files
Creating New Filesâ
-
Click the Plus (+) Button
- Located in the top right of the file list
-
Enter File Details
- File Name: Include the extension (e.g., "new-spec.md")
- Initial Content: Optionally add some starting content
- Commit Message: Describe what you're creating
-
Create the File
- Click "Create File"
- The file will be created and highlighted in the list
- You can immediately click on it to start editing
Reordering Files and Foldersâ
The Spec-Up-T Editor allows you to customize the order in which files and folders appear in your specification. This is useful for organizing content in a logical reading sequence.
When Reordering is Availableâ
- Root Directory Only: Drag and drop functionality is only available in the root spec directory
- Visual Indicators: Look for grip handles (âŽâŽ) next to file and folder names
- Automatic Detection: The system automatically detects when you're in a reorderable directory
How to Reorder Itemsâ
-
Locate the Grip Handle
- Look for the vertical dots (âŽâŽ) icon to the left of file and folder names
- This handle only appears in the root spec directory
-
Drag to Reorder
- Click and hold the grip handle
- Drag the item to its new position in the list
- Files and folders can be mixed in any order you prefer
-
Visual Feedback
- The item being dragged becomes semi-transparent
- You can drop the item at any position in the list
-
Save Your Changes
- After reordering, a "Save Order" button will appear
- Click this button to save your preferred order
- The order is saved to your repository's
specs.json
file
Understanding the Order Systemâ
- Unified Ordering: Files and folders share the same ordering system
- Persistent Storage: Your custom order is remembered between sessions
- Automatic Loading: When you return to the repository, your saved order is restored
- Special Handling: The terms directory has special handling in the ordering system
Tips for Effective Orderingâ
- Logical Flow: Arrange files in the order readers should encounter them
- Dependencies: Place foundational documents before those that reference them
- Sections: Group related files together for better organization
- Overview First: Consider placing overview or introduction files at the top
Troubleshooting Order Issuesâ
- No Grip Handles: Make sure you're in the root spec directory, not a subdirectory
- Order Not Saving: Ensure you have write permissions to the repository
- Order Resets: Check that the
specs.json
file in your repository is properly configured
Editing Filesâ
Opening a Fileâ
- Simply click on any file name in the file explorer
- The file will open in the editor interface
- You'll see the file content and editing tools
Editor Interfaceâ
The editor has two main modes:
Edit Modeâ
- Toolbar: Formatting buttons for common actions
- Text Area: Where you type and edit content
- Live Formatting: Basic markdown formatting is applied as you type
Preview Modeâ
- Rendered View: See how your markdown will look when published
- Toggle Button: Switch between Edit and Preview modes
Editor Toolbarâ
The toolbar provides quick access to common formatting options:
- Bold (B): Make selected text bold
- Italic (I): Make selected text italic
- Headers (H1-H6): Create headings of different sizes
- Ordered List: Create numbered lists
- Unordered List: Create bullet point lists
- Link: Insert hyperlinks
- Code: Format text as code
Saving Your Changesâ
-
Add a Commit Message
- In the commit message box, describe your changes
- Be specific: "Add section on security requirements" is better than "Update file"
-
Save to GitHub
- Click the "đž Save to GitHub" button
- Your changes will be committed directly to the repository
- You'll see a success message when complete
Working with Terms and Definitionsâ
The editor has special support for managing terminology:
-
Terms Panel
- Located on the right side of the editor
- Shows terms from your current repository and external specifications
-
Adding Terms
- Click "Add Term" in the terms panel
- Enter the term name and any aliases
- The term will be available for reference
-
Using Terms
- Type
[[term-name]]
in your content to reference a term - The editor will help you find and link to defined terms
- Type
External Specificationsâ
External specifications allow you to reference terminology and content from other repositories.
Accessing External Specs Managerâ
-
Navigate to a Repository
- You must be working within a repository first
-
Click "External Specs"
- Located in the top navigation bar
- This opens the External Specifications Manager
Adding External Specificationsâ
The External Specifications Manager offers three different methods for adding external specifications:
Single Specification Methodâ
-
Choose "Single" Mode
- Click the "Single" option
-
Fill in the Details
- Specification ID: A unique name (e.g., "keri-spec", "toip-glossary")
- GitHub Page URL: Where the spec is published (e.g.,
https://example.github.io/spec/
) - Repository URL: The source GitHub repository
- Terms Directory: Path to terms/definitions (e.g., "spec/terms-definitions")
-
Add the Specification
- Click "Add Specification"
- The spec will appear in your list
Bulk Import Methodâ
-
Choose "Bulk Import" Mode
- Click the "Bulk Import" option
-
JSON Input
- Select the "JSON Input" sub-tab
- Paste a JSON array of external specifications
- Click "Import from JSON"
-
GitHub URL Import
- Select the "GitHub URL" sub-tab
- Enter a URL to a JSON file containing external specs
- Click "Import from URL"
Reference Sets Methodâ
-
Choose "Reference Sets" Mode
- Click the "Reference Sets" option
- This provides access to curated collections of external specifications
-
Browse Available Sets
- The system automatically loads available reference sets from a central repository
- Each set displays metadata including:
- Title: Descriptive name of the reference set
- Description: What the set contains
- Creator: Who created the set
- Date: When it was created
- References: Number of specifications in the set
-
Preview a Reference Set
- Click the "Preview" button on any reference set card
- A modal will show:
- Complete set metadata
- List of all specifications in the set
- Direct links to GitHub pages and repositories
-
Import from Reference Sets
- Quick Import: Click "Import" directly on a reference set card
- Preview Import: Use "Preview" first, then "Import References" in the modal
- The system will:
- Validate all references before importing
- Check for duplicate specification IDs
- Skip duplicates and show a summary of what was imported
- Display success/failure feedback with detailed results
Benefits of Reference Setsâ
- Curated Collections: Access professionally curated sets of related external specifications
- Time Saving: Import multiple related specifications at once
- Quality Assurance: All references are pre-validated and tested
- Community Sharing: Shared repository allows access to community-contributed sets
- Automatic Updates: New reference sets become available automatically
Managing External Specificationsâ
- Edit: Click on any field in the table to edit it
- Delete: Use the delete button (đī¸) to remove a specification
- Validation: The system checks that URLs are valid and accessible
Saving External Specs Changesâ
-
Make Your Changes
- Add, edit, or remove external specifications as needed
-
Save Changes
- Click "đž Save Changes" in the top right
- Enter a commit message describing your changes
- Your specs.json file will be updated in the repository
Health Monitoringâ
The Health Check feature helps you identify and fix problems with your repository configuration.
Running a Health Checkâ
-
Navigate to a Repository
- You must be working within a repository
-
Click "Health Check"
- Located in the top navigation bar
- The health check will run automatically
Understanding Health Check Resultsâ
Results are organized into categories, each with a color-coded status:
Status Typesâ
- â Green: Everything is working correctly
- â ī¸ Yellow: Warnings that should be addressed but don't prevent functionality
- â Red: Errors that need immediate attention
Check Categoriesâ
-
Repository Information
- Verifies you can access the repository
- Confirms the selected branch exists
- Checks basic repository settings
-
Specs Configuration
- Validates your specs.json file structure
- Checks that specified directories exist
- Verifies configuration syntax
-
External Specifications
- Tests that external URLs are accessible
- Validates GitHub repository links
- Checks that terms directories exist in external repos
-
File Structure
- Analyzes your repository organization
- Checks for required files
- Validates file naming conventions
-
Git Configuration
- Reviews your .gitignore file
- Checks repository settings
- Validates branch configuration
Acting on Health Check Resultsâ
-
Prioritize Errors First
- Red errors should be fixed before continuing work
- These often prevent core functionality
-
Address Warnings
- Yellow warnings won't break functionality but should be addressed
- They often indicate best practices or potential future issues
-
Use the Recommendations
- Each issue includes specific guidance on how to fix it
- Follow the provided steps to resolve problems
Tips and Best Practicesâ
File Organizationâ
-
Use Clear File Names
user-authentication-spec.md
is better thanspec1.md
- Include version numbers when appropriate:
api-v2-specification.md
-
Organize with Folders
- Group related specifications in folders
- Use consistent naming conventions
-
Keep Related Files Together
- Store images and diagrams near the specifications that use them
- Consider a
media
orimages
subfolder for each specification
-
Order Files Logically
- Use the drag and drop feature to arrange files in reading order
- Place foundational documents before dependent ones
- Consider reader flow: overview â details â appendices
- Save your custom order to persist it across sessions
Writing Effective Specificationsâ
-
Use Descriptive Commit Messages
- "Add authentication requirements section" is better than "Update file"
- Include context: "Fix typo in section 3.2" vs "Fix typo"
-
Make Incremental Changes
- Save your work frequently
- Don't make massive changes in a single commit
-
Use the Preview Mode
- Always preview your markdown before saving
- Check that links work and formatting is correct
Working with Teamsâ
-
Coordinate Branch Usage
- Agree on which branch team members should use
- Consider using feature branches for major changes
-
Communicate Changes
- Use descriptive commit messages that others can understand
- Consider discussing major changes before making them
-
Regular Health Checks
- Run health checks periodically to catch issues early
- Address warnings before they become errors
-
Standardize External References
- Use Reference Sets when available for consistency across team projects
- Document which external specifications your team commonly uses
- Consider creating custom reference sets for organization-specific standards
Working with External Specificationsâ
-
Prefer Reference Sets
- Use curated Reference Sets when available instead of manual entry
- Reference Sets provide quality assurance and reduce setup time
- Preview sets before importing to understand what you're adding
-
Validate External Links
- Always run health checks after adding external specifications
- Test URLs manually if the health check reports issues
- Keep external specifications up to date as referenced repositories evolve
-
Organize Your References
- Use descriptive specification IDs that your team will understand
- Group related external specifications logically
- Document why specific external specifications were chosen
Security Best Practicesâ
-
Protect Your Token
- Never share your Personal Access Token
- Use tokens with minimal necessary permissions
- Rotate tokens regularly (every 90 days recommended)
-
Review Changes
- Always review your changes in preview mode
- Double-check that you're editing the correct file and branch
-
Backup Important Work
- Consider keeping local copies of important specifications
- Use GitHub's built-in version history as a backup
Common Workflowsâ
Workflow 1: Creating a New Specificationâ
- Access your repository using the dashboard
- Navigate to the appropriate folder for specifications
- Create a new file with a descriptive name ending in
.md
- Add initial content using the editor toolbar for formatting
- Save with a clear commit message like "Create initial draft of user authentication spec"
- Run a health check to ensure everything is properly configured
- Share the file location with team members for review
Workflow 2: Editing an Existing Specificationâ
- Access your repository and navigate to the file
- Open the file by clicking on its name
- Make your changes using the editor tools
- Use preview mode to check formatting and appearance
- Save with a descriptive commit message explaining what changed
- Notify team members of the changes if needed
Workflow 3: Setting Up External Referencesâ
Option A: Using Reference Sets (Recommended for Common Specifications)â
- Access the External Specs Manager from the navigation
- Select "Reference Sets" for curated collections
- Browse available sets and preview their contents
- Import relevant sets that match your project's needs
- Review imported specifications in the main list
- Save your configuration with an appropriate commit message
- Run a health check to verify everything is working correctly
Option B: Manual Setupâ
- Access the External Specs Manager from the navigation
- Gather information about the external specifications you want to reference:
- GitHub repository URL
- Published documentation URL
- Location of terms/definitions
- Add each external specification using the single or bulk import method
- Test the references by checking that URLs are accessible
- Save your configuration with an appropriate commit message
- Run a health check to verify everything is working correctly
Workflow 4: Collaborative Review Processâ
- Create or edit specifications as normal
- Use descriptive commit messages so reviewers understand changes
- Share the repository and file paths with reviewers
- Reviewers access the same files using their own tokens
- Make revisions based on feedback
- Use the commit history (available in GitHub) to track changes
- Run final health checks before considering the specification complete
Workflow 5: Organizing Specification Filesâ
- Navigate to the root spec directory where you can see all your specification files
- Look for the grip handles (âŽâŽ) next to file and folder names
- Plan your organization:
- Put overview/introduction documents first
- Group related specifications together
- Place appendices and references at the end
- Drag files and folders to arrange them in logical reading order
- Save the order by clicking the "Save Order" button that appears
- Test the organization by reviewing how the files flow together
- Make adjustments as needed and save again
Workflow 6: Using Reference Sets for Quick Setupâ
- Navigate to External Specs Manager from the repository navigation
- Select "Reference Sets" option (alongside Single and Bulk Import)
- Review available sets:
- Read the title and description of each set
- Check the number of references included
- Note the creator and date for quality assessment
- Preview sets of interest:
- Click "Preview" to examine the complete contents
- Review the list of specifications included
- Check that the repositories and URLs are relevant to your project
- Import selected sets:
- Use "Import" for quick addition without preview
- Or use "Import References" from the preview modal
- Review the import summary showing what was added and what was skipped
- Verify the import:
- Check the main external specifications list
- Ensure all expected references were added
- Address any duplicate notifications
- Save your configuration with a descriptive commit message
- Run a health check to validate all imported references
Workflow 7: Regular Maintenanceâ
- Monthly health checks on all active repositories
- Review and update external specifications as needed
- Clean up unused files and outdated content
- Update repository configuration (specs.json) as your project evolves
- Review and adjust file ordering as content evolves
- Rotate access tokens every 90 days for security
Troubleshootingâ
Authentication Issuesâ
Problem: "Invalid token" error message
Solutions:
- Check that your token hasn't expired
- Verify you copied the entire token (they're quite long)
- Make sure your token has
repo
andread:user
permissions - Try generating a new token if the old one doesn't work
Problem: "Access forbidden" error
Solutions:
- Verify you have permission to access the repository
- Check if the repository is private and your token has private repo access
- Confirm you're a member of the organization (for organization repositories)
- Ask the repository owner to verify your access permissions
File Loading Problemsâ
Problem: No files showing in the explorer
Solutions:
- Check that you entered the correct repository information
- Verify the branch name exists
- Look for a specs.json file in the repository root
- Try using "specs" as the directory if no specs.json exists
- Check your internet connection
Problem: Can't save files
Solutions:
- Verify you have write permissions to the repository
- Check that the branch isn't protected
- Make sure you entered a commit message
- Try refreshing the page and logging in again
External Specifications Problemsâ
Problem: External specs not loading
Solutions:
- Verify all URLs are correct and accessible
- Check that the GitHub repositories are public or you have access
- Confirm the terms directory paths are correct
- Test URLs manually in your browser
Problem: Terms not appearing from external specs
Solutions:
- Run a health check to identify configuration issues
- Verify the external specification URLs are accessible
- Check that the terms directory contains the expected files
- Refresh the page to reload external references
Problem: Reference sets not loading
Solutions:
- Check your internet connection
- Click the "Refresh Sets" button to reload available sets
- Verify that the reference sets repository is accessible
- Try refreshing the page if sets appear empty
Problem: Import from reference sets shows "No valid specifications"
Solutions:
- Check that the reference set contains properly formatted specifications
- Verify that all URLs in the reference set are accessible
- Try previewing the set first to see detailed validation results
- Contact the reference set creator if the data appears corrupted
Performance Issuesâ
Problem: Slow loading times
Solutions:
- Check your internet connection speed
- Try using a different branch if available
- Clear your browser cache and cookies
- Check if GitHub is experiencing service issues
- Consider the size of your repository (very large repos may be slower)
Getting Helpâ
If you continue to experience issues:
- Run a Health Check: This often identifies the root cause of problems
- Check the Browser Console: Press F12 and look for error messages
- Try a Different Browser: Sometimes browser-specific issues occur
- Clear Browser Data: Clear cache, cookies, and local storage for the site
- Contact Support: Reach out to your system administrator or the development team
Remember: Most issues are related to authentication, permissions, or repository configuration. The health check system is designed to help identify and resolve the majority of common problems.
Files Created and Their Purposeâ
This user guide (USER_GUIDE.md
) has been created to provide step-by-step instructions for end users of the Spec-Up-T Editor.
Why this file should stay:
- User-Focused: Written specifically for end users, not developers or technical implementers
- Step-by-Step Instructions: Provides detailed, actionable guidance for common tasks
- Workflow Examples: Shows real-world usage patterns and scenarios
- Troubleshooting: Addresses common user problems with practical solutions
- Onboarding: Helps new users get started quickly and successfully
How to use this file:
- New Users: Start with "Getting Started" and "Initial Setup" sections
- Occasional Users: Focus on "Working with Repositories" and "File Management" sections
- Power Users: Review "Common Workflows" and "Tips and Best Practices"
- Troubleshooting: Reference the "Troubleshooting" section when problems arise
- Training: Use as a training manual for teams adopting the tool
This user guide complements the technical documentation by focusing entirely on practical usage, making the Spec-Up-T Editor accessible to users of all technical levels while maintaining comprehensive coverage of all features and capabilities.