This gem helps identify and manage features within large applications. It was built specifically to support monolithic Ruby on Rails codebases, but can be integrated using Inline Execution into any environment that supports the following comment styles:
#
//
/* single or multline */
<!-- single or multiline -->
""" single or multiline"""
''' single or multiline '''
Configuring FeatureMap in a new application generally follows these steps:
1. Installation
FeatureMap may be installed directly into a Ruby environment or Ruby on Rails application from RubyGems.
Global Installation
gem install feature_map
Gemfile
gem 'feature_map'
`
Inline
FeatureMap may also be executed without direct installation via inline bundling. For more information see Inline Execution.
2. Configuration
FeatureMap’s various configurations expect to be found within a top-level .feature_map
directory. Its primary configuration is done via a yml file at .feature_map/configuration.yml
. For more information, see Configuration.
3. Feature Definition
The set of Features that compose the application must be defined in a csv file at .feature_map/assignments.csv
. For more information, see Feature Definition.
4. Feature Assignment
Source files within the application must be annotated with their corresponding Feature. For more information, see Feature Assignment.
5. Artifact Generation
Once all required source files have been assigned to a corresponding feature, FeatureMap is ready to be used. You can produce artifacts that support various workflows, from validating assignment in CI, to publishing release notifications, or generating the documentation site in order to get a holistic view of the health and composition of your system.
See the Artifacts - Overview for more details on the artifacts that drive these processes.