├── .nvmrc ├── .gitignore ├── spec ├── spec-helpers.js ├── nouns-adjectives.spec.js └── generator.spec.js ├── src ├── generator.d.ts ├── generator-bin.js ├── generator.js ├── nouns.js └── adjectives.js ├── LICENSE ├── package.json └── README.md /.nvmrc: -------------------------------------------------------------------------------- 1 | 4.2.6 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .idea 3 | .DS_Store 4 | *.swp 5 | *.log 6 | 7 | -------------------------------------------------------------------------------- /spec/spec-helpers.js: -------------------------------------------------------------------------------- 1 | var isArray = ('isArray' in Array) ? 2 | Array.isArray : 3 | function (value) { 4 | return Object.prototype.toString.call(value) === '[object Array]'; 5 | }; 6 | 7 | module.exports = { 8 | isArray: isArray 9 | }; 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/generator.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'project-name-generator' { 2 | interface Options { 3 | alliterative?: boolean; 4 | number?: boolean; 5 | words?: number; 6 | } 7 | 8 | type Result = { 9 | dashed: string; 10 | raw: string[]; 11 | spaced: string; 12 | }; 13 | 14 | export default function(options?: Options): Result; 15 | } 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016, Akash Kurdekar 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 8 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 9 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 10 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 11 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 12 | OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 13 | PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /src/generator-bin.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const generate = require('./generator') 4 | const program = require('commander') 5 | 6 | program 7 | .version('1.0.0') 8 | .option('-w, --words [num]', 'number of words [2]', 2) 9 | .option('-n, --numbers', 'use numbers') 10 | .option('-a, --alliterative', 'use alliterative') 11 | .option('-o, --output [output]', 'output type [raw|dashed|spaced]', /^(raw|dashed|spaced)$/i) 12 | .parse(process.argv) 13 | 14 | let project_name = generate({words: program.words, number: program.numbers, alliterative: program.alliterative}); 15 | 16 | if (program.output == "dashed"){ 17 | console.log(project_name.dashed); 18 | } else if (program.output == "raw") { 19 | console.log(project_name.raw); 20 | } else if (program.output == "spaced") { 21 | console.log(project_name.spaced); 22 | } else { 23 | console.log(project_name); 24 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "project-name-generator", 3 | "version": "2.1.9", 4 | "description": "Generate a random, unique, heroku-like name for your app/project/server etc. e.g. \"resonant-silence\"", 5 | "types": "src/generator.d.ts", 6 | "main": "src/generator.js", 7 | "scripts": { 8 | "test": "mocha spec/**/*.spec.js" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git://github.com/aceakash/project-name-generator.git" 13 | }, 14 | "keywords": [ 15 | "heroku", 16 | "project", 17 | "server", 18 | "app", 19 | "name", 20 | "generate", 21 | "unique", 22 | "random", 23 | "generator", 24 | "generater" 25 | ], 26 | "author": "Akash Kurdekar", 27 | "license": "ISC", 28 | "devDependencies": { 29 | "mocha": "^8.1.3", 30 | "must": "^0.13.4" 31 | }, 32 | "dependencies": { 33 | "commander": "^6.1.0", 34 | "lodash": "^4.17.20" 35 | }, 36 | "bin": { 37 | "project-name-generator": "src/generator-bin.js" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /spec/nouns-adjectives.spec.js: -------------------------------------------------------------------------------- 1 | var _ = require('lodash'), 2 | nouns = require('../src/nouns'), 3 | adjectives = require('../src/adjectives'), 4 | helpers = require('./spec-helpers'), 5 | expect = require('must'); 6 | 7 | describe('nouns', stringArrayTestSuite.bind(this, nouns)); 8 | describe('adjectives', stringArrayTestSuite.bind(this, adjectives)); 9 | 10 | function stringArrayTestSuite(collection) { 11 | it('is an array', function () { 12 | expect(helpers.isArray(collection)).to.be(true); 13 | }); 14 | 15 | it('has at least one item', function () { 16 | expect(collection.length).to.be.gt(0); 17 | }); 18 | 19 | it('has each item as a string', function () { 20 | var everyItemIsAString = _.every(collection, function (item) { 21 | return typeof item === 'string'; 22 | }); 23 | expect(everyItemIsAString).to.be(true); 24 | }); 25 | 26 | it('has every item with no spaces', function () { 27 | var anyItemWithSpaces = _.some(collection, function (item) { 28 | return item.indexOf(' ') !== -1; 29 | }); 30 | expect(anyItemWithSpaces).to.be(false); 31 | }); 32 | 33 | it('has every item with no dashes', function () { 34 | var anyItemWithDashes = _.some(collection, function (item) { 35 | return item.indexOf('-') !== -1; 36 | }); 37 | expect(anyItemWithDashes).to.be(false); 38 | }); 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/generator.js: -------------------------------------------------------------------------------- 1 | const _ = require('lodash'); 2 | const nouns = require('./nouns'); 3 | const adjectives = require('./adjectives'); 4 | 5 | 6 | module.exports = generate; 7 | 8 | generate.generate = generate; 9 | function generate(options) { 10 | var defaults = { 11 | number: false, 12 | words: 2, 13 | alliterative: false, 14 | }; 15 | options = _.merge(defaults, options || {}); 16 | 17 | var raw = getRawProjName(options); 18 | 19 | return { 20 | raw: raw, 21 | dashed: raw.join('-'), 22 | spaced: raw.join(' ') 23 | }; 24 | } 25 | 26 | function getRawProjName(options) { 27 | var raw = []; 28 | _.times(options.words - 1, function () { 29 | if (options.alliterative && raw.length) 30 | raw.push(_.sample(getAlliterativeMatches(adjectives, raw[0].substring(0, 1)))); 31 | else 32 | raw.push(_.sample(adjectives).toLowerCase()); 33 | }); 34 | 35 | if (options.alliterative) 36 | raw.push(_.sample(getAlliterativeMatches(nouns, raw[0].substring(0, 1)))); 37 | else 38 | raw.push(_.sample(nouns).toLowerCase()); 39 | 40 | if (options.number) { 41 | raw.push(_.random(1, 9999)); 42 | } 43 | return raw; 44 | } 45 | 46 | function getAlliterativeMatches(arr, letter) { 47 | var check = letter.toLowerCase(); 48 | return _.filter(arr, function(elm) { return elm.substring(0, 1).toLowerCase() === check; }); 49 | } 50 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ⚰️ ⚰️ DEPRECATED ⚰️ ⚰️ 2 | This project is no longer being supported. 3 | 4 | # Project Name Generator 5 | 6 | Generate quirky names like *spiffy-waterfall*, *sassy-bread*, *mature-dew-8239* to use wherever you need a random but memorable name. 7 | 8 | Useful for object names, temp folders, passwords, project names, unique ids etc 9 | 10 | ## Install 11 | `npm install project-name-generator --save` 12 | 13 | ## Quick Start 14 | ```javascript 15 | var generate = require('project-name-generator'); 16 | 17 | generate().dashed; // 'uptight-guitar' 18 | 19 | generate().spaced; // 'grandiose clam' 20 | 21 | generate().raw; // ['deluxe', 'grandmother'] 22 | 23 | generate({ number: true }).dashed; // 'disgraceful-temper-7794' 24 | 25 | generate({ words: 4 }).raw; // ['tiny', 'crabby', 'wired', 'quicksand'] 26 | 27 | generate({ words: 4, number: true }).dashed; // 'breakable-judicious-luxuriant-tax-3931' 28 | 29 | generate({ words: 2, alliterative: true }).spaced; // 'elegant experience' 30 | 31 | ``` 32 | 33 | ## Quickstart CLI 34 | This package contains a cli script. You can pull in the package globally using npm 35 | `npm install -g project-name-generator` 36 | 37 | Call from your command line 38 | ``` 39 | $ project-name-generator 40 | { raw: [ 'spry', 'bath' ], 41 | dashed: 'spry-bath', 42 | spaced: 'spry bath' } 43 | ``` 44 | 45 | For CLI options 46 | ``` 47 | project-name-generator -h 48 | 49 | Usage: project-name-generator [options] 50 | 51 | 52 | Options: 53 | 54 | -V, --version output the version number 55 | -w, --words [num] number of words [2] 56 | -n, --numbers use numbers 57 | -a, --alliterative use alliterative 58 | -o, --output [output] output type [raw|dashed|spaced] 59 | -h, --help output usage information 60 | ``` 61 | 62 | ## API 63 | The module returns a single function, `generate(options)` 64 | 65 | Calling `generate()` with no arguments will return an object: 66 | ```javascript 67 | { 68 | raw: ['whispering', 'valley'], 69 | dashed: 'whispering-valley', 70 | spaced: 'whispering valley' 71 | } 72 | ``` 73 | 74 | The `options` argument object can have properties 75 | 76 | * **words** (number) - Number of words generated (excluding number). All words will be adjectives, except the last one which will be a noun. Defaults to **2**. 77 | * **number** (boolean) - Whether a numeric suffix is generated or not. The number is between 1 - 9999, both inclusive. Defaults to **false**. 78 | * **alliterative** (boolean) - Whether to output words beginning with the same letter or not. Defaults to **false**. 79 | 80 | `generate({ words: 3 })` will return: 81 | ```javascript 82 | { 83 | raw: ['harmonious', 'endurable', 'substance'], 84 | dashed: 'harmonious-endurable-substance', 85 | spaced: 'harmonious endurable substance' 86 | } 87 | ``` 88 | 89 | `generate({ words: 5, number: true })` will return: 90 | ```javascript 91 | { 92 | raw: [ 'exciting', 'cooperative', 'legal', 'lackadaisical', 'blood', 4099 ], 93 | dashed: 'exciting-cooperative-legal-lackadaisical-blood-4099', 94 | spaced: 'exciting cooperative legal lackadaisical blood 4099' 95 | } 96 | ``` 97 | 98 | `generate({ words: 2, number: false, alliterative: true })` will return: 99 | ```javascript 100 | { 101 | raw: [ 'elegant', 'experience' ], 102 | dashed: 'elegant-experience', 103 | spaced: 'elegant experience' 104 | } 105 | ``` 106 | 107 | ## Tests 108 | To run tests locally: 109 | ``` 110 | npm install 111 | 112 | npm test 113 | ``` 114 | 115 | The library has been tested with Node.js 12.18.4 116 | 117 | ## Status 118 | ![How up-to-date are dependencies?](https://david-dm.org/aceakash/project-name-generator.svg) 119 | -------------------------------------------------------------------------------- /spec/generator.spec.js: -------------------------------------------------------------------------------- 1 | var _ = require('lodash'), 2 | nouns = require('../src/nouns'), 3 | adjectives = require('../src/adjectives'), 4 | generate = require('../src/generator'), 5 | expect = require('must'); 6 | 7 | describe('generator', function () { 8 | it('has a generate function', function () { 9 | expect(generate).to.be.a(Function); 10 | }); 11 | 12 | describe('generate', function () { 13 | describe('when called with no argument', function () { 14 | var projName; 15 | 16 | beforeEach(function () { 17 | projName = generate(); 18 | }); 19 | 20 | it('returns an object with keys: dashed, spaced, raw', function () { 21 | expect(projName).to.not.be.undefined(); 22 | expect(projName.dashed).to.not.be.undefined(); 23 | expect(projName.spaced).to.not.be.undefined(); 24 | expect(projName.raw).to.not.be.undefined(); 25 | }); 26 | 27 | it('has a property raw which is an array of two strings', function () { 28 | expect(projName.raw.length).to.be(2); 29 | expect(typeof projName.raw[0]).to.be('string'); 30 | expect(typeof projName.raw[1]).to.be('string'); 31 | }); 32 | 33 | it('has an array raw, the first item of which is from the adjectives array', function () { 34 | expect(_.includes(adjectives, projName.raw[0])).to.be(true); 35 | }); 36 | 37 | it('has an array raw, the second item of which is from the nouns array', function () { 38 | expect(_.includes(nouns, projName.raw[1])).to.be(true); 39 | }); 40 | 41 | it("has a property dashed, which is a string of raw's items joined with a dash", function () { 42 | expect(projName.dashed).to.be(projName.raw.join('-')); 43 | }); 44 | 45 | it("has a property spaced, which is a string of raw's items joined with a space", function () { 46 | expect(projName.spaced).to.be(projName.raw.join(' ')); 47 | }); 48 | }); 49 | 50 | describe('when called with an options object', function () { 51 | var projName; 52 | 53 | it('with {}, shows default behaviour', function () { 54 | projName = generate({}); 55 | expect(projName.raw.length).to.be(2); 56 | expect(typeof projName.raw[0]).to.be('string'); 57 | expect(typeof projName.raw[1]).to.be('string'); 58 | }); 59 | 60 | it('with {number: true}, includes number', function () { 61 | projName = generate({number: true}); 62 | expect(projName.raw.length).to.be(3); 63 | expect(typeof projName.raw[0]).to.be('string'); 64 | expect(typeof projName.raw[1]).to.be('string'); 65 | expect(typeof projName.raw[2]).to.be('number'); 66 | }); 67 | 68 | it('with {words: n}, has n-1 adjectives and 1 noun', function () { 69 | projName = generate({words: 3}); 70 | expect(projName.raw.length).to.be(3); 71 | expect(_.includes(adjectives, projName.raw[0])).to.be(true); 72 | expect(_.includes(adjectives, projName.raw[1])).to.be(true); 73 | expect(_.includes(nouns, projName.raw[2])).to.be(true); 74 | 75 | projName = generate({words: 5}); 76 | expect(projName.raw.length).to.be(5); 77 | expect(_.includes(adjectives, projName.raw[0])).to.be(true); 78 | expect(_.includes(adjectives, projName.raw[1])).to.be(true); 79 | expect(_.includes(adjectives, projName.raw[2])).to.be(true); 80 | expect(_.includes(adjectives, projName.raw[3])).to.be(true); 81 | expect(_.includes(nouns, projName.raw[4])).to.be(true); 82 | }); 83 | 84 | it('with {words: 3, number: true}, has 2 adjectives, 1 noun and 1 number', function () { 85 | projName = generate({words: 3, number: true}); 86 | expect(projName.raw.length).to.be(4); 87 | expect(_.includes(adjectives, projName.raw[0])).to.be(true); 88 | expect(_.includes(adjectives, projName.raw[1])).to.be(true); 89 | expect(_.includes(nouns, projName.raw[2])).to.be(true); 90 | expect(typeof projName.raw[3]).to.be('number'); 91 | }); 92 | 93 | it('with {words: 2, number: false, alliterative: true}, has 1 adjective and 1 noun beginning with same letter', function() { 94 | projName = generate({words: 2, number: false, alliterative: true}); 95 | expect(projName.raw.length).to.be(2); 96 | expect(_.includes(adjectives, projName.raw[0])).to.be(true); 97 | expect(_.includes(nouns, projName.raw[1])).to.be(true); 98 | expect(projName.raw[0].substring(0, 1).toLowerCase() === projName.raw[1].substring(0, 1).toLowerCase()).to.be(true); 99 | }); 100 | }); 101 | }); 102 | 103 | describe('legacy generate property', function () { 104 | it('is also available as a generate property', function () { 105 | var name = require('../src/generator').generate(); 106 | expect(name.dashed).to.not.be.undefined(); 107 | expect(name.spaced).to.not.be.undefined(); 108 | expect(name.raw).to.not.be.undefined(); 109 | }); 110 | }); 111 | }); 112 | -------------------------------------------------------------------------------- /src/nouns.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | "account", 3 | "achiever", 4 | "acoustics", 5 | "act", 6 | "action", 7 | "activity", 8 | "actor", 9 | "addition", 10 | "adjustment", 11 | "advertisement", 12 | "advice", 13 | "aftermath", 14 | "afternoon", 15 | "afterthought", 16 | "agreement", 17 | "air", 18 | "airplane", 19 | "airport", 20 | "alarm", 21 | "amount", 22 | "amusement", 23 | "anger", 24 | "angle", 25 | "animal", 26 | "ants", 27 | "apparatus", 28 | "apparel", 29 | "appliance", 30 | "approval", 31 | "arch", 32 | "argument", 33 | "arithmetic", 34 | "arm", 35 | "army", 36 | "art", 37 | "attack", 38 | "attraction", 39 | "authority", 40 | "back", 41 | "badge", 42 | "bag", 43 | "bait", 44 | "balance", 45 | "ball", 46 | "base", 47 | "baseball", 48 | "basin", 49 | "basket", 50 | "basketball", 51 | "bat", 52 | "bath", 53 | "battle", 54 | "bead", 55 | "bear", 56 | "bed", 57 | "bedroom", 58 | "beds", 59 | "bee", 60 | "beef", 61 | "beginner", 62 | "behavior", 63 | "belief", 64 | "believe", 65 | "bell", 66 | "bells", 67 | "berry", 68 | "bike", 69 | "bikes", 70 | "bird", 71 | "birds", 72 | "birth", 73 | "birthday", 74 | "bit", 75 | "bite", 76 | "blade", 77 | "blood", 78 | "blow", 79 | "board", 80 | "boat", 81 | "bomb", 82 | "bone", 83 | "book", 84 | "books", 85 | "boot", 86 | "border", 87 | "bottle", 88 | "boundary", 89 | "box", 90 | "brake", 91 | "branch", 92 | "brass", 93 | "breath", 94 | "brick", 95 | "bridge", 96 | "bubble", 97 | "bucket", 98 | "building", 99 | "bulb", 100 | "burst", 101 | "bushes", 102 | "business", 103 | "butter", 104 | "button", 105 | "cabbage", 106 | "cable", 107 | "cactus", 108 | "cake", 109 | "cakes", 110 | "calculator", 111 | "calendar", 112 | "camera", 113 | "camp", 114 | "can", 115 | "cannon", 116 | "canvas", 117 | "cap", 118 | "caption", 119 | "car", 120 | "card", 121 | "care", 122 | "carpenter", 123 | "carriage", 124 | "cars", 125 | "cart", 126 | "cast", 127 | "cat", 128 | "cats", 129 | "cattle", 130 | "cause", 131 | "cave", 132 | "celery", 133 | "cellar", 134 | "cemetery", 135 | "cent", 136 | "chalk", 137 | "chance", 138 | "change", 139 | "channel", 140 | "cheese", 141 | "cherries", 142 | "cherry", 143 | "chess", 144 | "chicken", 145 | "chickens", 146 | "chin", 147 | "church", 148 | "circle", 149 | "clam", 150 | "class", 151 | "cloth", 152 | "clover", 153 | "club", 154 | "coach", 155 | "coal", 156 | "coast", 157 | "coat", 158 | "cobweb", 159 | "coil", 160 | "collar", 161 | "color", 162 | "committee", 163 | "company", 164 | "comparison", 165 | "competition", 166 | "condition", 167 | "connection", 168 | "control", 169 | "cook", 170 | "copper", 171 | "corn", 172 | "cough", 173 | "country", 174 | "cover", 175 | "cow", 176 | "cows", 177 | "crack", 178 | "cracker", 179 | "crate", 180 | "crayon", 181 | "cream", 182 | "creator", 183 | "creature", 184 | "credit", 185 | "crib", 186 | "crime", 187 | "crook", 188 | "crow", 189 | "crowd", 190 | "crown", 191 | "cub", 192 | "cup", 193 | "current", 194 | "curtain", 195 | "curve", 196 | "cushion", 197 | "day", 198 | "death", 199 | "debt", 200 | "decision", 201 | "deer", 202 | "degree", 203 | "design", 204 | "desire", 205 | "desk", 206 | "destruction", 207 | "detail", 208 | "development", 209 | "digestion", 210 | "dime", 211 | "dinner", 212 | "dinosaurs", 213 | "direction", 214 | "dirt", 215 | "discovery", 216 | "discussion", 217 | "distance", 218 | "distribution", 219 | "division", 220 | "dock", 221 | "doctor", 222 | "dog", 223 | "dogs", 224 | "doll", 225 | "dolls", 226 | "donkey", 227 | "door", 228 | "downtown", 229 | "drain", 230 | "drawer", 231 | "dress", 232 | "drink", 233 | "driving", 234 | "drop", 235 | "duck", 236 | "ducks", 237 | "dust", 238 | "ear", 239 | "earth", 240 | "earthquake", 241 | "edge", 242 | "education", 243 | "effect", 244 | "egg", 245 | "eggnog", 246 | "eggs", 247 | "elbow", 248 | "end", 249 | "engine", 250 | "error", 251 | "event", 252 | "example", 253 | "exchange", 254 | "existence", 255 | "expansion", 256 | "experience", 257 | "expert", 258 | "eye", 259 | "eyes", 260 | "face", 261 | "fact", 262 | "fairies", 263 | "fall", 264 | "fang", 265 | "farm", 266 | "fear", 267 | "feeling", 268 | "field", 269 | "finger", 270 | "fire", 271 | "fish", 272 | "flag", 273 | "flame", 274 | "flavor", 275 | "flesh", 276 | "flight", 277 | "flock", 278 | "floor", 279 | "flower", 280 | "flowers", 281 | "fly", 282 | "fog", 283 | "fold", 284 | "food", 285 | "foot", 286 | "force", 287 | "fork", 288 | "form", 289 | "fowl", 290 | "frame", 291 | "friction", 292 | "friend", 293 | "friends", 294 | "frog", 295 | "frogs", 296 | "front", 297 | "fruit", 298 | "fuel", 299 | "furniture", 300 | "gate", 301 | "geese", 302 | "ghost", 303 | "giants", 304 | "giraffe", 305 | "glass", 306 | "glove", 307 | "gold", 308 | "government", 309 | "governor", 310 | "grade", 311 | "grain", 312 | "grape", 313 | "grass", 314 | "grip", 315 | "ground", 316 | "group", 317 | "growth", 318 | "guide", 319 | "guitar", 320 | "gun", 321 | "hair", 322 | "haircut", 323 | "hall", 324 | "hammer", 325 | "hand", 326 | "hands", 327 | "harbor", 328 | "harmony", 329 | "hat", 330 | "head", 331 | "health", 332 | "heat", 333 | "hill", 334 | "history", 335 | "hobbies", 336 | "hole", 337 | "holiday", 338 | "home", 339 | "honey", 340 | "hook", 341 | "hope", 342 | "horn", 343 | "horse", 344 | "horses", 345 | "hose", 346 | "hospital", 347 | "hot", 348 | "hour", 349 | "house", 350 | "houses", 351 | "humor", 352 | "hydrant", 353 | "ice", 354 | "icicle", 355 | "idea", 356 | "impulse", 357 | "income", 358 | "increase", 359 | "industry", 360 | "ink", 361 | "insect", 362 | "instrument", 363 | "insurance", 364 | "interest", 365 | "invention", 366 | "iron", 367 | "island", 368 | "jail", 369 | "jam", 370 | "jar", 371 | "jeans", 372 | "jelly", 373 | "jellyfish", 374 | "jewel", 375 | "join", 376 | "judge", 377 | "juice", 378 | "jump", 379 | "kettle", 380 | "key", 381 | "kick", 382 | "kiss", 383 | "kittens", 384 | "kitty", 385 | "knee", 386 | "knife", 387 | "knot", 388 | "knowledge", 389 | "laborer", 390 | "lace", 391 | "ladybug", 392 | "lake", 393 | "lamp", 394 | "land", 395 | "language", 396 | "laugh", 397 | "leather", 398 | "leg", 399 | "legs", 400 | "letter", 401 | "letters", 402 | "lettuce", 403 | "level", 404 | "library", 405 | "limit", 406 | "line", 407 | "linen", 408 | "lip", 409 | "liquid", 410 | "loaf", 411 | "lock", 412 | "locket", 413 | "look", 414 | "loss", 415 | "love", 416 | "low", 417 | "lumber", 418 | "lunch", 419 | "lunchroom", 420 | "machine", 421 | "magic", 422 | "maid", 423 | "mailbox", 424 | "marble", 425 | "mark", 426 | "market", 427 | "mask", 428 | "mass", 429 | "match", 430 | "meal", 431 | "measure", 432 | "meat", 433 | "meeting", 434 | "memory", 435 | "metal", 436 | "mice", 437 | "middle", 438 | "milk", 439 | "mind", 440 | "mine", 441 | "minister", 442 | "mint", 443 | "minute", 444 | "mist", 445 | "mitten", 446 | "money", 447 | "month", 448 | "moon", 449 | "morning", 450 | "mother", 451 | "motion", 452 | "mountain", 453 | "mouth", 454 | "move", 455 | "muscle", 456 | "name", 457 | "nation", 458 | "neck", 459 | "need", 460 | "needle", 461 | "nerve", 462 | "nest", 463 | "night", 464 | "noise", 465 | "north", 466 | "nose", 467 | "note", 468 | "notebook", 469 | "number", 470 | "nut", 471 | "oatmeal", 472 | "observation", 473 | "ocean", 474 | "offer", 475 | "office", 476 | "oil", 477 | "orange", 478 | "oranges", 479 | "order", 480 | "oven", 481 | "page", 482 | "pail", 483 | "pan", 484 | "pancake", 485 | "paper", 486 | "parcel", 487 | "part", 488 | "partner", 489 | "party", 490 | "passenger", 491 | "payment", 492 | "peace", 493 | "pear", 494 | "pen", 495 | "pencil", 496 | "person", 497 | "pest", 498 | "pet", 499 | "pets", 500 | "pickle", 501 | "picture", 502 | "pie", 503 | "pies", 504 | "pig", 505 | "pigs", 506 | "pin", 507 | "pipe", 508 | "pizzas", 509 | "place", 510 | "plane", 511 | "planes", 512 | "plant", 513 | "plantation", 514 | "plants", 515 | "plastic", 516 | "plate", 517 | "play", 518 | "playground", 519 | "pleasure", 520 | "plot", 521 | "plough", 522 | "pocket", 523 | "point", 524 | "poison", 525 | "pollution", 526 | "popcorn", 527 | "porter", 528 | "position", 529 | "pot", 530 | "potato", 531 | "powder", 532 | "power", 533 | "price", 534 | "produce", 535 | "profit", 536 | "property", 537 | "prose", 538 | "protest", 539 | "pull", 540 | "pump", 541 | "punishment", 542 | "purpose", 543 | "push", 544 | "quarter", 545 | "quartz", 546 | "question", 547 | "quicksand", 548 | "quiet", 549 | "quill", 550 | "quilt", 551 | "quince", 552 | "quiver", 553 | "rabbit", 554 | "rabbits", 555 | "rail", 556 | "railway", 557 | "rain", 558 | "rainstorm", 559 | "rake", 560 | "range", 561 | "rat", 562 | "rate", 563 | "ray", 564 | "reaction", 565 | "reading", 566 | "reason", 567 | "receipt", 568 | "recess", 569 | "record", 570 | "regret", 571 | "relation", 572 | "religion", 573 | "representative", 574 | "request", 575 | "respect", 576 | "rest", 577 | "reward", 578 | "rhythm", 579 | "rice", 580 | "riddle", 581 | "rifle", 582 | "ring", 583 | "rings", 584 | "river", 585 | "road", 586 | "robin", 587 | "rock", 588 | "rod", 589 | "roll", 590 | "roof", 591 | "room", 592 | "root", 593 | "rose", 594 | "route", 595 | "rub", 596 | "rule", 597 | "run", 598 | "sack", 599 | "sail", 600 | "salt", 601 | "sand", 602 | "scale", 603 | "scarecrow", 604 | "scarf", 605 | "scene", 606 | "scent", 607 | "school", 608 | "science", 609 | "scissors", 610 | "screw", 611 | "sea", 612 | "seashore", 613 | "seat", 614 | "secretary", 615 | "seed", 616 | "selection", 617 | "self", 618 | "sense", 619 | "servant", 620 | "shade", 621 | "shake", 622 | "shame", 623 | "shape", 624 | "sheep", 625 | "sheet", 626 | "shelf", 627 | "ship", 628 | "shirt", 629 | "shock", 630 | "shoe", 631 | "shoes", 632 | "shop", 633 | "show", 634 | "side", 635 | "sidewalk", 636 | "sign", 637 | "silk", 638 | "silver", 639 | "sink", 640 | "size", 641 | "skate", 642 | "skin", 643 | "skirt", 644 | "sky", 645 | "slave", 646 | "sleep", 647 | "sleet", 648 | "slip", 649 | "slope", 650 | "smash", 651 | "smell", 652 | "smile", 653 | "smoke", 654 | "snail", 655 | "snails", 656 | "snake", 657 | "snakes", 658 | "sneeze", 659 | "snow", 660 | "soap", 661 | "society", 662 | "sock", 663 | "soda", 664 | "sofa", 665 | "song", 666 | "songs", 667 | "sort", 668 | "sound", 669 | "soup", 670 | "space", 671 | "spade", 672 | "spark", 673 | "spiders", 674 | "sponge", 675 | "spoon", 676 | "spot", 677 | "spring", 678 | "spy", 679 | "square", 680 | "squirrel", 681 | "stage", 682 | "stamp", 683 | "star", 684 | "start", 685 | "statement", 686 | "station", 687 | "steam", 688 | "steel", 689 | "stem", 690 | "step", 691 | "stew", 692 | "stick", 693 | "sticks", 694 | "stitch", 695 | "stocking", 696 | "stomach", 697 | "stone", 698 | "stop", 699 | "store", 700 | "story", 701 | "stove", 702 | "stranger", 703 | "straw", 704 | "stream", 705 | "street", 706 | "stretch", 707 | "string", 708 | "structure", 709 | "substance", 710 | "sugar", 711 | "suggestion", 712 | "suit", 713 | "summer", 714 | "sun", 715 | "support", 716 | "surprise", 717 | "sweater", 718 | "swim", 719 | "swing", 720 | "system", 721 | "table", 722 | "tail", 723 | "talk", 724 | "tank", 725 | "taste", 726 | "tax", 727 | "teaching", 728 | "team", 729 | "teeth", 730 | "temper", 731 | "tendency", 732 | "tent", 733 | "territory", 734 | "test", 735 | "texture", 736 | "theory", 737 | "thing", 738 | "things", 739 | "thought", 740 | "thread", 741 | "thrill", 742 | "throat", 743 | "throne", 744 | "thumb", 745 | "thunder", 746 | "ticket", 747 | "tiger", 748 | "time", 749 | "tin", 750 | "title", 751 | "toad", 752 | "toe", 753 | "toes", 754 | "tomatoes", 755 | "tongue", 756 | "tooth", 757 | "toothbrush", 758 | "toothpaste", 759 | "top", 760 | "touch", 761 | "town", 762 | "toy", 763 | "toys", 764 | "trade", 765 | "trail", 766 | "train", 767 | "trains", 768 | "tramp", 769 | "transport", 770 | "tray", 771 | "treatment", 772 | "tree", 773 | "trees", 774 | "trick", 775 | "trip", 776 | "trouble", 777 | "trousers", 778 | "truck", 779 | "trucks", 780 | "tub", 781 | "turkey", 782 | "turn", 783 | "twig", 784 | "twist", 785 | "umbrella", 786 | "underwear", 787 | "unit", 788 | "use", 789 | "vacation", 790 | "value", 791 | "van", 792 | "vase", 793 | "vegetable", 794 | "veil", 795 | "vein", 796 | "verse", 797 | "vessel", 798 | "vest", 799 | "view", 800 | "visitor", 801 | "voice", 802 | "volcano", 803 | "volleyball", 804 | "voyage", 805 | "walk", 806 | "wall", 807 | "war", 808 | "wash", 809 | "waste", 810 | "watch", 811 | "water", 812 | "wave", 813 | "waves", 814 | "wax", 815 | "way", 816 | "wealth", 817 | "weather", 818 | "week", 819 | "weight", 820 | "wheel", 821 | "whip", 822 | "whistle", 823 | "wilderness", 824 | "wind", 825 | "window", 826 | "wine", 827 | "wing", 828 | "winter", 829 | "wire", 830 | "wish", 831 | "wood", 832 | "wool", 833 | "word", 834 | "work", 835 | "worm", 836 | "wound", 837 | "wren", 838 | "wrench", 839 | "wrist", 840 | "writer", 841 | "writing", 842 | "yak", 843 | "yam", 844 | "yard", 845 | "yarn", 846 | "year", 847 | "yoke", 848 | "zebra", 849 | "zephyr", 850 | "zinc", 851 | "zipper", 852 | "zoo" 853 | ]; 854 | -------------------------------------------------------------------------------- /src/adjectives.js: -------------------------------------------------------------------------------- 1 | module.exports = 2 | [ 3 | 'abandoned', 4 | 'abashed', 5 | 'aberrant', 6 | 'abhorrent', 7 | 'abiding', 8 | 'abject', 9 | 'ablaze', 10 | 'able', 11 | 'abounding', 12 | 'abrasive', 13 | 'abrupt', 14 | 'absent', 15 | 'absorbed', 16 | 'absorbing', 17 | 'abstracted', 18 | 'absurd', 19 | 'abundant', 20 | 'acceptable', 21 | 'accessible', 22 | 'accidental', 23 | 'accurate', 24 | 'acidic', 25 | 'acoustic', 26 | 'acrid', 27 | 'actionable', 28 | 'active', 29 | 'actual', 30 | 'adamant', 31 | 'adaptable', 32 | 'adept', 33 | 'adhesive', 34 | 'adjoining', 35 | 'adorable', 36 | 'adroit', 37 | 'adventurous', 38 | 'affable', 39 | 'affectionate', 40 | 'afraid', 41 | 'aggressive', 42 | 'agile', 43 | 'agonizing', 44 | 'agreeable', 45 | 'airy', 46 | 'alert', 47 | 'alive', 48 | 'alleged', 49 | 'alluring', 50 | 'aloof', 51 | 'amazing', 52 | 'ambiguous', 53 | 'ambitious', 54 | 'amiable', 55 | 'ample', 56 | 'amused', 57 | 'amusing', 58 | 'ancient', 59 | 'angry', 60 | 'animated', 61 | 'annoyed', 62 | 'annoying', 63 | 'anxious', 64 | 'apathetic', 65 | 'apt', 66 | 'aquatic', 67 | 'ardent', 68 | 'aromatic', 69 | 'arrogant', 70 | 'ashamed', 71 | 'aspiring', 72 | 'assorted', 73 | 'astonishing', 74 | 'astute', 75 | 'attractive', 76 | 'august', 77 | 'auspicious', 78 | 'automatic', 79 | 'available', 80 | 'average', 81 | 'avid', 82 | 'aware', 83 | 'awesome', 84 | 'awful', 85 | 'axiomatic', 86 | 'bad', 87 | 'balmy', 88 | 'barbarous', 89 | 'bashful', 90 | 'bawdy', 91 | 'beautiful', 92 | 'befitting', 93 | 'belligerent', 94 | 'beneficial', 95 | 'benevolent', 96 | 'bent', 97 | 'berserk', 98 | 'best', 99 | 'better', 100 | 'bewildered', 101 | 'big', 102 | 'billowing', 103 | 'billowy', 104 | 'bitter', 105 | 'bizarre', 106 | 'blessed', 107 | 'bloody', 108 | 'blue', 109 | 'blushing', 110 | 'boiling', 111 | 'bold', 112 | 'boorish', 113 | 'bored', 114 | 'boring', 115 | 'boss', 116 | 'bouncy', 117 | 'boundless', 118 | 'brainy', 119 | 'brash', 120 | 'brave', 121 | 'brawny', 122 | 'breakable', 123 | 'breezy', 124 | 'brief', 125 | 'bright', 126 | 'brisk', 127 | 'broad', 128 | 'broken', 129 | 'bumpy', 130 | 'burly', 131 | 'bustling', 132 | 'busy', 133 | 'cagey', 134 | 'calculating', 135 | 'callous', 136 | 'calm', 137 | 'can', 138 | 'canny', 139 | 'capable', 140 | 'capricious', 141 | 'cared', 142 | 'careful', 143 | 'careless', 144 | 'caring', 145 | 'casual', 146 | 'cautious', 147 | 'ceaseless', 148 | 'celestial', 149 | 'certain', 150 | 'changeable', 151 | 'charming', 152 | 'cheap', 153 | 'cheerful', 154 | 'chemical', 155 | 'chic', 156 | 'chief', 157 | 'childlike', 158 | 'chilly', 159 | 'chivalrous', 160 | 'choice', 161 | 'chosen', 162 | 'chubby', 163 | 'chummy', 164 | 'chunky', 165 | 'civic', 166 | 'civil', 167 | 'clammy', 168 | 'classy', 169 | 'clean', 170 | 'clear', 171 | 'clever', 172 | 'cloistered', 173 | 'close', 174 | 'closed', 175 | 'cloudy', 176 | 'clumsy', 177 | 'cluttered', 178 | 'cogent', 179 | 'coherent', 180 | 'cold', 181 | 'colorful', 182 | 'colossal', 183 | 'combative', 184 | 'comfortable', 185 | 'common', 186 | 'complete', 187 | 'complex', 188 | 'composed', 189 | 'concerned', 190 | 'condemned', 191 | 'confused', 192 | 'conscious', 193 | 'cooing', 194 | 'cool', 195 | 'cooperative', 196 | 'coordinated', 197 | 'cosmic', 198 | 'courageous', 199 | 'cowardly', 200 | 'cozy', 201 | 'crabby', 202 | 'craven', 203 | 'crazy', 204 | 'creepy', 205 | 'crooked', 206 | 'crowded', 207 | 'cruel', 208 | 'cuddly', 209 | 'cultured', 210 | 'cumbersome', 211 | 'curious', 212 | 'curly', 213 | 'curved', 214 | 'curvy', 215 | 'cut', 216 | 'cute', 217 | 'cynical', 218 | 'daffy', 219 | 'daily', 220 | 'dainty', 221 | 'damaged', 222 | 'damaging', 223 | 'damp', 224 | 'dandy', 225 | 'dangerous', 226 | 'dapper', 227 | 'daring', 228 | 'dark', 229 | 'dashing', 230 | 'dazzling', 231 | 'dead', 232 | 'deadpan', 233 | 'deafening', 234 | 'dear', 235 | 'debonair', 236 | 'decent', 237 | 'decisive', 238 | 'decorous', 239 | 'deep', 240 | 'deeply', 241 | 'defeated', 242 | 'defective', 243 | 'defiant', 244 | 'deft', 245 | 'delicate', 246 | 'delicious', 247 | 'delightful', 248 | 'delirious', 249 | 'deluxe', 250 | 'demonic', 251 | 'dependent', 252 | 'deranged', 253 | 'descriptive', 254 | 'deserted', 255 | 'detailed', 256 | 'determined', 257 | 'devilish', 258 | 'devout', 259 | 'didactic', 260 | 'different', 261 | 'difficult', 262 | 'diligent', 263 | 'direct', 264 | 'direful', 265 | 'dirty', 266 | 'disagreeable', 267 | 'disastrous', 268 | 'discreet', 269 | 'disgusted', 270 | 'disgusting', 271 | 'disillusioned', 272 | 'dispensable', 273 | 'distinct', 274 | 'disturbed', 275 | 'divergent', 276 | 'divine', 277 | 'dizzy', 278 | 'domineering', 279 | 'doted', 280 | 'doting', 281 | 'doubtful', 282 | 'drab', 283 | 'draconian', 284 | 'dramatic', 285 | 'dreamy', 286 | 'dreary', 287 | 'driven', 288 | 'dry', 289 | 'dull', 290 | 'dusty', 291 | 'dynamic', 292 | 'dysfunctional', 293 | 'eager', 294 | 'early', 295 | 'earsplitting', 296 | 'earthy', 297 | 'easy', 298 | 'eatable', 299 | 'economic', 300 | 'educated', 301 | 'efficacious', 302 | 'efficient', 303 | 'eight', 304 | 'elastic', 305 | 'elated', 306 | 'electric', 307 | 'elegant', 308 | 'elfin', 309 | 'elite', 310 | 'embarrassed', 311 | 'eminent', 312 | 'empty', 313 | 'enchanted', 314 | 'enchanting', 315 | 'encouraging', 316 | 'end', 317 | 'endurable', 318 | 'energetic', 319 | 'energized', 320 | 'enigmatic', 321 | 'enormous', 322 | 'entertaining', 323 | 'enthusiastic', 324 | 'envious', 325 | 'equable', 326 | 'equal', 327 | 'erect', 328 | 'erratic', 329 | 'ethereal', 330 | 'evanescent', 331 | 'evasive', 332 | 'even', 333 | 'evil', 334 | 'exact', 335 | 'excellent', 336 | 'excited', 337 | 'exciting', 338 | 'exclusive', 339 | 'exotic', 340 | 'expensive', 341 | 'expert', 342 | 'exuberant', 343 | 'exultant', 344 | 'fabulous', 345 | 'faded', 346 | 'faint', 347 | 'fair', 348 | 'faithful', 349 | 'fallacious', 350 | 'false', 351 | 'famed', 352 | 'familiar', 353 | 'famous', 354 | 'fanatical', 355 | 'fancy', 356 | 'fantastic', 357 | 'far', 358 | 'fascinated', 359 | 'fast', 360 | 'faulty', 361 | 'fearful', 362 | 'fearless', 363 | 'feigned', 364 | 'fertile', 365 | 'festive', 366 | 'few', 367 | 'fierce', 368 | 'fiery', 369 | 'filthy', 370 | 'fine', 371 | 'finicky', 372 | 'first', 373 | 'fit', 374 | 'fixed', 375 | 'flagrant', 376 | 'flaky', 377 | 'flashy', 378 | 'flat', 379 | 'flawless', 380 | 'fleet', 381 | 'flimsy', 382 | 'flippant', 383 | 'flowery', 384 | 'flowing', 385 | 'fluent', 386 | 'fluffy', 387 | 'fluttering', 388 | 'flying', 389 | 'foamy', 390 | 'fond', 391 | 'foolish', 392 | 'for', 393 | 'foregoing', 394 | 'forgetful', 395 | 'forlorn', 396 | 'fortunate', 397 | 'fragile', 398 | 'frail', 399 | 'frank', 400 | 'frantic', 401 | 'free', 402 | 'freezing', 403 | 'frequent', 404 | 'fresh', 405 | 'fretful', 406 | 'friendly', 407 | 'frightened', 408 | 'frightening', 409 | 'full', 410 | 'fumbling', 411 | 'fun', 412 | 'functional', 413 | 'funny', 414 | 'furry', 415 | 'furtive', 416 | 'fuscia', 417 | 'future', 418 | 'futuristic', 419 | 'fuzzy', 420 | 'gabby', 421 | 'gainful', 422 | 'gamy', 423 | 'gaping', 424 | 'garrulous', 425 | 'gas', 426 | 'gaudy', 427 | 'general', 428 | 'genial', 429 | 'gentle', 430 | 'giant', 431 | 'giddy', 432 | 'gifted', 433 | 'gigantic', 434 | 'giving', 435 | 'glad', 436 | 'glamorous', 437 | 'gleaming', 438 | 'glib', 439 | 'glistening', 440 | 'glorious', 441 | 'glossy', 442 | 'gnarly', 443 | 'godly', 444 | 'gold', 445 | 'golden', 446 | 'good', 447 | 'goodly', 448 | 'goofy', 449 | 'gorgeous', 450 | 'graceful', 451 | 'grand', 452 | 'grandiose', 453 | 'grateful', 454 | 'gratis', 455 | 'gray', 456 | 'greasy', 457 | 'great', 458 | 'greedy', 459 | 'green', 460 | 'grey', 461 | 'grieving', 462 | 'groovy', 463 | 'grotesque', 464 | 'grouchy', 465 | 'grubby', 466 | 'gruesome', 467 | 'grumpy', 468 | 'guarded', 469 | 'guided', 470 | 'guiltless', 471 | 'gullible', 472 | 'gusty', 473 | 'gutsy', 474 | 'guttural', 475 | 'habitual', 476 | 'half', 477 | 'hallowed', 478 | 'haloed', 479 | 'halting', 480 | 'handsome', 481 | 'handsomely', 482 | 'handy', 483 | 'hanging', 484 | 'hapless', 485 | 'happy', 486 | 'hard', 487 | 'hardy', 488 | 'harmonious', 489 | 'harsh', 490 | 'heady', 491 | 'healthy', 492 | 'heartbreaking', 493 | 'hearty', 494 | 'heavenly', 495 | 'heavy', 496 | 'hellish', 497 | 'helpful', 498 | 'helpless', 499 | 'heroic', 500 | 'hesitant', 501 | 'hideous', 502 | 'high', 503 | 'highfalutin', 504 | 'hilarious', 505 | 'hip', 506 | 'hissing', 507 | 'historical', 508 | 'holistic', 509 | 'hollow', 510 | 'holy', 511 | 'homely', 512 | 'honest', 513 | 'honorable', 514 | 'horrible', 515 | 'hospitable', 516 | 'hot', 517 | 'huge', 518 | 'hulking', 519 | 'human', 520 | 'humane', 521 | 'humble', 522 | 'humdrum', 523 | 'humorous', 524 | 'hungry', 525 | 'hunky', 526 | 'hurried', 527 | 'hurt', 528 | 'hushed', 529 | 'husky', 530 | 'hypnotic', 531 | 'hysterical', 532 | 'icky', 533 | 'icy', 534 | 'ideal', 535 | 'ignorant', 536 | 'ill', 537 | 'illegal', 538 | 'illustrious', 539 | 'imaginary', 540 | 'immense', 541 | 'imminent', 542 | 'immune', 543 | 'impartial', 544 | 'imperfect', 545 | 'impolite', 546 | 'important', 547 | 'imported', 548 | 'impossible', 549 | 'incandescent', 550 | 'incompetent', 551 | 'inconclusive', 552 | 'incredible', 553 | 'indigo', 554 | 'industrious', 555 | 'inexpensive', 556 | 'infamous', 557 | 'innate', 558 | 'innocent', 559 | 'inquisitive', 560 | 'insidious', 561 | 'instinctive', 562 | 'intelligent', 563 | 'interesting', 564 | 'internal', 565 | 'invincible', 566 | 'irate', 567 | 'irritating', 568 | 'itchy', 569 | 'jaded', 570 | 'jagged', 571 | 'jazzed', 572 | 'jazzy', 573 | 'jealous', 574 | 'jittery', 575 | 'jolly', 576 | 'jovial', 577 | 'joyful', 578 | 'joyous', 579 | 'jubilant', 580 | 'judicious', 581 | 'juicy', 582 | 'jumbled', 583 | 'jumpy', 584 | 'just', 585 | 'kaput', 586 | 'keen', 587 | 'khaki', 588 | 'kind', 589 | 'kindhearted', 590 | 'kindly', 591 | 'kingly', 592 | 'knotty', 593 | 'knowing', 594 | 'knowledgeable', 595 | 'known', 596 | 'labored', 597 | 'lackadaisical', 598 | 'lacking', 599 | 'lame', 600 | 'lamentable', 601 | 'languid', 602 | 'large', 603 | 'last', 604 | 'late', 605 | 'laughable', 606 | 'lavish', 607 | 'lawful', 608 | 'lazy', 609 | 'lean', 610 | 'legal', 611 | 'legit', 612 | 'lethal', 613 | 'level', 614 | 'lewd', 615 | 'light', 616 | 'like', 617 | 'likeable', 618 | 'likely', 619 | 'limber', 620 | 'limitless', 621 | 'limping', 622 | 'literate', 623 | 'little', 624 | 'lively', 625 | 'living', 626 | 'lonely', 627 | 'long', 628 | 'longing', 629 | 'loose', 630 | 'lopsided', 631 | 'loud', 632 | 'lousy', 633 | 'loutish', 634 | 'loved', 635 | 'lovely', 636 | 'loving', 637 | 'low', 638 | 'lowly', 639 | 'loyal', 640 | 'lucid', 641 | 'lucky', 642 | 'ludicrous', 643 | 'lumpy', 644 | 'lush', 645 | 'luxuriant', 646 | 'lying', 647 | 'lyrical', 648 | 'macabre', 649 | 'macho', 650 | 'maddening', 651 | 'madly', 652 | 'magenta', 653 | 'magical', 654 | 'magnificent', 655 | 'main', 656 | 'majestic', 657 | 'major', 658 | 'makeshift', 659 | 'malicious', 660 | 'mammoth', 661 | 'maniacal', 662 | 'many', 663 | 'marked', 664 | 'married', 665 | 'marvelous', 666 | 'massive', 667 | 'material', 668 | 'materialistic', 669 | 'max', 670 | 'maxed', 671 | 'mean', 672 | 'measly', 673 | 'meaty', 674 | 'medical', 675 | 'meek', 676 | 'mellow', 677 | 'melodic', 678 | 'melted', 679 | 'merciful', 680 | 'mere', 681 | 'merry', 682 | 'messy', 683 | 'mighty', 684 | 'military', 685 | 'milky', 686 | 'mindless', 687 | 'miniature', 688 | 'minor', 689 | 'mint', 690 | 'mirthful', 691 | 'miscreant', 692 | 'misty', 693 | 'mixed', 694 | 'moaning', 695 | 'modern', 696 | 'modest', 697 | 'moldy', 698 | 'momentous', 699 | 'money', 700 | 'moonlit', 701 | 'moral', 702 | 'motionless', 703 | 'mountainous', 704 | 'moving', 705 | 'mucho', 706 | 'muddled', 707 | 'mundane', 708 | 'murky', 709 | 'mushy', 710 | 'mute', 711 | 'mutual', 712 | 'mysterious', 713 | 'naive', 714 | 'nappy', 715 | 'narrow', 716 | 'nasty', 717 | 'native', 718 | 'natural', 719 | 'naughty', 720 | 'nauseating', 721 | 'near', 722 | 'neat', 723 | 'nebulous', 724 | 'necessary', 725 | 'needed', 726 | 'needless', 727 | 'needy', 728 | 'neighborly', 729 | 'nervous', 730 | 'new', 731 | 'next', 732 | 'nice', 733 | 'nifty', 734 | 'nimble', 735 | 'nippy', 736 | 'noble', 737 | 'noiseless', 738 | 'noisy', 739 | 'nonchalant', 740 | 'nondescript', 741 | 'nonstop', 742 | 'normal', 743 | 'nostalgic', 744 | 'nosy', 745 | 'noted', 746 | 'novel', 747 | 'noxious', 748 | 'null', 749 | 'numberless', 750 | 'numero', 751 | 'numerous', 752 | 'nutritious', 753 | 'nutty', 754 | 'oafish', 755 | 'obedient', 756 | 'obeisant', 757 | 'obnoxious', 758 | 'obscene', 759 | 'obsequious', 760 | 'observant', 761 | 'obsolete', 762 | 'obtainable', 763 | 'oceanic', 764 | 'odd', 765 | 'offbeat', 766 | 'okay', 767 | 'omniscient', 768 | 'onerous', 769 | 'open', 770 | 'opposite', 771 | 'optimal', 772 | 'orange', 773 | 'ordinary', 774 | 'organic', 775 | 'ossified', 776 | 'outgoing', 777 | 'outrageous', 778 | 'outstanding', 779 | 'oval', 780 | 'overconfident', 781 | 'overjoyed', 782 | 'overrated', 783 | 'overt', 784 | 'overwrought', 785 | 'pacific', 786 | 'painful', 787 | 'painstaking', 788 | 'pale', 789 | 'paltry', 790 | 'panicky', 791 | 'panoramic', 792 | 'parallel', 793 | 'parched', 794 | 'parsimonious', 795 | 'past', 796 | 'pastoral', 797 | 'pathetic', 798 | 'peaceful', 799 | 'peachy', 800 | 'penitent', 801 | 'peppy', 802 | 'perfect', 803 | 'periodic', 804 | 'permissible', 805 | 'perpetual', 806 | 'petite', 807 | 'phobic', 808 | 'physical', 809 | 'picayune', 810 | 'pink', 811 | 'piquant', 812 | 'pithy', 813 | 'placid', 814 | 'plain', 815 | 'plant', 816 | 'plastic', 817 | 'plausible', 818 | 'pleasant', 819 | 'plucky', 820 | 'plum', 821 | 'poetic', 822 | 'pointless', 823 | 'poised', 824 | 'polite', 825 | 'political', 826 | 'posh', 827 | 'possessive', 828 | 'possible', 829 | 'potent', 830 | 'powerful', 831 | 'precious', 832 | 'premium', 833 | 'present', 834 | 'pretty', 835 | 'previous', 836 | 'pricey', 837 | 'prickly', 838 | 'prime', 839 | 'primo', 840 | 'private', 841 | 'prized', 842 | 'pro', 843 | 'probable', 844 | 'productive', 845 | 'profuse', 846 | 'prompt', 847 | 'proper', 848 | 'protective', 849 | 'proud', 850 | 'psychedelic', 851 | 'psychotic', 852 | 'public', 853 | 'puffy', 854 | 'pumped', 855 | 'punchy', 856 | 'puny', 857 | 'pure', 858 | 'purple', 859 | 'purring', 860 | 'pushy', 861 | 'puzzled', 862 | 'puzzling', 863 | 'quack', 864 | 'quaint', 865 | 'quarrelsome', 866 | 'questionable', 867 | 'quick', 868 | 'quickest', 869 | 'quiet', 870 | 'quirky', 871 | 'quixotic', 872 | 'quizzical', 873 | 'rabid', 874 | 'racial', 875 | 'rad', 876 | 'radioactive', 877 | 'ragged', 878 | 'rainy', 879 | 'rambunctious', 880 | 'rampant', 881 | 'rapid', 882 | 'rare', 883 | 'raspy', 884 | 'ratty', 885 | 'reach', 886 | 'ready', 887 | 'real', 888 | 'rebel', 889 | 'receptive', 890 | 'recondite', 891 | 'red', 892 | 'redundant', 893 | 'reflective', 894 | 'regal', 895 | 'regular', 896 | 'relieved', 897 | 'remarkable', 898 | 'reminiscent', 899 | 'repulsive', 900 | 'resilient', 901 | 'resolute', 902 | 'resonant', 903 | 'responsible', 904 | 'rhetorical', 905 | 'rich', 906 | 'right', 907 | 'righteous', 908 | 'rightful', 909 | 'rigid', 910 | 'ripe', 911 | 'ritzy', 912 | 'roasted', 913 | 'robust', 914 | 'romantic', 915 | 'roomy', 916 | 'rooted', 917 | 'rosy', 918 | 'rotten', 919 | 'rough', 920 | 'round', 921 | 'royal', 922 | 'ruddy', 923 | 'rude', 924 | 'rugged', 925 | 'rural', 926 | 'rustic', 927 | 'ruthless', 928 | 'sable', 929 | 'sad', 930 | 'safe', 931 | 'salty', 932 | 'same', 933 | 'sassy', 934 | 'satisfying', 935 | 'saucy', 936 | 'savory', 937 | 'savvy', 938 | 'scandalous', 939 | 'scarce', 940 | 'scared', 941 | 'scary', 942 | 'scattered', 943 | 'scenic', 944 | 'scientific', 945 | 'scintillating', 946 | 'scrawny', 947 | 'screeching', 948 | 'second', 949 | 'secret', 950 | 'secretive', 951 | 'sedate', 952 | 'seemly', 953 | 'selective', 954 | 'selfish', 955 | 'sensitive', 956 | 'separate', 957 | 'serene', 958 | 'serious', 959 | 'shaggy', 960 | 'shaky', 961 | 'shallow', 962 | 'sharp', 963 | 'shiny', 964 | 'shivering', 965 | 'shocking', 966 | 'short', 967 | 'showy', 968 | 'shrewd', 969 | 'shrill', 970 | 'shut', 971 | 'shy', 972 | 'sick', 973 | 'silent', 974 | 'silky', 975 | 'silly', 976 | 'simple', 977 | 'simplistic', 978 | 'sincere', 979 | 'skillful', 980 | 'skinny', 981 | 'sleek', 982 | 'sleepy', 983 | 'slick', 984 | 'slim', 985 | 'slimy', 986 | 'slippery', 987 | 'sloppy', 988 | 'slow', 989 | 'small', 990 | 'smart', 991 | 'smelly', 992 | 'smiley', 993 | 'smiling', 994 | 'smoggy', 995 | 'smooth', 996 | 'snappy', 997 | 'snazzy', 998 | 'sneaky', 999 | 'snobbish', 1000 | 'snotty', 1001 | 'snowy', 1002 | 'snugly', 1003 | 'social', 1004 | 'soft', 1005 | 'soggy', 1006 | 'sole', 1007 | 'solid', 1008 | 'solitary', 1009 | 'somber', 1010 | 'sophisticated', 1011 | 'sordid', 1012 | 'sore', 1013 | 'sound', 1014 | 'sour', 1015 | 'spacial', 1016 | 'sparkling', 1017 | 'special', 1018 | 'spectacular', 1019 | 'spicy', 1020 | 'spiffy', 1021 | 'spiky', 1022 | 'spiritual', 1023 | 'spiteful', 1024 | 'splendid', 1025 | 'spooky', 1026 | 'spotless', 1027 | 'spotted', 1028 | 'spotty', 1029 | 'spry', 1030 | 'spurious', 1031 | 'squalid', 1032 | 'square', 1033 | 'squealing', 1034 | 'squeamish', 1035 | 'stable', 1036 | 'staking', 1037 | 'stale', 1038 | 'standing', 1039 | 'star', 1040 | 'stark', 1041 | 'statuesque', 1042 | 'steadfast', 1043 | 'steady', 1044 | 'steep', 1045 | 'stereotyped', 1046 | 'sticky', 1047 | 'stiff', 1048 | 'stimulating', 1049 | 'stingy', 1050 | 'stoic', 1051 | 'stormy', 1052 | 'straight', 1053 | 'strange', 1054 | 'striped', 1055 | 'strong', 1056 | 'stunning', 1057 | 'stupendous', 1058 | 'sturdy', 1059 | 'suave', 1060 | 'subdued', 1061 | 'subsequent', 1062 | 'substantial', 1063 | 'subtle', 1064 | 'successful', 1065 | 'succinct', 1066 | 'sudden', 1067 | 'sulky', 1068 | 'sunny', 1069 | 'sunset', 1070 | 'super', 1071 | 'superb', 1072 | 'superficial', 1073 | 'supreme', 1074 | 'sure', 1075 | 'swank', 1076 | 'swanky', 1077 | 'sweet', 1078 | 'swell', 1079 | 'sweltering', 1080 | 'swift', 1081 | 'symptomatic', 1082 | 'synonymous', 1083 | 'taboo', 1084 | 'tacit', 1085 | 'tacky', 1086 | 'talented', 1087 | 'tall', 1088 | 'tame', 1089 | 'tan', 1090 | 'tangible', 1091 | 'tangy', 1092 | 'tart', 1093 | 'tasteful', 1094 | 'tasteless', 1095 | 'tasty', 1096 | 'tawdry', 1097 | 'teal', 1098 | 'tearful', 1099 | 'tedious', 1100 | 'teeny', 1101 | 'telling', 1102 | 'temporary', 1103 | 'tender', 1104 | 'tense', 1105 | 'tenuous', 1106 | 'terrible', 1107 | 'terrific', 1108 | 'tested', 1109 | 'testy', 1110 | 'thankful', 1111 | 'therapeutic', 1112 | 'thin', 1113 | 'thinkable', 1114 | 'third', 1115 | 'thoughtful', 1116 | 'thoughtless', 1117 | 'threatening', 1118 | 'thriving', 1119 | 'thundering', 1120 | 'tidy', 1121 | 'timely', 1122 | 'tiny', 1123 | 'tired', 1124 | 'tiresome', 1125 | 'toothsome', 1126 | 'top', 1127 | 'tops', 1128 | 'torpid', 1129 | 'tough', 1130 | 'touted', 1131 | 'towering', 1132 | 'tranquil', 1133 | 'trashy', 1134 | 'tremendous', 1135 | 'tricky', 1136 | 'trim', 1137 | 'trite', 1138 | 'tropical', 1139 | 'troubled', 1140 | 'truculent', 1141 | 'true', 1142 | 'trusty', 1143 | 'truthful', 1144 | 'try', 1145 | 'typical', 1146 | 'ubiquitous', 1147 | 'ultra', 1148 | 'unable', 1149 | 'unaccountable', 1150 | 'unadvised', 1151 | 'unarmed', 1152 | 'unbecoming', 1153 | 'unbiased', 1154 | 'uncovered', 1155 | 'understood', 1156 | 'undisturbed', 1157 | 'unequal', 1158 | 'unequaled', 1159 | 'uneven', 1160 | 'unhealthy', 1161 | 'uninterested', 1162 | 'unique', 1163 | 'united', 1164 | 'unkempt', 1165 | 'unknown', 1166 | 'unnatural', 1167 | 'unruly', 1168 | 'unsightly', 1169 | 'unsuitable', 1170 | 'untidy', 1171 | 'unused', 1172 | 'unusual', 1173 | 'unwavering', 1174 | 'unwieldy', 1175 | 'unwritten', 1176 | 'upbeat', 1177 | 'uplifting', 1178 | 'uppity', 1179 | 'upset', 1180 | 'uptight', 1181 | 'urbane', 1182 | 'usable', 1183 | 'used', 1184 | 'useful', 1185 | 'utmost', 1186 | 'utopian', 1187 | 'utter', 1188 | 'uttermost', 1189 | 'vacuous', 1190 | 'vagabond', 1191 | 'vague', 1192 | 'valid', 1193 | 'valuable', 1194 | 'various', 1195 | 'vast', 1196 | 'vengeful', 1197 | 'venomous', 1198 | 'verdant', 1199 | 'versed', 1200 | 'vestal', 1201 | 'viable', 1202 | 'victorious', 1203 | 'vigorous', 1204 | 'violent', 1205 | 'violet', 1206 | 'vital', 1207 | 'vivacious', 1208 | 'vivid', 1209 | 'vocal', 1210 | 'vogue', 1211 | 'voiceless', 1212 | 'volatile', 1213 | 'voracious', 1214 | 'wacky', 1215 | 'waggish', 1216 | 'waiting', 1217 | 'wakeful', 1218 | 'wandering', 1219 | 'wanted', 1220 | 'wanting', 1221 | 'warlike', 1222 | 'warm', 1223 | 'wary', 1224 | 'wasteful', 1225 | 'watery', 1226 | 'weak', 1227 | 'wealthy', 1228 | 'weary', 1229 | 'wet', 1230 | 'whimsical', 1231 | 'whispering', 1232 | 'whole', 1233 | 'wholesale', 1234 | 'wicked', 1235 | 'wide', 1236 | 'wiggly', 1237 | 'wild', 1238 | 'willing', 1239 | 'windy', 1240 | 'winged', 1241 | 'wired', 1242 | 'wiry', 1243 | 'wise', 1244 | 'wistful', 1245 | 'witty', 1246 | 'woebegone', 1247 | 'wonderful', 1248 | 'wooden', 1249 | 'woozy', 1250 | 'workable', 1251 | 'worried', 1252 | 'worthy', 1253 | 'wrathful', 1254 | 'wretched', 1255 | 'wrong', 1256 | 'wry', 1257 | 'yielding', 1258 | 'young', 1259 | 'youthful', 1260 | 'yummy', 1261 | 'zany', 1262 | 'zealous', 1263 | 'zesty', 1264 | 'zippy', 1265 | 'zonked' ]; 1266 | --------------------------------------------------------------------------------