Skip to content

Quick Start Guide

This guide will help you create your first project and specifications in FuncSpec.

1. Create an Account

If using FuncSpec Cloud:

  1. Go to funcspec.net
  2. Click "Sign Up" and create your account
  3. Verify your email address
  4. Create your organization

2. Create Your First Project

Projects organize related specifications and control team access.

Via Web Interface

  1. Click "New Project" on the dashboard
  2. Enter project details:
  3. Name: "My App"
  4. Description: Brief project overview
  5. Slug: URL-friendly identifier (auto-generated)
  6. Click "Create Project"

Via CLI

# Authenticate first
funcspec auth login

# Create project
funcspec projects create "My App" \
  --description "My first FuncSpec project"

3. Add Team Members

Invite collaborators to your project:

  1. Go to Project Settings → Team
  2. Enter email addresses and select roles:
  3. Admin: Full project control
  4. Editor: Create and edit specs
  5. Viewer: Read-only access
  6. Click "Invite"

Members will receive email invitations with login instructions.

4. Create Your First Specification

Let's create a functional specification for user authentication:

Via Web Interface

  1. Click "New Spec Item" in your project
  2. Fill in the details:
  3. Type: Functional
  4. Title: "User Authentication"
  5. Description: Enter your requirements in Markdown
  6. Add tags: auth, security
  7. Click "Save"

Via CLI

funcspec items create \
  --project "My App" \
  --type functional \
  --title "User Authentication" \
  --description "Users can log in with email/password" \
  --tags "auth,security"

Example Functional Spec

# User Authentication

## Overview
The application must provide secure user authentication to protect user accounts and restrict access to authorized users only.

## Requirements

### Login Process
- Users can log in using their email address and password
- Invalid credentials show a clear error message
- Successful login redirects to the user's dashboard
- Login attempts are rate-limited to prevent brute force attacks

### Password Requirements  
- Minimum 8 characters
- Must contain uppercase, lowercase, number, and special character
- Cannot be a commonly used password
- Password strength indicator during registration

### Session Management
- Sessions expire after 24 hours of inactivity
- Users can choose "Remember me" for 30-day sessions
- Users can log out from all devices
- Active sessions visible in account settings

### Security Features
- Two-factor authentication optional
- Account lockout after 5 failed attempts
- Password reset via email link
- Login notifications for new devices

5. Generate Technical Specifications

Use AI to generate technical specs from your functional requirements:

Via Web Interface

  1. Open your functional spec
  2. Click the "AI" button → "Generate Tech Specs"
  3. Review the AI-generated technical specifications
  4. Edit and refine as needed
  5. Click "Create" for each spec you want to keep

Via CLI

funcspec ai generate-tech \
  --project "My App" \
  --functional "F-1"  # Use the permalink of your functional spec

Example Generated Tech Specs

The AI might generate several technical specs like:

  • T-1: User model with authentication fields
  • T-2: Password hashing and validation service
  • T-3: Session management middleware
  • T-4: Login/logout API endpoints
  • T-5: Rate limiting implementation

6. Review and Improve Specifications

Use AI-powered review to identify gaps and improvements:

Review a Specification

  1. Open any spec item
  2. Click "AI" → "Review Specification"
  3. View the analysis results:
  4. Coverage Score: How well requirements are defined
  5. Gaps: Missing or unclear requirements
  6. Suggestions: Specific improvements
  7. Verdict: Overall assessment

Improve a Specification

  1. Click "AI" → "Improve Specification"
  2. Review the AI suggestions
  3. Accept or reject each improvement
  4. Save your updated specification

7. Track Dependencies

Link related specifications to track dependencies:

  1. Open a technical spec
  2. Click "Add Dependency"
  3. Select the functional requirements it implements
  4. View dependency graph in Project → Dependencies

8. Export Documentation

Generate professional documentation from your specs:

Via Web Interface

  1. Go to Project → Export
  2. Choose format: Markdown, PDF, HTML, or JSON
  3. Select sections to include
  4. Click "Export" to download

Via CLI

# Export to Markdown
funcspec export --project "My App" --format markdown

# Export specific sections  
funcspec export --project "My App" \
  --format pdf \
  --sections "functional,technical"

9. Use the API

Integrate FuncSpec with your development workflow:

# Get an API key from Organization Settings → API Keys
export FUNCSPEC_API_KEY="your-api-key"

# List all projects
curl -H "X-Api-Key: $FUNCSPEC_API_KEY" \
  https://funcspec.net/api/v1/projects

# Create a spec item
curl -X POST \
  -H "X-Api-Key: $FUNCSPEC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "New Feature", "type_of": "functional"}' \
  https://funcspec.net/api/v1/projects/1/spec/items

10. Next Steps

Now that you've created your first project:

  • Explore AI Features: Try spec generation, review, and improvement
  • Set up CLI workflows: Automate common tasks with the command line
  • Configure integrations: Connect GitHub to sync one or more repositories
  • Customize your workflow: Add custom tags, set up project templates
  • Scale your team: Invite more members and set up access controls

Getting Help

  • Documentation: Browse this site for detailed guides
  • API Reference: Complete API documentation with examples
  • CLI Help: Run funcspec help for command reference
  • Community: Join our Discord for questions and tips
  • Support: Email support@funcspec.net for technical issues

Happy spec'ing! 🚀