Basestack Docs
User Guide

Projects

Projects are the foundation of organizing your feature flags in Basestack. Each project acts as a container for flags, environments, and team members. This guide will teach you how to create and manage projects effectively.

What Are Projects?

Projects help you:

  • Organize Feature Flags - Group related flags together
  • Manage Environments - Configure different environments (dev, staging, production)
  • Control Access - Invite team members with specific permissions
  • Isolate Configuration - Keep settings separate for different applications

Think of a project as a workspace for a specific application or product. You can have multiple projects for different products or environments.

Creating a Project

Open Create Project Modal

You can create a project from multiple places:

  • Dashboard - Click "Create Project" in the Recent Projects section
  • Navigation Bar - Click the Projects dropdown → "Create Project"
  • Empty State - If you have no projects, click "Create your first project"

A modal will open asking for project details.

Enter Project Name

In the create project modal:

  • Project Name - Enter a descriptive name (e.g., "Chat App", "E-commerce Platform")
  • Requirements:
    • Must be 1-30 characters
    • Use clear, descriptive names
    • Avoid special characters when possible

Use naming conventions that make sense for your organization. For example: "Product-Environment" or "Team-Product".

Create the Project

Click the Create button to create your project. You'll be automatically redirected to the project's Feature Flags page.

The project is created with default settings. You can configure environments, members, and security settings afterward.

Project Structure

Once created, each project contains:

Feature Flags

The main page where you manage all your feature flags for the project.

  • View flags in card or table format
  • Create, edit, and delete flags
  • Filter and search flags
  • View flag activity

Settings

Project settings are organized into tabs:

General Settings

  • Project Name - Update the project name
  • Project Owner - View the project owner information
  • Endpoints - View API endpoints for integration
  • Project Key - View and copy the project key
  • Environment Keys - View and copy environment-specific keys
  • Delete Project - Permanently delete the project

Members

  • Team Members - View all project members
  • Add Members - Invite new members to the project
  • Manage Roles - Assign permissions to members

Environments

  • Environment List - View all environments
  • Create Environment - Add new environments
  • Edit Environment - Update environment settings
  • Delete Environment - Remove environments

Security

  • Allowed Websites - Configure which websites can use your flags
  • IP Rules - Block specific IP addresses from accessing flags

Accessing Projects

From Dashboard

  • Click on a project card in Recent Projects
  • Use the Projects dropdown in the navigation bar

Project Navigation

When a project is selected, you'll see:

  • Feature Flags - Main flags page
  • Settings - Project configuration
    • General
    • Members
    • Environments
    • Security

Project Keys and Integration

Each project has:

Project Key

A unique identifier for your project. Used for:

  • SDK initialization
  • API authentication
  • Project identification

Environment Keys

Each environment within a project has its own key:

  • Used for environment-specific flag evaluation
  • Kept separate for security
  • Can be rotated independently

Keep your project and environment keys secure. Never commit them to version control. Use environment variables in your applications.

Managing Projects

Switching Between Projects

Use the Projects dropdown in the navigation bar to:

  • Select a different project
  • View all your projects
  • Access external projects (where you're a member)

Project Permissions

Projects support different roles:

  • Owner - Full control over the project
  • Admin - Can manage flags and settings
  • Member - Can view and use flags (permissions vary)

Your role determines what actions you can perform. Contact the project owner if you need additional permissions.

External Projects

Projects where you're a member (not the owner) are marked as "External":

  • You have limited permissions
  • You can view and use flags based on your role
  • You cannot delete the project or change certain settings

Best Practices

Project Organization

  1. One Project Per Application - Create separate projects for different applications
  2. Clear Naming - Use descriptive names that indicate the project's purpose
  3. Environment Separation - Use environments within projects rather than separate projects
  4. Team Collaboration - Add team members to projects for better collaboration

Project Settings

  1. Configure Environments First - Set up your environments before creating flags
  2. Add Team Members Early - Invite collaborators when starting a project
  3. Secure Your Keys - Never share project keys publicly
  4. Review Security Settings - Configure allowed websites and IP rules for production

Project Lifecycle

  1. Planning - Determine what flags you'll need before creating the project
  2. Setup - Create the project and configure environments
  3. Development - Create flags and integrate with your application
  4. Maintenance - Regularly review and clean up unused flags
  5. Archival - Delete projects that are no longer needed

Deleting a Project

Deleting a project is permanent and cannot be undone. All flags, environments, and member associations will be permanently removed.

To delete a project:

  1. Navigate to Settings → General
  2. Scroll to the Delete Project section
  3. Click Delete Project
  4. Confirm the deletion

Next Steps

Now that you understand projects:

  1. Create your first feature flag →
  2. Set up environments →
  3. Configure project settings →