Organize and Manage Projects
Learn how to organize and manage multiple ActiveState projects effectively on your system.
Need help deploying projects? See the Checkout and Activate guide for complete deployment instructions including checkout methods, activation strategies, and working with multiple projects simultaneously.
This guide covers:
- Finding your projects
- Organizing project locations
- Project naming conventions
- Managing project lifecycle
- Cleaning up projects
Finding Your Projects
To see all projects currently checked out on your system:
state projects
This command displays:
- Project names and organizations
- Local checkout paths (where
activestate.yamlfiles are located) - Runtime cache locations (where binaries are stored)
- Current activation status
Example output:
Organization/Project Local Checkout Path Cache Path
example/python-project /home/user/projects/python /home/user/.cache/activestate/...
example/data-analysis /home/user/analysis /home/user/.cache/activestate/...
Organizing Project Locations
Recommended Directory Structure
Organize your projects logically to make them easier to find and manage:
By language:
~/activestate-projects/
├── python/
│ ├── web-app/
│ ├── data-science/
│ └── automation/
├── perl/
│ ├── legacy-system/
│ └── tools/
└── ruby/
└── rails-app/
By purpose:
~/projects/
├── production/
│ ├── web-backend/
│ └── api-service/
├── development/
│ ├── experimental-features/
│ └── testing/
└── personal/
└── side-projects/
By team or organization:
~/work/
├── team-alpha/
│ ├── project-a/
│ └── project-b/
├── team-beta/
│ └── project-c/
└── shared/
└── common-tools/
Best Practices for Organization
- Use consistent paths - Choose a structure and stick to it
- Descriptive folder names - Make the purpose clear from the name
- Avoid deep nesting - Keep structures 2-3 levels deep maximum
- Separate by environment - Keep production, staging, and development separate
- Document your structure - Keep a README explaining your organization system
Project Naming Conventions
On the Platform
When creating projects on the ActiveState Platform:
Good project names:
python-web-api- Clear purpose and languagedata-pipeline-prod- Indicates environmentml-training-env- Descriptive and concise
Avoid:
project1,test,tmp- Not descriptivemy-awesome-super-cool-project-v2-final- Too longProject!@#$- Special characters can cause issues
Local Folder Names
Match or clearly relate to your Platform project names:
state checkout myOrg/python-web-api ~/projects/python-web-api
Managing Project Lifecycle
Active Projects
Projects you're currently working on:
- Regular updates - Run
state pullfrequently to stay synced - Commit changes - Use
state pushafter making local changes - Monitor status - Check
state projectsto verify activation - Branch management - Use branches for experimental work
Archived Projects
For projects you're not actively using but want to keep:
-
Move to archive folder - Separate from active projects
mkdir -p ~/projects/archive
mv ~/projects/old-project ~/projects/archive/ -
Document the state - Add README with last known good commit
-
Keep activestate.yaml - Allows quick reactivation if needed
-
Remove from active list - But keep for reference
Completed Projects
For finished projects:
- Final push - Ensure all changes are saved to Platform
- Tag final version - Use Platform history to mark completion
- Document outcomes - Add notes about final state
- Clean up locally - See Cleaning up projects
Cleaning Up Projects
Remove Local Checkout
To remove a checked-out project from your system:
-
Navigate out of the project directory
-
Delete the project folder:
rm -rf ~/projects/old-project -
Verify removal:
state projects
The project will no longer appear in the list.
Deleting the local checkout does NOT delete the project from the ActiveState Platform. Your project remains safe on the Platform and can be checked out again anytime.
Clear Runtime Cache
The State Tool caches runtime files to improve performance. To clear cached runtimes:
state clean cache
This removes cached runtime files but preserves your project configurations.
Complete Cleanup
To remove all State Tool data including configurations:
state clean uninstall --all
This removes ALL local State Tool data. Use with caution.
Working with Multiple Projects
For information on working with multiple projects simultaneously, including:
- Running multiple projects in separate shells
- Setting and managing default runtimes
- Avoiding conflicts between projects
- Switching between projects efficiently
See the Checkout and Activate guide.
Best Practices Summary
Organization
- ✅ Use a consistent directory structure
- ✅ Name projects descriptively
- ✅ Separate active, archived, and completed projects
- ✅ Document your organization system
Maintenance
- ✅ Regular
state pullto stay current - ✅ Commit changes with
state push - ✅ Clean up unused projects periodically
- ✅ Keep track of project purposes and owners
Collaboration
- ✅ Use meaningful project names
- ✅ Share organization conventions with team
- ✅ Document project purposes
- ✅ Keep projects synced with Platform
Related Topics
- Checkout and Activate - Complete deployment guide
- Sharing and Collaboration - Work with team members
- Branches and History - Manage project versions
- Package Management - Manage dependencies